Skip to content
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

Cache block fix #5

Open
wants to merge 74 commits into
base: master
Choose a base branch
from
Open

Cache block fix #5

wants to merge 74 commits into from

Conversation

doichanj
Copy link
Owner

Summary

Details and comments

doichanj and others added 30 commits February 4, 2021 13:24
…iskit#788)

Added a new transpiler to parallelize simulators with multiple chunks to distribute on multiple GPUs or multiple processes of MPI. By using this, existing simulators can be parallelized by inserting some functions without considering the parallelization itself.

Co-authored-by: vvilpas <vvilpas@gmail.com>
Co-authored-by: Christopher J. Wood <cjwood@us.ibm.com>
)

Removed some direct calls to the numpy C API by using Pybind11 instead.
Pybind11 relies on python buffer protocol and does not depend on
numpy headers.

Co-authored-by: Christopher J. Wood <cjwood@us.ibm.com>
Co-authored-by: Jun Doi <doichan@jp.ibm.com>
…iskit#1143)

It seems that when forcing scikit-build to use Visual Studio 2019 through
CMAKE_GENERATOR env var, it is always asumming it is building for 64 bits,
even if you are working with Python 32 bits. More over, it doesn't honor the
CMAKE_GENERATOR_PLATFORM env variable, so no option to use the proper 32 bits
compiler. In this commit we check if we are in a Win 32 bit Python environment
and pass CMAKE_GENERATOR_PLATFORM=Win32 directly to CMake.
As C++ code no longer relies on Numpy C API, tehre is no
need to install it before CMake is run.
* Migrate windows CI to all be in github actions

This commit migrates the remaining windows CI away from using
azure-pipelines and unifies the configuration with the rest of the
supported operating systems in github actions. It also switches the
wheel building jobs away from using the custom for loop we used in azure
to leveraging cibuildwheel. This simplifies our CI configuration and
also removes CI resource contetion with terra which uses a shared queue
in azure.

* Fix bin path for windows in sdist jobs

* Remove manual epel step

* Fix aer sdist install and 32bit selection

* Add msbuild step to new jobs

* Try setting cmake generator via env var

* Split out win32 jobs

* Revert "Split out win32 jobs"

This reverts commit 51a8f67.

* Change python3 to python in GHA

Looks like in the window environment python3 was not
calling the virtualenv python, but the system one.

Co-authored-by: vvilpas <vvilpas@gmail.com>
Co-authored-by: Christopher J. Wood <cjwood@us.ibm.com>
vvilpas and others added 30 commits March 2, 2021 14:45
Fixes a bug in CopyIn/CopyOut operations where out of bounds array elemets
were accessed.
Qubitvector thrust has a number of qubits num_qubits. When move_to_vector or
copy_to_vector functions are called a temporary array or vector of size
(1 << num_qubits) is created and passed to chunk_ CopyOut function. There, a number
of elements (1 << chunk_qubits_) of the underlying structure are copied to
this array/vector. The problem is that chunk_qubits can be larger that num_qubits,
accessing values in the array or vector out of bounds. This is what was making
PR Qiskit#1132 failing in CI.
- The chunk objects hold a shared_ptr to a chunk_container and the chunk_container
holds shared_ptrs to the chunks. This creates a circular reference problem which
avoids the destructions of chunks and chunk_containers.

- Some override warnings fixed

- Set other AER::Vector size to zero when performing moving operations.

Co-authored-by: Christopher J. Wood <cjwood@us.ibm.com>
Co-authored-by: Victor Villar <vvilpas@gmail.com>
Co-authored-by: Christopher J. Wood <cjwood@us.ibm.com>
Co-authored-by: Jun Doi <doichan@jp.ibm.com>
* Disable all warnigns emitted from thrust headers

Thrust headers are included from chunk_container. Not all warnings could
be disabled for gcc with our usual method (because a known issue in
gcc). Thus, I've made a wrapper including all the needed thrust
libraries and set it as system header in the case of gcc, which really
disables all warnings.
* Remove deprecated x90 noise sampling
* Remove deprecated old style conditionals
Co-authored-by: Christopher J. Wood <cjwood@us.ibm.com>
Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
Co-authored-by: Christopher J. Wood <cjwood@us.ibm.com>
Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
Co-authored-by: Victor Villar <vvilpas@gmail.com>
Co-authored-by: Christopher J. Wood <cjwood@us.ibm.com>
Co-authored-by: Victor Villar <vvilpas@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.