haasad / PyPardiso

Python interface to the Intel MKL Pardiso library to solve large sparse linear systems of equations
BSD 3-Clause "New" or "Revised" License
133 stars 20 forks source link

The Pardiso solver failed with error code -3 #43

Closed sashahexe closed 2 years ago

sashahexe commented 2 years ago

Hello,

I am trying to solve PDE using a pyparadiso wrapper within the openPNM library. When I am trying to run my code I get:

`--------------------------------------------------------------------------- PyPardisoError Traceback (most recent call last) /home/sasha/Documents/Nextcloud/RESEARCH/openPNM/Geometry-and-diffusion-in-paper/Scripts/diffusion_trials/3D_transient_diff_react_mCT.ipynb Cell 28' in <cell line: 1>() ----> 1 tfd.run()

File ~/anaconda3/lib/python3.8/site-packages/openpnm/algorithms/TransientReactiveTransport.py:286, in TransientReactiveTransport.run(self, t) 284 t = self.settings['t_initial'] if t is None else t 285 self._update_iterative_props() --> 286 self._run_transient(t=t)

File ~/anaconda3/lib/python3.8/site-packages/openpnm/algorithms/TransientReactiveTransport.py:355, in TransientReactiveTransport._run_transient(self, t) 353 self._b_t = self._b.copy() 354 x_old = self[quantity] --> 355 self._t_run_reactive(x0=x_old) 356 x_new = self[quantity] 357 # Output transient solutions. Round time to ensure every 358 # value in outputs is exported.

File ~/anaconda3/lib/python3.8/site-packages/openpnm/algorithms/TransientReactiveTransport.py:412, in TransientReactiveTransport._t_run_reactive(self, x0) 410 logger.info(f'Tolerance not met: {res:.4e}') 411 # Solve, use relaxation, and update solution on algorithm obj --> 412 self[quantity] = x = self._solve(x0=x) w + x (1 - w) 413 # Check solution convergence after max_it iterations 414 if not self._is_converged():

File ~/anaconda3/lib/python3.8/site-packages/openpnm/algorithms/GenericTransport.py:621, in GenericTransport._solve(self, A, b, x0) 619 # Fetch solver object based on settings dict. 620 solver = self._get_solver() --> 621 x = solver(A, b, atol=atol, rtol=rtol, max_it=max_it, x0=x0) 623 # Check solution convergence 624 if not self._is_converged(x=x):

File ~/anaconda3/lib/python3.8/site-packages/openpnm/algorithms/GenericTransport.py:680, in GenericTransport._get_solver..solver(A, b, **kwargs) 676 r""" 677 Wrapper method for PyPardiso sparse linear solver. 678 """ 679 import pypardiso --> 680 x = pypardiso.spsolve(A=A, b=b) 681 return x

File ~/anaconda3/lib/python3.8/site-packages/pypardiso/scipy_aliases.py:46, in spsolve(A, b, factorize, squeeze, solver, *args, **kwargs) 44 solver._check_A(A) 45 if factorize and not solver._is_already_factorized(A): ---> 46 solver.factorize(A) 48 x = solver.solve(A, b) 50 if squeeze:

File ~/anaconda3/lib/python3.8/site-packages/pypardiso/pardiso_wrapper.py:150, in PyPardisoSolver.factorize(self, A) 148 self.set_phase(12) 149 b = np.zeros((A.shape[0], 1)) --> 150 self._call_pardiso(A, b)

File ~/anaconda3/lib/python3.8/site-packages/pypardiso/pardiso_wrapper.py:281, in PyPardisoSolver._call_pardiso(self, A, b) 263 self._mkl_pardiso(self.pt.ctypes.data_as(ctypes.POINTER(self._pt_type[0])), # pt 264 ctypes.byref(ctypes.c_int32(1)), # maxfct 265 ctypes.byref(ctypes.c_int32(1)), # mnum (...) 277 x.ctypes.data_as(c_float64_p), # x -> output 278 ctypes.byref(pardiso_error)) # pardiso error 280 if pardiso_error.value != 0: --> 281 raise PyPardisoError(pardiso_error.value) 282 else: 283 return np.ascontiguousarray(x)`

PyPardisoError: The Pardiso solver failed with error code -3. See Pardiso documentation for details.

Could you please give me a hint, what does the error with code -3 stand for?

Thank you!

Best regards, Alexandra

haasad commented 2 years ago

Can you please post the output of conda list of your conda environment? In the past this has happened when there was a mismatch between some of the dependecy versions, see e.g. https://github.com/haasad/PyPardisoProject/issues/36#issuecomment-1010993849 for an explanation. However this should be fixed now.

sashahexe commented 2 years ago

Hi, thanks for a quick response. Here is the list:

# packages in environment at /home/.../anaconda3:
#
# Name                    Version                   Build  Channel
_anaconda_depends         2020.07                  py38_0  
_ipyw_jlab_nb_ext_conf    0.1.0            py38h06a4308_1  
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                  2_kmp_llvm    conda-forge
absl-py                   0.11.0                   pypi_0    pypi
alabaster                 0.7.12                     py_0    conda-forge
anaconda                  custom                   py38_1  
anaconda-client           1.8.0              pyhd8ed1ab_0    conda-forge
anaconda-navigator        2.1.4            py38h06a4308_0  
anaconda-project          0.10.2             pyhd8ed1ab_0    conda-forge
anyio                     3.6.1            py38h578d9bd_0    conda-forge
aom                       3.3.0                h27087fc_1    conda-forge
argh                      0.26.2          pyh9f0ad1d_1002    conda-forge
argon2-cffi               21.3.0             pyhd8ed1ab_0    conda-forge
argon2-cffi-bindings      21.2.0           py38h0a891b7_2    conda-forge
arrow                     1.2.2              pyhd8ed1ab_0    conda-forge
asn1crypto                1.5.1              pyhd8ed1ab_0    conda-forge
astroid                   2.11.5           py38h578d9bd_0    conda-forge
astropy                   5.1              py38h71d37f0_0    conda-forge
asttokens                 2.0.5              pyhd8ed1ab_0    conda-forge
astunparse                1.6.3                    pypi_0    pypi
atomicwrites              1.4.0              pyh9f0ad1d_0    conda-forge
attrs                     21.4.0             pyhd8ed1ab_0    conda-forge
autopep8                  1.5.5              pyh44b312d_0    conda-forge
babel                     2.10.1             pyhd8ed1ab_0    conda-forge
backcall                  0.2.0              pyh9f0ad1d_0    conda-forge
backports                 1.0                        py_2    conda-forge
backports.functools_lru_cache 1.6.4              pyhd8ed1ab_0    conda-forge
backports.shutil_get_terminal_size 1.0.0                      py_3    conda-forge
beautifulsoup4            4.11.1             pyha770c72_0    conda-forge
binaryornot               0.4.4                      py_1    conda-forge
bitarray                  2.5.1            py38h0a891b7_0    conda-forge
bkcharts                  0.2                      py38_0  
black                     22.3.0             pyhd8ed1ab_0    conda-forge
blas                      1.0                         mkl  
bleach                    5.0.0              pyhd8ed1ab_0    conda-forge
blinker                   1.4                        py_1    conda-forge
blosc                     1.21.1               h83bc5f7_3    conda-forge
bokeh                     2.4.3            py38h578d9bd_0    conda-forge
boto                      2.49.0                     py_0    conda-forge
boto3                     1.24.4             pyhd8ed1ab_0    conda-forge
botocore                  1.27.4             pyhd8ed1ab_0    conda-forge
bottleneck                1.3.4            py38h71d37f0_1    conda-forge
bravado                   11.0.3             pyhd8ed1ab_0    conda-forge
bravado-core              5.17.0             pyh9f0ad1d_0    conda-forge
brotli                    1.0.9                h166bdaf_7    conda-forge
brotli-bin                1.0.9                h166bdaf_7    conda-forge
brotlipy                  0.7.0           py38h0a891b7_1004    conda-forge
brunsli                   0.1                  h9c3ff4c_0    conda-forge
bzip2                     1.0.8                h7f98852_4    conda-forge
c-ares                    1.18.1               h7f98852_0    conda-forge
c-blosc2                  2.1.1                h7a311fb_2    conda-forge
ca-certificates           2022.5.18.1          ha878542_0    conda-forge
cached-property           1.5.2                hd8ed1ab_1    conda-forge
cached_property           1.5.2              pyha770c72_1    conda-forge
cachetools                4.2.1                    pypi_0    pypi
cairo                     1.14.12              h8948797_3  
certifi                   2022.5.18.1      py38h578d9bd_0    conda-forge
cffi                      1.15.0           py38h3931269_0    conda-forge
cfitsio                   4.1.0                hd9d235c_0    conda-forge
chardet                   4.0.0            py38h578d9bd_3    conda-forge
charls                    2.3.4                h9c3ff4c_0    conda-forge
charset-normalizer        2.0.12             pyhd8ed1ab_0    conda-forge
chemicals                 1.1.1              pyhd8ed1ab_0    conda-forge
click                     8.1.3            py38h578d9bd_0    conda-forge
cloudpickle               2.1.0              pyhd8ed1ab_0    conda-forge
clyent                    1.2.2                      py_1    conda-forge
colorama                  0.4.4              pyh9f0ad1d_0    conda-forge
conda                     4.13.0           py38h578d9bd_1    conda-forge
conda-build               3.21.9           py38h578d9bd_0    conda-forge
conda-content-trust       0.1.3              pyhd8ed1ab_0    conda-forge
conda-env                 2.6.0                         1    conda-forge
conda-pack                0.7.0              pyh6c4a22f_0    conda-forge
conda-package-handling    1.8.1            py38h0a891b7_1    conda-forge
conda-repo-cli            1.0.4              pyhd3eb1b0_0  
conda-token               0.3.0              pyhd3eb1b0_0  
conda-verify              3.1.1           py38h578d9bd_1004    conda-forge
contextlib2               21.6.0             pyhd8ed1ab_0    conda-forge
cookiecutter              2.1.1              pyh6c4a22f_0    conda-forge
cryptography              37.0.2           py38h2b5fc30_0    conda-forge
curl                      7.83.1               h7bff187_0    conda-forge
cycler                    0.11.0             pyhd8ed1ab_0    conda-forge
cython                    0.29.30          py38hfa26641_0    conda-forge
cytoolz                   0.11.2           py38h0a891b7_2    conda-forge
dask                      2022.5.2           pyhd8ed1ab_0    conda-forge
dask-core                 2022.5.2           pyhd8ed1ab_0    conda-forge
dataclasses               0.8                pyhc8e2a94_3    conda-forge
dbus                      1.13.18              hb2f20db_0  
debugpy                   1.6.0            py38hfa26641_0    conda-forge
decorator                 5.1.1              pyhd8ed1ab_0    conda-forge
deepxde                   1.3.1              pyh5bcc5ed_0    conda-forge
defusedxml                0.7.1              pyhd8ed1ab_0    conda-forge
deprecated                1.2.13             pyh6c4a22f_0    conda-forge
diff-match-patch          20200713           pyh9f0ad1d_0    conda-forge
dill                      0.3.5.1            pyhd8ed1ab_0    conda-forge
distributed               2022.5.2           pyhd8ed1ab_0    conda-forge
docrep                    0.3.2              pyh44b312d_0    conda-forge
docutils                  0.18.1           py38h578d9bd_1    conda-forge
edt                       2.1.1            py38h1fd1430_1    conda-forge
entrypoints               0.4                pyhd8ed1ab_0    conda-forge
et_xmlfile                1.0.1                   py_1001    conda-forge
executing                 0.8.3              pyhd8ed1ab_0    conda-forge
expat                     2.2.10               h9c3ff4c_0    conda-forge
fastcache                 1.1.0            py38h0a891b7_4    conda-forge
filelock                  3.7.1              pyhd8ed1ab_0    conda-forge
flake8                    3.8.4                      py_0    conda-forge
flask                     2.1.2              pyhd8ed1ab_1    conda-forge
flatbuffers               2.0                      pypi_0    pypi
flatdict                  4.0.1              pyh9f0ad1d_0    conda-forge
flit-core                 3.7.1              pyhd8ed1ab_0    conda-forge
fluids                    1.0.21             pyh6c4a22f_0    conda-forge
fontconfig                2.13.1            hba837de_1005    conda-forge
fonttools                 4.33.3           py38h0a891b7_0    conda-forge
freetype                  2.10.4               h0708190_1    conda-forge
fribidi                   1.0.10               h36c2ea0_0    conda-forge
fsspec                    2022.5.0           pyhd8ed1ab_0    conda-forge
future                    0.18.2           py38h578d9bd_5    conda-forge
fuzzywuzzy                0.18.0             pyhd8ed1ab_0    conda-forge
gast                      0.3.3                    pypi_0    pypi
get_terminal_size         1.0.0                haa9412d_0  
gettext                   0.19.8.1          h73d1719_1008    conda-forge
gevent                    21.12.0          py38h0a891b7_1    conda-forge
giflib                    5.2.1                h36c2ea0_2    conda-forge
gitdb                     4.0.9              pyhd8ed1ab_0    conda-forge
gitpython                 3.1.27             pyhd8ed1ab_0    conda-forge
glib                      2.70.2               h780b84a_4    conda-forge
glib-tools                2.70.2               h780b84a_4    conda-forge
glob2                     0.7                        py_0    conda-forge
gmp                       6.2.1                h58526e2_0    conda-forge
gmpy2                     2.1.2            py38h8384b0a_0    conda-forge
google-auth               1.24.0                   pypi_0    pypi
google-auth-oauthlib      0.4.2                    pypi_0    pypi
google-pasta              0.2.0                    pypi_0    pypi
graphite2                 1.3.13            h58526e2_1001    conda-forge
graphviz                  2.38.0            hcf1ce16_1009    conda-forge
greenlet                  1.1.2            py38hfa26641_2    conda-forge
grpcio                    1.35.0                   pypi_0    pypi
gst-plugins-base          1.14.0               hbbd80ab_1  
gstreamer                 1.14.0               h28cd5cc_2  
h5py                      3.6.0           nompi_py38hfbb2109_100    conda-forge
harfbuzz                  1.8.8                hffaf4a1_0  
hdf5                      1.12.1          nompi_h2386368_104    conda-forge
heapdict                  1.0.1                      py_0    conda-forge
html5lib                  1.1                pyh9f0ad1d_0    conda-forge
icu                       58.2              hf484d3e_1000    conda-forge
idna                      3.3                pyhd8ed1ab_0    conda-forge
imagecodecs               2022.2.22        py38h43af60f_5    conda-forge
imageio                   2.19.3             pyhcf75d05_0    conda-forge
imagesize                 1.3.0              pyhd8ed1ab_0    conda-forge
importlib-metadata        4.11.4           py38h578d9bd_0    conda-forge
importlib_metadata        4.11.4               hd8ed1ab_0    conda-forge
importlib_resources       5.7.1              pyhd8ed1ab_1    conda-forge
inflection                0.5.1              pyh9f0ad1d_0    conda-forge
iniconfig                 1.1.1              pyh9f0ad1d_0    conda-forge
intel-openmp              2022.0.1          h06a4308_3633  
intervaltree              3.0.2                      py_0    conda-forge
ipykernel                 6.13.1           py38h7f3c49e_0    conda-forge
ipython                   8.4.0            py38h578d9bd_0    conda-forge
ipython_genutils          0.2.0                      py_1    conda-forge
ipywidgets                7.7.0              pyhd8ed1ab_0    conda-forge
isort                     5.10.1             pyhd8ed1ab_0    conda-forge
itsdangerous              2.1.2              pyhd8ed1ab_0    conda-forge
jbig                      2.1               h7f98852_2003    conda-forge
jdcal                     1.4.1                      py_0    conda-forge
jedi                      0.17.2           py38h578d9bd_2    conda-forge
jeepney                   0.8.0              pyhd8ed1ab_0    conda-forge
jinja2                    3.0.3              pyhd8ed1ab_0    conda-forge
jinja2-time               0.2.0              pyhd8ed1ab_3    conda-forge
jmespath                  1.0.0              pyhd8ed1ab_0    conda-forge
joblib                    1.1.0              pyhd8ed1ab_0    conda-forge
jpeg                      9e                   h166bdaf_1    conda-forge
json5                     0.9.5              pyh9f0ad1d_0    conda-forge
json_tricks               3.15.5             pyhd8ed1ab_0    conda-forge
jsonref                   0.2                        py_0    conda-forge
jsonschema                4.6.0              pyhd8ed1ab_0    conda-forge
jupyter                   1.0.0            py38h578d9bd_7    conda-forge
jupyter-contrib-core      0.3.3                    pypi_0    pypi
jupyter_client            7.3.3              pyhd8ed1ab_0    conda-forge
jupyter_console           6.4.3              pyhd8ed1ab_0    conda-forge
jupyter_contrib_core      0.3.3                      py_2    conda-forge
jupyter_contrib_nbextensions 0.5.1              pyhd8ed1ab_2    conda-forge
jupyter_core              4.10.0           py38h578d9bd_0    conda-forge
jupyter_highlight_selected_word 0.2.0           py38h578d9bd_1005    conda-forge
jupyter_latex_envs        1.4.6           pyhd8ed1ab_1002    conda-forge
jupyter_nbextensions_configurator 0.4.1            py38h578d9bd_2    conda-forge
jupyter_server            1.17.1             pyhd8ed1ab_0    conda-forge
jupyterlab                3.4.3              pyhd8ed1ab_0    conda-forge
jupyterlab_pygments       0.2.2              pyhd8ed1ab_0    conda-forge
jupyterlab_server         2.14.0             pyhd8ed1ab_0    conda-forge
jupyterlab_widgets        1.1.0              pyhd8ed1ab_0    conda-forge
jxrlib                    1.1                  h7f98852_2    conda-forge
keras                     2.8.0                    pypi_0    pypi
keras-preprocessing       1.1.2                    pypi_0    pypi
keyring                   23.5.1           py38h578d9bd_0    conda-forge
keyutils                  1.6.1                h166bdaf_0    conda-forge
kiwisolver                1.4.2            py38h43d8883_1    conda-forge
krb5                      1.19.3               h3790be6_0    conda-forge
lazy-object-proxy         1.7.1            py38h0a891b7_1    conda-forge
lcms2                     2.12                 hddcbb42_0    conda-forge
ld_impl_linux-64          2.36.1               hea4e1c9_2    conda-forge
lerc                      3.0                  h9c3ff4c_0    conda-forge
libaec                    1.0.6                h9c3ff4c_0    conda-forge
libarchive                3.5.2                hb890918_2    conda-forge
libavif                   0.10.1               h166bdaf_0    conda-forge
libblas                   3.9.0            12_linux64_mkl    conda-forge
libbrotlicommon           1.0.9                h166bdaf_7    conda-forge
libbrotlidec              1.0.9                h166bdaf_7    conda-forge
libbrotlienc              1.0.9                h166bdaf_7    conda-forge
libcblas                  3.9.0            12_linux64_mkl    conda-forge
libclang                  14.0.1                   pypi_0    pypi
libcurl                   7.83.1               h7bff187_0    conda-forge
libdeflate                1.10                 h7f98852_0    conda-forge
libedit                   3.1.20191231         he28a2e2_2    conda-forge
libev                     4.33                 h516909a_1    conda-forge
libffi                    3.4.2                h7f98852_5    conda-forge
libgcc-ng                 12.1.0              h8d9b700_16    conda-forge
libgfortran-ng            12.1.0              h69a702a_16    conda-forge
libgfortran5              12.1.0              hdcd56e2_16    conda-forge
libglib                   2.70.2               h174f98d_4    conda-forge
libiconv                  1.16                 h516909a_0    conda-forge
liblapack                 3.9.0            12_linux64_mkl    conda-forge
liblief                   0.11.5               h9c3ff4c_1    conda-forge
libllvm11                 11.1.0               hf817b99_3    conda-forge
libllvm9                  9.0.1           default_hc23dcda_7    conda-forge
libnghttp2                1.47.0               h727a467_0    conda-forge
libnsl                    2.0.0                h7f98852_0    conda-forge
libpng                    1.6.37               h21135ba_2    conda-forge
libsodium                 1.0.18               h36c2ea0_1    conda-forge
libspatialindex           1.9.3                h9c3ff4c_4    conda-forge
libssh2                   1.10.0               ha56f1ee_2    conda-forge
libstdcxx-ng              12.1.0              ha89aaad_16    conda-forge
libtiff                   4.4.0                h0fcbabc_0    conda-forge
libtool                   2.4.6             h9c3ff4c_1008    conda-forge
libuuid                   2.32.1            h7f98852_1000    conda-forge
libuv                     1.43.0               h7f98852_0    conda-forge
libwebp                   1.2.2                h3452ae3_0    conda-forge
libwebp-base              1.2.2                h7f98852_1    conda-forge
libxcb                    1.13              h7f98852_1004    conda-forge
libxml2                   2.9.14               h74e7548_0  
libxslt                   1.1.35               h4e12654_0  
libzlib                   1.2.12               h166bdaf_0    conda-forge
libzopfli                 1.0.3                h9c3ff4c_0    conda-forge
llvm-openmp               14.0.4               he0ac6c6_0    conda-forge
llvmlite                  0.38.1           py38h38d86a4_0    conda-forge
locket                    1.0.0              pyhd8ed1ab_0    conda-forge
loguru                    0.6.0            py38h578d9bd_1    conda-forge
lxml                      4.9.0            py38h0a891b7_0    conda-forge
lz4                       4.0.0            py38h1bf946c_2    conda-forge
lz4-c                     1.9.3                h9c3ff4c_1    conda-forge
lzo                       2.10              h516909a_1000    conda-forge
markdown                  3.3.3                    pypi_0    pypi
markupsafe                2.1.1            py38h0a891b7_1    conda-forge
matplotlib                3.5.2            py38h578d9bd_0    conda-forge
matplotlib-base           3.5.2            py38h826bfd8_0    conda-forge
matplotlib-inline         0.1.3              pyhd8ed1ab_0    conda-forge
mccabe                    0.6.1                      py_1    conda-forge
mistune                   0.8.4           py38h497a2fe_1005    conda-forge
mkl                       2021.4.0           h8d4b97c_729    conda-forge
mkl-service               2.4.0            py38h95df7f1_0    conda-forge
mkl_fft                   1.3.1            py38h8666266_1    conda-forge
mkl_random                1.2.2            py38h1abd341_0    conda-forge
mock                      4.0.3            py38h578d9bd_3    conda-forge
monotonic                 1.5                        py_0    conda-forge
more-itertools            8.13.0             pyhd8ed1ab_0    conda-forge
mpc                       1.2.1                h9f54685_0    conda-forge
mpfr                      4.1.0                h9202a9a_1    conda-forge
mpmath                    1.2.1              pyhd8ed1ab_0    conda-forge
msgpack-python            1.0.4            py38h43d8883_0    conda-forge
multipledispatch          0.6.0                      py_0    conda-forge
munkres                   1.1.4              pyh9f0ad1d_0    conda-forge
mypy_extensions           0.4.3            py38h578d9bd_5    conda-forge
navigator-updater         0.2.1                    py38_1  
nbclassic                 0.3.7              pyhd8ed1ab_0    conda-forge
nbclient                  0.6.4              pyhd8ed1ab_1    conda-forge
nbconvert                 6.5.0              pyhd8ed1ab_0    conda-forge
nbconvert-core            6.5.0              pyhd8ed1ab_0    conda-forge
nbconvert-pandoc          6.5.0              pyhd8ed1ab_0    conda-forge
nbformat                  5.4.0              pyhd8ed1ab_0    conda-forge
ncurses                   6.3                  h27087fc_1    conda-forge
neptune-client            0.16.2             pyhd8ed1ab_0    conda-forge
nest-asyncio              1.5.5              pyhd8ed1ab_0    conda-forge
networkx                  2.8.3              pyhd8ed1ab_0    conda-forge
nltk                      3.6.7              pyhd8ed1ab_0    conda-forge
nose                      1.3.7                   py_1006    conda-forge
notebook                  6.4.12             pyha770c72_0    conda-forge
notebook-shim             0.1.0              pyhd8ed1ab_0    conda-forge
npzviewer                 0.2.0                    pypi_0    pypi
numba                     0.55.1           py38hdc3674a_1    conda-forge
numexpr                   2.8.1            py38h6abb31d_0  
numpy                     1.21.5           py38h6c91a56_3  
numpy-base                1.21.5           py38ha15fc14_3  
numpy-stl                 2.16.3           py38h71d37f0_3    conda-forge
numpydoc                  1.3.1              pyhd8ed1ab_0    conda-forge
oauthlib                  3.1.0                    pypi_0    pypi
olefile                   0.46               pyh9f0ad1d_1    conda-forge
openjpeg                  2.4.0                hb52868f_1    conda-forge
openpnm                   2.8.2              pyhd8ed1ab_0    conda-forge
openpyxl                  3.0.9              pyhd8ed1ab_0    conda-forge
openssl                   1.1.1o               h166bdaf_0    conda-forge
opt-einsum                3.3.0                    pypi_0    pypi
packaging                 21.3               pyhd8ed1ab_0    conda-forge
pandas                    1.4.2            py38h47df419_1    conda-forge
pandoc                    2.18                 ha770c72_0    conda-forge
pandocfilters             1.5.0              pyhd8ed1ab_0    conda-forge
pango                     1.40.14              he752989_2    conda-forge
parso                     0.7.0                      py_0  
partd                     1.2.0              pyhd8ed1ab_0    conda-forge
patchelf                  0.14.5               h58526e2_0    conda-forge
path                      16.4.0           py38h578d9bd_1    conda-forge
path.py                   12.5.0                        0    conda-forge
pathlib2                  2.3.7.post1      py38h578d9bd_1    conda-forge
pathspec                  0.9.0              pyhd8ed1ab_0    conda-forge
pathtools                 0.1.2                      py_1    conda-forge
patsy                     0.5.2              pyhd8ed1ab_0    conda-forge
pcre                      8.45                 h9c3ff4c_0    conda-forge
pep8                      1.7.1                      py_0    conda-forge
pexpect                   4.8.0              pyh9f0ad1d_2    conda-forge
pickleshare               0.7.5                   py_1003    conda-forge
pillow                    9.1.1            py38h0ee0e06_1    conda-forge
pint                      0.19.2             pyhd8ed1ab_0    conda-forge
pip                       22.1.2             pyhd8ed1ab_0    conda-forge
pixman                    0.40.0               h36c2ea0_0    conda-forge
pkginfo                   1.8.2              pyhd8ed1ab_0    conda-forge
platformdirs              2.5.1              pyhd8ed1ab_0    conda-forge
pluggy                    1.0.0            py38h578d9bd_3    conda-forge
ply                       3.11                       py_1    conda-forge
porespy                   2.1              py38h578d9bd_1    conda-forge
prometheus_client         0.14.1             pyhd8ed1ab_0    conda-forge
prompt-toolkit            3.0.29             pyha770c72_0    conda-forge
prompt_toolkit            3.0.29               hd8ed1ab_0    conda-forge
protobuf                  3.14.0                   pypi_0    pypi
psutil                    5.9.1            py38h0a891b7_0    conda-forge
pthread-stubs             0.4               h36c2ea0_1001    conda-forge
ptyprocess                0.7.0              pyhd3deb0d_0    conda-forge
pure_eval                 0.2.2              pyhd8ed1ab_0    conda-forge
py                        1.11.0             pyh6c4a22f_0    conda-forge
py-lief                   0.11.5           py38h709712a_1    conda-forge
pyaml                     21.10.1            pyhd8ed1ab_0    conda-forge
pyasn1                    0.4.8                    pypi_0    pypi
pyasn1-modules            0.2.8                    pypi_0    pypi
pycodestyle               2.6.0              pyh9f0ad1d_0    conda-forge
pycosat                   0.6.3           py38h0a891b7_1010    conda-forge
pycparser                 2.21               pyhd8ed1ab_0    conda-forge
pycurl                    7.45.1           py38h61f0cdf_1    conda-forge
pydocstyle                6.1.1              pyhd8ed1ab_0    conda-forge
pydotplus                 2.0.2                      py_2    conda-forge
pyerfa                    2.0.0.1          py38h71d37f0_2    conda-forge
pyevtk                    1.5.0              pyh8a188c0_0    conda-forge
pyflakes                  2.2.0              pyh9f0ad1d_0    conda-forge
pygments                  2.12.0             pyhd8ed1ab_0    conda-forge
pyjwt                     2.4.0              pyhd8ed1ab_0    conda-forge
pylint                    2.14.1             pyhd8ed1ab_0    conda-forge
pyls-black                0.4.6              pyh9f0ad1d_0    conda-forge
pyls-spyder               0.3.2              pyhd3eb1b0_0  
pyodbc                    4.0.32           py38h709712a_1    conda-forge
pyopenssl                 22.0.0             pyhd8ed1ab_0    conda-forge
pypardiso                 0.4.1              pyhd8ed1ab_0    conda-forge
pyparsing                 3.0.9              pyhd8ed1ab_0    conda-forge
pyqt                      5.9.2            py38h05f1152_4  
pyqt5                     5.12.1                   pypi_0    pypi
pyqt5-qt5                 5.15.2                   pypi_0    pypi
pyqt5-sip                 4.19.19                  pypi_0    pypi
pyqtwebengine             5.12.1                   pypi_0    pypi
pyqtwebengine-qt5         5.15.2                   pypi_0    pypi
pyrsistent                0.18.1           py38h0a891b7_1    conda-forge
pysocks                   1.7.1            py38h578d9bd_5    conda-forge
pytables                  3.7.0            py38hdb04529_0    conda-forge
pytest                    7.1.2            py38h578d9bd_0    conda-forge
python                    3.8.13          h582c2e5_0_cpython    conda-forge
python-dateutil           2.8.2              pyhd8ed1ab_0    conda-forge
python-fastjsonschema     2.15.3             pyhd8ed1ab_0    conda-forge
python-graphviz           0.16               pyhd3eb1b0_1  
python-jsonrpc-server     0.4.0              pyh9f0ad1d_0    conda-forge
python-language-server    0.36.2             pyhd8ed1ab_0    conda-forge
python-levenshtein        0.12.2           py38h0a891b7_2    conda-forge
python-libarchive-c       4.0              py38h578d9bd_1    conda-forge
python-slugify            6.1.2              pyhd8ed1ab_0    conda-forge
python-utils              3.3.3              pyhd8ed1ab_0    conda-forge
python_abi                3.8                      2_cp38    conda-forge
pytz                      2022.1             pyhd8ed1ab_0    conda-forge
pywavelets                1.3.0            py38h71d37f0_1    conda-forge
pyxdg                     0.28               pyhd8ed1ab_0    conda-forge
pyyaml                    6.0              py38h0a891b7_4    conda-forge
pyzmq                     23.1.0           py38hfc09fa9_0    conda-forge
qdarkstyle                3.0.2              pyhd3eb1b0_0  
qstylizer                 0.2.1              pyhd8ed1ab_0    conda-forge
qt                        5.9.7                h5867ecd_1  
qtawesome                 1.1.1              pyhd8ed1ab_0    conda-forge
qtconsole                 5.3.1              pyhd8ed1ab_0    conda-forge
qtconsole-base            5.3.1              pyha770c72_0    conda-forge
qtpy                      2.1.0              pyhd8ed1ab_0    conda-forge
randomcolor               0.4.4.5                  pypi_0    pypi
readline                  8.1                  h46c0cb4_0    conda-forge
regex                     2022.6.2         py38h0a891b7_0    conda-forge
requests                  2.27.1             pyhd8ed1ab_0    conda-forge
requests-oauthlib         1.3.0                    pypi_0    pypi
ripgrep                   13.0.0               h2f28480_2    conda-forge
rise                      5.7.1                    pypi_0    pypi
rope                      1.1.1              pyhd8ed1ab_0    conda-forge
rsa                       4.7                      pypi_0    pypi
rtree                     1.0.0            py38h02d302b_1    conda-forge
ruamel_yaml               0.15.80         py38h0a891b7_1007    conda-forge
s3transfer                0.6.0              pyhd8ed1ab_0    conda-forge
scikit-fmm                2022.3.26        py38h47df419_1    conda-forge
scikit-image              0.19.2           py38h43a58ef_0    conda-forge
scikit-learn              0.23.1                   pypi_0    pypi
scikit-optimize           0.9.0              pyhd8ed1ab_1    conda-forge
scipy                     1.4.1                    pypi_0    pypi
seaborn                   0.11.2               hd8ed1ab_0    conda-forge
seaborn-base              0.11.2             pyhd8ed1ab_0    conda-forge
secretstorage             3.3.2            py38h578d9bd_1    conda-forge
send2trash                1.8.0              pyhd8ed1ab_0    conda-forge
setuptools                62.3.3           py38h578d9bd_0    conda-forge
simplegeneric             0.8.1                      py_1    conda-forge
simplejson                3.17.6           py38h0a891b7_1    conda-forge
singledispatch            3.6.1              pyh44b312d_0    conda-forge
sip                       4.19.13          py38h295c915_0  
six                       1.16.0             pyh6c4a22f_0    conda-forge
smmap                     3.0.5              pyh44b312d_0    conda-forge
snappy                    1.1.9                hbd366e4_1    conda-forge
sniffio                   1.2.0            py38h578d9bd_3    conda-forge
snowballstemmer           2.2.0              pyhd8ed1ab_0    conda-forge
sortedcollections         2.1.0              pyhd8ed1ab_0    conda-forge
sortedcontainers          2.4.0              pyhd8ed1ab_0    conda-forge
soupsieve                 2.3.1              pyhd8ed1ab_0    conda-forge
sphinx                    5.0.1              pyh6c4a22f_0    conda-forge
sphinxcontrib             1.0                      py38_1  
sphinxcontrib-applehelp   1.0.2                      py_0    conda-forge
sphinxcontrib-devhelp     1.0.2                      py_0    conda-forge
sphinxcontrib-htmlhelp    2.0.0              pyhd8ed1ab_0    conda-forge
sphinxcontrib-jsmath      1.0.1                      py_0    conda-forge
sphinxcontrib-qthelp      1.0.3                      py_0    conda-forge
sphinxcontrib-serializinghtml 1.1.5              pyhd8ed1ab_2    conda-forge
sphinxcontrib-websupport  1.2.4              pyhd8ed1ab_1    conda-forge
spyder                    5.0.5            py38h06a4308_2  
spyder-kernels            2.0.5            py38h06a4308_0  
sqlalchemy                1.4.37           py38h0a891b7_0    conda-forge
sqlite                    3.38.5               h4ff8645_0    conda-forge
stack_data                0.2.0              pyhd8ed1ab_0    conda-forge
statsmodels               0.13.2           py38h6c62de6_0    conda-forge
swagger-spec-validator    2.7.4              pyhd8ed1ab_0    conda-forge
sympy                     1.10.1           py38h578d9bd_0    conda-forge
tbb                       2021.5.0             h924138e_1    conda-forge
tblib                     1.7.0              pyhd8ed1ab_0    conda-forge
tensorboard               2.8.0                    pypi_0    pypi
tensorboard-data-server   0.6.1                    pypi_0    pypi
tensorboard-plugin-wit    1.8.0                    pypi_0    pypi
tensorflow                2.8.0                    pypi_0    pypi
tensorflow-estimator      2.2.0                    pypi_0    pypi
tensorflow-io-gcs-filesystem 0.25.0                   pypi_0    pypi
termcolor                 1.1.0                    pypi_0    pypi
terminado                 0.15.0           py38h578d9bd_0    conda-forge
terminaltables            3.1.10             pyhd8ed1ab_0    conda-forge
testpath                  0.6.0              pyhd8ed1ab_0    conda-forge
text-unidecode            1.3                        py_0    conda-forge
textdistance              4.2.2              pyhd8ed1ab_0    conda-forge
tf-estimator-nightly      2.8.0.dev2021122109          pypi_0    pypi
threadpoolctl             3.1.0              pyh8a188c0_0    conda-forge
three-merge               0.1.1              pyh9f0ad1d_0    conda-forge
tifffile                  2022.5.4           pyhd8ed1ab_0    conda-forge
tinycss2                  1.1.1              pyhd8ed1ab_0    conda-forge
tk                        8.6.12               h27826a3_0    conda-forge
toml                      0.10.2             pyhd8ed1ab_0    conda-forge
tomli                     2.0.1              pyhd8ed1ab_0    conda-forge
tomlkit                   0.11.0             pyha770c72_0    conda-forge
toolz                     0.11.2             pyhd8ed1ab_0    conda-forge
tornado                   6.1              py38h0a891b7_3    conda-forge
tqdm                      4.64.0             pyhd8ed1ab_0    conda-forge
traitlets                 5.2.2.post1        pyhd8ed1ab_0    conda-forge
transforms3d              0.3.1                      py_0    conda-forge
trimesh                   3.12.0             pyh6c4a22f_0    conda-forge
typed-ast                 1.5.4            py38h0a891b7_0    conda-forge
typing                    3.10.0.0           pyhd8ed1ab_0    conda-forge
typing-extensions         4.2.0                hd8ed1ab_1    conda-forge
typing_extensions         4.2.0              pyha770c72_1    conda-forge
ujson                     5.3.0            py38hfa26641_0    conda-forge
unicodecsv                0.14.1                     py_1    conda-forge
unicodedata2              14.0.0           py38h0a891b7_1    conda-forge
unidecode                 1.3.4              pyhd8ed1ab_0    conda-forge
unixodbc                  2.3.10               h583eb01_0    conda-forge
urllib3                   1.26.9             pyhd8ed1ab_0    conda-forge
watchdog                  2.1.8            py38h578d9bd_1    conda-forge
wcwidth                   0.2.5              pyh9f0ad1d_2    conda-forge
webencodings              0.5.1                      py_1    conda-forge
websocket-client          1.3.2              pyhd8ed1ab_0    conda-forge
werkzeug                  2.1.2              pyhd8ed1ab_1    conda-forge
wheel                     0.37.1             pyhd8ed1ab_0    conda-forge
widgetsnbextension        3.6.0            py38h578d9bd_0    conda-forge
wrapt                     1.14.1           py38h0a891b7_0    conda-forge
wurlitzer                 3.0.2              pyhd8ed1ab_2    conda-forge
xlrd                      2.0.1              pyhd8ed1ab_3    conda-forge
xlsxwriter                3.0.3              pyhd8ed1ab_0    conda-forge
xlwt                      1.3.0                      py_1    conda-forge
xorg-kbproto              1.0.7             h7f98852_1002    conda-forge
xorg-libice               1.0.10               h7f98852_0    conda-forge
xorg-libsm                1.2.3             hd9c2040_1000    conda-forge
xorg-libx11               1.7.2                h7f98852_0    conda-forge
xorg-libxau               1.0.9                h7f98852_0    conda-forge
xorg-libxdmcp             1.1.3                h7f98852_0    conda-forge
xorg-libxext              1.3.4                h7f98852_1    conda-forge
xorg-libxpm               3.5.13               h7f98852_0    conda-forge
xorg-libxrender           0.9.10            h7f98852_1003    conda-forge
xorg-libxt                1.2.1                h7f98852_2    conda-forge
xorg-renderproto          0.11.1            h7f98852_1002    conda-forge
xorg-xextproto            7.3.0             h7f98852_1002    conda-forge
xorg-xproto               7.0.31            h7f98852_1007    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
yaml                      0.2.5                h7f98852_2    conda-forge
yapf                      0.32.0             pyhd8ed1ab_0    conda-forge
zeromq                    4.3.4                h9c3ff4c_1    conda-forge
zfp                       0.5.5                h9c3ff4c_8    conda-forge
zict                      2.2.0              pyhd8ed1ab_0    conda-forge
zipp                      3.8.0              pyhd8ed1ab_0    conda-forge
zlib                      1.2.12               h166bdaf_0    conda-forge
zlib-ng                   2.0.6                h166bdaf_0    conda-forge
zope                      1.0                      py38_1  
zope.event                4.5.0              pyh9f0ad1d_0    conda-forge
zope.interface            5.4.0            py38h0a891b7_2    conda-forge
zstd                      1.5.2                h8a70e8d_1    conda-forge
haasad commented 2 years ago

First of all, I highly suggest you look into conda environments. In my experience installing everything into the anaconda base environment will eventually break something because the dependency resolution becomes so complex.

The problematic packages in your environment are the following:

intel-openmp              2022.0.1          h06a4308_3633  
....
mkl                       2021.4.0           h8d4b97c_729    conda-forge

Mixing numeric libraries from the defaults and the conda-forge channel can lead to problems, also to my knowledge those two versions are incompatible.

I'd suggest to try it first in a new conda environemnt. Something like (add other dependencies as needed):

conda create -c conda-forge -n <your-env-name> openpnm pypardiso
conda activate <your-env-name>

Maybe you can also fix your current environment with something like:

conda install -c conda-forge openmp=2022 mkl=2022

But with the amount of packages you have installed, this could potentially break some other package.

sashahexe commented 2 years ago

Thank you, Adrian, very much for your advice! Indeed you are right about my clumsy conda base. Setting up the new env solved the problem like a charm.

SanPen commented 10 months ago

Sorry to comment on a closed issue, but I'm having the same problem but with a regular python environment.

Is there any advice on openmp and mkl version compatibility?

Thanks.

haasad commented 10 months ago

Hi @SanPen

generally speaking the major version of mkl and openmp should match, e.g. both should be 2023.*.

Can you give me some more details of the environment where you see this problem? What operating system? What kind of virtual env? Output of pip list?

There's also more context in #36

SanPen commented 10 months ago

Hi,

I'm on python 3.11, x64, ubuntu 22.04

Package                       Version
----------------------------- ---------
absl-py                       1.4.0
alabaster                     0.7.13
asttokens                     2.2.1
autoapi                       2.0.1
Babel                         2.12.1
backcall                      0.2.0
bleach                        6.0.0
certifi                       2023.5.7
cffi                          1.15.1
chardet                       5.1.0
charset-normalizer            3.2.0
cloudpickle                   2.2.1
comm                          0.1.3
contourpy                     1.1.0
cramjam                       2.6.2
cryptography                  41.0.3
cvxopt                        1.3.2
cycler                        0.11.0
Cython                        0.29.35
darkdetect                    0.7.1
DataProperty                  1.0.1
debugpy                       1.6.7
decorator                     5.1.1
dill                          0.3.6
docutils                      0.18.1
et-xmlfile                    1.1.0
executing                     1.2.0
fastparquet                   2023.4.0
fonttools                     4.40.0
fsspec                        2023.6.0
future                        0.18.3
geographiclib                 2.0
geopy                         2.3.0
gurobi-optimods               1.1.0
gurobipy                      10.0.2
gurobipy-pandas               1.0.0
h5py                          3.8.0
hyperopt                      0.2.7
idna                          3.4
imagesize                     1.4.1
importlib-metadata            6.8.0
iniconfig                     2.0.0
intel-openmp                  2023.2.0
ipykernel                     6.23.2
ipython                       8.14.0
ipython-genutils              0.2.0
jaraco.classes                3.3.0
jedi                          0.18.2
jeepney                       0.8.0
Jinja2                        3.1.2
joblib                        1.2.0
jupyter_client                8.4.0
jupyter_core                  5.4.0
keyring                       24.2.0
kiwisolver                    1.4.4
llvmlite                      0.40.1rc1
markdown-it-py                3.0.0
MarkupSafe                    2.1.3
matplotlib                    3.7.1
matplotlib-inline             0.1.6
mbstrdecoder                  1.1.3
mdurl                         0.1.2
meteostat                     1.6.5
mkl                           2023.2.0
more-itertools                10.1.0
nest-asyncio                  1.5.6
networkx                      3.1
newtonpa                      2.1.9
newtonpa                      2.1.8
newtonpa                      2.1.10
newtonpa                      2.1.11
newtonpa                      2.1.11
nose                          1.3.7
nptyping                      2.5.0
numba                         0.57.0
numpy                         1.24.3
openpyxl                      3.1.2
ortools                       9.7.2996
packaging                     23.1
pandas                        2.0.2
parso                         0.8.3
pathvalidate                  3.1.0
pexpect                       4.8.0
pickleshare                   0.7.5
Pillow                        9.5.0
pip                           22.3.1
pkginfo                       1.9.6
platformdirs                  3.5.3
pluggy                        1.0.0
POAP                          0.1.26
prompt-toolkit                3.0.38
protobuf                      4.24.4
psutil                        5.9.5
ptyprocess                    0.7.0
pure-eval                     0.2.2
pvlib                         0.10.1
py4j                          0.10.9.7
pyarrow                       12.0.1
pycparser                     2.21
pyDOE                         0.3.8
pyDOE2                        1.3.0
Pygments                      2.15.1
pypardiso                     0.4.3
pyparsing                     3.0.9
pyproj                        3.6.0
pyqtdarktheme                 2.1.0
PySide6                       6.5.3
PySide6-Addons                6.5.3
PySide6-Essentials            6.5.3
pySOT                         0.3.3
pytablewriter                 1.0.0
pytest                        7.3.2
python-dateutil               2.8.2
pytz                          2023.3
pyzmq                         25.1.0
qtconsole                     5.4.3
QtPy                          2.3.1
readme-renderer               41.0
requests                      2.31.0
requests-toolbelt             1.0.0
rfc3986                       2.0.0
rich                          13.5.2
scikit-learn                  1.2.2
scipy                         1.10.1
SecretStorage                 3.3.3
setuptools                    65.5.1
shiboken6                     6.5.3
six                           1.16.0
snowballstemmer               2.2.0
Sphinx                        6.2.1
sphinx-bootstrap-theme        0.8.1
sphinx-rtd-theme              1.2.2
sphinxcontrib-applehelp       1.0.7
sphinxcontrib-devhelp         1.0.5
sphinxcontrib-htmlhelp        2.0.4
sphinxcontrib-jquery          4.1
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          1.0.6
sphinxcontrib-serializinghtml 1.1.9
stack-data                    0.6.2
tabledata                     1.3.1
tbb                           2021.10.0
tcolorpy                      0.1.3
threadpoolctl                 3.1.0
tornado                       6.3.2
tqdm                          4.65.0
traitlets                     5.9.0
twine                         4.0.2
typepy                        1.3.1
tzdata                        2023.3
urllib3                       2.0.3
wcwidth                       0.2.6
webencodings                  0.5.1
wheel                         0.38.4
windpowerlib                  0.2.1
xlrd                          2.0.1
xlwt                          1.3.0
zipp                          3.16.2

The issues arose, when running this benchmark.

haasad commented 10 months ago

I modified your benchmark script and ran it in a venv with GridCal's requirements.txt installed + pypardiso and it ran without issue on my machine (ubuntu 20.04).

import time                                                                         
import numpy as np                                                                  
import scipy.sparse as sp                                                           
import pypardiso as pp                                                              

np.random.seed(0)                                                                   
n = 4000                                                                            
repetitions=50                                                                      

start = time.time()                                                                 
for r in range(repetitions):                                                        
    A = sp.csr_matrix(sp.rand(n, n, 0.01)) + sp.diags(np.random.rand(n) * 10.0, shape=(n, n))                                                                           
    b = np.random.rand(n)                                                           
    x = pp.spsolve(A, b)                                                            
end = time.time()                                                                   
dt = end - start                                                                    

print('pardiso', '  total', dt, 's, average:', dt / repetitions, 's')

Does this script also produce the error on your machine?

If yes, could you please create a separate venv with only pypardiso and run it there as well? Something like:

python -m venv issue43
source ./issue43/bin/activate
pip install pypardiso
SanPen commented 10 months ago

Hi!

The example still fails for me, both with the old environment and with a fresh one :(

Note that the random matrix example from my benchmark fails but the one with the electrical example works

haasad commented 10 months ago

what CPU do you have? -> lscpu

SanPen commented 10 months ago

AMD Ryzen 9 5950X 16-Core Processor

I have just noticed that the runs crash at random points in the for loop. Sometimes the 2nd iteration sometimes the 20th.

This looks like a memory issue