Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add experimental support of cuQuantum (#1400)
* Add cuStateVec support Added support for cuQuantum, NVIDIA's APIs for quantum computing, to accelerate statevector, density matrix and unitary simulators by using GPUs. To include cuQuantum, custom build of Aer is necessary by setting path of cuQuantum library to CUSTATEVEC_ROOT (Binary distribution will be after official release of cuQuantum, which is now Beta 2 (0.1.0). cuStateVector of cuQuantum is enabled by setting device='GPU' and cuStateVec_threshold options. cuStateVec is enabled when number of qubits of input circuit is equal or greater than cuStateVec_threshold. Since cuQuantum is beta version, there are some limitations: - cuStateVec is not thread safe, multi-chunk parallelization (cache blocking) is done by single thread (slow) - Multi-shots parallelization is disabled (single thread, slow) - Multi-shots batched optimization is not support for cuStateVec Co-authored-by: Christopher J. Wood <cjwood@us.ibm.com> Co-authored-by: Hiroshi Horii <hhorii@users.noreply.github.com>
- Loading branch information
1 parent
8c400ca
commit db91e7d
Showing
26 changed files
with
5,214 additions
and
3,316 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13 changes: 13 additions & 0 deletions
13
releasenotes/notes/cuQuantum-support-d33abe5b1cb778a8.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- | ||
features: | ||
- | | ||
Added support for cuQuantum, NVIDIA's APIs for quantum computing, | ||
to accelerate statevector, density matrix and unitary simulators | ||
by using GPUs. | ||
This is experiemental implementation for cuQuantum Beta 2. (0.1.0) | ||
cuStateVec APIs are enabled to accelerate instead of Aer's implementations | ||
by building Aer by setting path of cuQuantum to ``CUSTATEVEC_ROOT``. | ||
(binary distribution is not available currently.) | ||
cuStateVector is enabled by setting ``device='GPU'`` and | ||
``cuStateVec_threshold`` options. cuStateVec is enabled when number of | ||
qubits of input circuit is equal or greater than ``cuStateVec_threshold``. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.