-
Notifications
You must be signed in to change notification settings - Fork 358
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merge GPU simulator feature branch into master #544
Conversation
c4bb032
to
cd3fc11
Compare
@atilag Something is wrong with the build system and the Thrust OpenMP is not being installed in CI with the appropriate flag (you can see in the travis that are supposed to test the Thrust OpenMP backend that the GPU tests are being skipped) |
Also mac travis jobs are failing because build log is too long (see issue #548 ) |
29d3da2
to
6406211
Compare
377198e
to
3aadf28
Compare
@atilag This still needs to be updated with:
|
803a624
to
c5aaec5
Compare
@atilag The OpenMP with Thrust on mac remains. I'm going to remove Thrust tests from travis for mac and make an issue so this PR can be merged and you can fix thrust CMake build as a followup |
c5aaec5
to
584d0e5
Compare
* Fix a build error with no Thrust support at all * Simplify flags so AER_DEBUG and AER_TIMING are both implicit to alredy existing DEBUG flag * No default Thrust backend. The Thrust backend needs to be explicitly specified via AER_THRUST_BACKEND build variable, e.g: ``` python ./setup.py bdist_wheel -- -DAER_THRUST_BACKEND=CUDA ``` * Some minor class renaming to comply with the CamelCase standard. * Adding missing symbols for libomp hack on MacOS, with older versions of clang (9) * Add Thrust cloning from github for the CIs * Add Thrust to CI tests stages to test Thrust CPU backends * Document new CMake variable to enable GPU support (and other CPU methods) Co-authored-by: Hiroshi Horii <horii@jp.ibm.com> Co-authored-by: Christopher J. Wood <cjwood@us.ibm.com>
Co-authored-by: Hiroshi Horii <horii@jp.ibm.com>
* Add method to statevector controller for cpu/gpu/thrust * Add explicit thrust cpu to qasm, statevector and unitary simulator * add AER_THRUST_CPU flag to cmake to distinguish between cuda and cpu thrust * avoid nested omp for single-gpu env and enable omp threshold for thrust-omp env Co-authored-by: Jun Doi <doichan@jp.ibm.com> Co-authored-by: Christopher J. Wood <cjwood@us.ibm.com>
* Added decorator for skipping test based on unavailable method * Add tests for Thrust GPU/CPU statevector simulator methods * Add tests for Thrust GPU/CPU unitary simulator methods * Add tests for Thrust GPU/CPU qasm simulator methods * Renamed test files to be consistent Co-authored-by: Hiroshi Horii <horii@jp.ibm.com>
…of nvcc The one provided by RedHat (CUDA 10) is affected. The problem was related to a bug in the compiler when dealing with const variables passed by reference to lambdas.
* Move controller headers to src/controllers * Move base State header to src/simulator * move src/simualtors/open_pulse to src/open_pulse * Update changelog for GPU backends
@atilag I fixed missing clang omp symbols on mac. This is ready to merge now. Cleaning up the CMakelists for CUDA and Thrust will still need to be done after merging. |
6269e8a
to
4550206
Compare
Summary
This is a rebase of the
gpu
feature branch to cleanup the commit history for merging into master.NOTE: It should be merge committed to preserve history from multiple authors rather than squashed.
Details and comments
Closes #511
Closes #512
Closes #513