-
Notifications
You must be signed in to change notification settings - Fork 71
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
Assertion failure when running the examples with MPI #38
Comments
Hi @wh5a , I was able to reproduce the error working in the "master" branch, but the problem seems to be fixed in branch "development". Working in branch "development". Gian |
@giangiac I did try the development branch. I believe this branch doesn't build the grover_4qubit example which is why I used the master branch. Also, in my comment I mentioned test_of_custom_gates had this problem as well. Were you able to reproduce it? |
@giangiac Could you kindly explain what LOOP_DN, LOOP_SN, and LOOP_TN do? |
@cangumeli @fbaru-dev @jwhogabo Would you be able to take a look? Thank you! |
@wh5a the LOOP_SN, LOOP_DN and LOOP_TN are functions to performed "nested for loops" that manually decide which of the loops is parallelized via OpenMP. They are used for the implementation of 1- and 2-qubit gates. LOOP_SN is actually a single for loop, DN a double loop, TN a triple loop. They also provide functionalities to record the time spent in executing the three kind of loops. |
Describe the bug
With 2-qubit gates, the buffer passed to the Loop_DN function may not be aligned and causes assertion failure.
To Reproduce
Steps to reproduce the behavior:
mpirun -np 2 /opt/intel-qs/examples/bin/grover_4qubit.exe
Additional context
Another example also has this behavior:
mpirun -np 2 /opt/intel-qs/examples/bin/test_of_custom_gates.exe 4
It seems single-qubit gates are fine and only two-qubit gates have this problem. In particular, the problem appeared in psig.ApplyCPhaseRotation() in the grover_4qubit example. I did some debugging and found the pointer was pointed to offset 0x80. I'm not sure if this is a real bug, or just the way I'm running it is wrong.
When I run with 4 processes, the pointer points to offset 0x40. When I run with 8 processes, the problem disappears again.
The text was updated successfully, but these errors were encountered: