A quantum computing system for compiling and executing instructions on a quantum processor having a plurality of qubits, the system comprising: a classical memory including a quantum program, the quantum program defines a plurality of instructions in a source language; and a classical processor communicatively coupled to the classical memory, the memory including computer-executable instructions that, when executed by the classical processor, cause the classical processor to: compile the quantum program into logical assembly instructions in an intermediate language; aggregate the logical assembly instructions together into a plurality of logical blocks of instructions; generate a logical schedule for the quantum program based on commutativity between the plurality of logical blocks; generate a tentative physical schedule based on the logical schedule, the tentative physical schedule includes a mapping of the logical assembly instructions in the logical schedule onto the plurality of qubits of the quantum processor; aggregate instructions together within the tentative physical schedule that do not reduce parallelism, thereby generating an updated physical schedule; generate optimized control pulses for the aggregated instructions of the quantum program; and cause the quantum program to be executed on the quantum processor with the optimized control pulses and the updated physical schedule. a classical memory including a quantum program, the quantum program defines a plurality of instructions in a source language; and a classical processor communicatively coupled to the classical memory, the memory including computer-executable instructions that, when executed by the classical processor, cause the classical processor to: compile the quantum program into logical assembly instructions in an intermediate language; aggregate the logical assembly instructions together into a plurality of logical blocks of instructions; generate a logical schedule for the quantum program based on commutativity between the plurality of logical blocks; generate a tentative physical schedule based on the logical schedule, the tentative physical schedule includes a mapping of the logical assembly instructions in the logical schedule onto the plurality of qubits of the quantum processor; aggregate instructions together within the tentative physical schedule that do not reduce parallelism, thereby generating an updated physical schedule; generate optimized control pulses for the aggregated instructions of the quantum program; and cause the quantum program to be executed on the quantum processor with the optimized control pulses and the updated physical schedule. compile the quantum program into logical assembly instructions in an intermediate language; aggregate the logical assembly instructions together into a plurality of logical blocks of instructions; generate a logical schedule for the quantum program based on commutativity between the plurality of logical blocks; generate a tentative physical schedule based on the logical schedule, the tentative physical schedule includes a mapping of the logical assembly instructions in the logical schedule onto the plurality of qubits of the quantum processor; aggregate instructions together within the tentative physical schedule that do not reduce parallelism, thereby generating an updated physical schedule; generate optimized control pulses for the aggregated instructions of the quantum program; and cause the quantum program to be executed on the quantum processor with the optimized control pulses and the updated physical schedule.