Closed frankharkins closed 1 year ago
Hi Frank! I am unable to reproduce this issue on my Linux machine using Qiskit Nature 0.5.2 or latest main (e8befeb) with neither Qiskit IBM Runtime 0.8.0 or 0.9.0 (which seems to have been released 3 days ago). I also tested both Python 3.9 (my current default) and 3.10 which works fine, too.
In order to figure out what is going on here, can you please provide the exact error message which you encounter?
Yes it seems to be OS-dependent; I also couldn't reproduce on Linux.
I was hoping for a simple Python stacktrace from the terminal. But it looks like this happens during the PySCF computation.
You should try running PySCF on its own with and without importing qiskit_ibm_runtime
. If that errors, too, this is not an issue of Qiskit Nature.
I also suggest you add some DEBUG level loggers in order to identify in what part of the code exactly the failure occurs.
Unfortunately there is no stack trace as Python itself crashes. If I run in the terminal (with --log=DEBUG
) I get this message:
OMP: Error #15: Initializing libomp.dylib, but found libomp.dylib already initialized.
OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://openmp.llvm.org/
It runs fine if I remove the runtime import. My guess is maybe Qiskit Nature and Qiskit IBM Runtime both try to 'initialize libomp.dylib'? Looks similar to this issue https://github.com/Qiskit/qiskit-aer/issues/1.
Since Qiskit Nature and PySCF work fine without qiskit-ibm-runtime
involved this is not an issue on our side and rather an issue with that repo. As I suggested earlier, try to narrow down the issue by running PySCF without using the driver from Nature and see if the error persists. If it does, then Qiskit Nature is involved in this (but I find it unlikely since we never explicitly link to that library).
This issue raised on PySCF seems to show the same OMP problem https://github.com/pyscf/pyscf/issues/1561
Thanks Steve!
Closing this as a non-Qiskit Nature issue in that case :+1:
Environment
0.5.2
0.41.0
0.8.0
3.10.6
,3.8.13
What is happening?
Running the following code crashes the Python kernel. The problem only appears when I import
qiskit_ibm_runtime
first.How can we reproduce the issue?
Qiskit Nature code is from this tutorial.
EDIT: As a workaround, importing runtime after
driver.run()
seems to work fine.What should happen?
Code should run without crashing.
Any suggestions?
No response