We are developing and delivering an open-source computing, programming, and simulation environment that support the large diversity of quantum computing research at DOE
Components of project AIDE-QC
Our efforts focus on programming languages, compilers and verification and debugging of quantum simulations. All of this will be packaged in an integrated software development environment. QC has a broad need for optimization approaches, another cross-cutting effort in the project.

Scroll down for more details.
Programming Languages
AIDE-QC is advancing high-level programming models, languages and libraries for heterogeneous quantum/classical and quantum digital/analog computations. We are  extending the scope of native tools to enable a more versatile software ecosystem that is aware of multiple architecture and application contexts while expanding usability and adoption. We will also investigate programming patterns and data usage of common numerical and computational motifs that may be relevant to quantum problems. 
We are exploring the incorporation of circuit synthesis techniques into the quantum  programming  development toolkit. For NISQ devices, synthesis needs to  emphasize optimal 2-qubit gate count and processor topology awareness. We have several active directions of research: 1) domain specific synthesis; 2) incorporating synthesis into existing compilers for quantum circuits;  3) development of optimal  gate level techniques able to scale up to 32 qubits; and 4) development of pulse level synthesis techniques. 
Verification and Debugging
The Verification and Debugging (V&D) thrust is focused on developing methods for verification and debugging of quantum and hybrid quantum-classical programs. This includes techniques based on program analysis as well as lower-level verification and debugging of quantum circuit implementation of programs. The overall aim is to address the challenge of assessing the correctness and performance of  any implementation of a quantum algorithm. 
Optimization is a crosscutting thrust in AIDE-QC which aims to maximize quantum computing impact in resource-constrained NISQ-era systems. In AIDE-QC we are developing and applying numerical optimization algorithms throughout the quantum computer science stack.
Software Integration
The Software Integration Research Thrust is responsible for the overall design, implementation, integration, and deployment of the AIDE-QC holistic quantum-classical software stack. This Thrust interacts with the other Thrusts to influence design decisions, collaborate on concrete workflow component implementations, and ensure high-level usability of the infrastructure for relevant domain-specific scientific computing tasks. The stack design, implementation, and delivery should enable high-level quantum-classical programming, quantum compilation and translation, and backend execution on physical QPUs as well as scalable simulation technologies.