hi Jason,
pmcx contains two parts - the core simulation is compiled as a binary module, named _pmcx (built from mcx's C/CUDA-C source codes, providing .run() and .gpuinfo()), and the remaining are utility functions written in pure Python (such as pmcx.detweight(), etc).
the binary module is python version dependent, and only available on platforms where NVIDIA CUDA is supported (Linux, Windows - it is not supported on MacOS)
you need to tell me what Python version you are using, and the OS - if it is on a Mac, you will have to use pmcxcl instead of pmcx.
all supported Python versions can be found here
https://pypi.org/project/pmcx/#files
Qianqian
You don't often get email from pimast...@gmail.com. Learn why this is important
--
You received this message because you are subscribed to the Google Groups "mcx-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mcx-users+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/mcx-users/92b52f75-a068-4820-8121-0132da7cc213n%40googlegroups.com.
Hi Qianqian,
Thanks for your response. I actually found the issue. It seems that sparse-numba is trying to be loaded, but it is not automatically installed by pip – is it missing from requires-dist?. Missing this library was caught by the exception handler which ended up not loading ‘run’ from pmcx(cl) and falsely indicating that _pmcx is not compiled.
Is sparse-numba strictly necessary? For reference, sparse-numba is not currently supported by python 3.13.
Thanks,
Jason Y.
hi Jason,
installing sparse-numba is needed for pmmc on Windows, see my previous message
https://groups.google.com/g/mmc-users/c/v7xFZj4tbcw/m/u6dht0c1AQAJ
it only serves for the purpose of providing some .dll functions that are missing on your windows (related to OpenMP). pmmc definitely need those.
I can't remember why sparse_numba was added in pmcx about 4 months ago, but with a quick test, I don't think it is needed. This is because _pmcx on windows was compiled using visualstudio's cl.exe which has its own OpenMP support, and does not need the .dll provided by sparse-numba.
let me do more tests, likely I will drop this import check in the next version update.
Qianqian
FYI, I just bumped pmcx's version to 0.6.2 and removed sparse_numba dependency
https://github.com/fangq/mcx/commit/b6b85736848d42d0b66f85a07f48ed0b320622be
please run pip install --upgrade pmcx to use the updated pmcx
To view this discussion visit https://groups.google.com/d/msgid/mcx-users/66dda8d2-f9ec-4974-b8f4-e46850f9222f%40neu.edu.
Hi Qianqian,
Thanks for the quick replies to this! I have just checked on my end and can confirm that pmcx works as expected now without sparse-numba on python 3.10 on windows.
On a separate (minor) note, are there any binaries for pmcxcl for python 3.13? pip install and pypi both suggest that pmcxcl only supports up to python 3.12.
Thanks for your help on this!