Dear prof. Fang and colleagues,
I was excited to learn about the recent port of MCX, MMC and ISO2MESH to Python and have been using pmmc 0.3.0 several months now. Thank you for your work on this excellent toolkit.
Following the recent October release, I updated my testing environment to pmmc 0.3.5. However, pmmc consistently fails to build the kernel when issavedet is enabled (either via True or 1).
The system in question runs on Ubuntu 24.04 on a Google Cloud Compute instance with a NVIDIA L4 on the Intel Cascade Lake platform. Please refer to the build log below. A minimal working example, including specifications of the Python environment, can be found on
GitHub. All tests were performed using a clean virtual environment (managed via uv) using the pmmc binary distributed via the prebuilt wheels.
Kernel build log:
<kernel>:503:137: error: use of undeclared identifier 'gcfgdetnum'
for (i = GPU_PARAM(gcfg, maxmedia) + 1 + GPU_PARAM(gcfg, isextdet); i < GPU_PARAM(gcfg, maxmedia) + 1 + GPU_PARAM(gcfg, isextdet) + GPU_PARAM(gcfg, detnum); i++) {
^
<kernel>:368:29: note: expanded from macro 'GPU_PARAM'
#define GPU_PARAM(a,b) (a ## b)
^
<scratch space>:7:1: note: expanded from here
gcfgdetnum
^
Traceback (most recent call last):
File "/home/username/testing_pmmc/main.py", line 72, in <module>
result = pmmc.run(config)
RuntimeError: PMMC terminated due to an exception!Error from thread (0): Error: Failed to build program executable!
Any guidance to resolve the issue will be greatly appreciated.
On a side note, are contributions to the pyiso2mesh project filed as issue on GitHub accepted or appreciated? I’ve made several improvements to the plotting functionality that may be useful to others.
Best regards,
Lennard