XACC is a programming framework for extreme-scale, post-exascale accelerator architectures that integrates alongside existing conventional applications. It is a pluggable framework for programming languages and hardware developed for next-gen computing hardware architectures like quantum and neuromorphic computing. It lets computational scientists efficiently offload work to attached accelerators through user-friendly Kernel definitions. XACC makes post-exascale hybrid programming approachable for domain computational scientists.
XACC currently supports hybrid classical-quantum programming and enables the execution of quantum kernels on IBM, Rigetti, and D-Wave QPUs.
Users can choose a couple ways to install the framework - using Python/Pip
$ python -m pip install --user .
or CMake and Make without Python support
$ mkdir build && cd build
$ cmake ..
$ make install
or with Python support
$ export PY_INC_DIR=$(python -c "import sysconfig; print(sysconfig.get_paths()['platinclude'])")
$ cmake .. -DPYTHON_INCLUDE_DIR=$PY_INC_DIR
$ make install
Questions, bug reporting and issue tracking are provided by GitHub. Please report all bugs by creating a new issue with the bug tag. You can ask questions by creating a new issue with the question tag.
XACC is dual licensed - Eclipse Public License and Eclipse Distribution License.