Open kmilo9999 opened 5 months ago
Others with more understanding of GitHub runners may be able to immediately suggest a solution. I guess I would begin by asking whether the mpi on the runner is compatible with the mpi specified by cmake to create the neuron wheel. A way to approach this might be
nrniv -python
from neuron import h
print(h.nrnversion(6))
and see if there in any mention of -DNRN_MPI_DYNAMIC
By the way, I see that there is a bug in nrniv -python
argument processing in that /usr/share/miniconda/envs/test/bin/python
is completely ignored (not a hoc or py file and no error message). Did you mean for it to be the specific version of python to be dynamically loaded by nrniv? If so it should follow the argument -pyexe
I removed the conda dependency that installs neuron and mpi4py, and moved to python/pip. Now I am getting the expected results to run parallel simulations.
numprocs=2
INFO:root:Process 1 out of 2 processors
INFO:root:NEURON MPI is enabled. Running on 2 processes
INFO:root:Process 0 out of 2 processors
INFO:root:NEURON MPI is enabled. Running on 2 processes
So. maybe someone should check what version of neuron is conda installing??
It appears from anaconda.org (and searching for neuron) that there a a half-dozen or so artifacts, mostly associated with individuals. The most downloaded is [conda-forge](https://anaconda.org/conda-forge) / [neuron 8.2.4]
for linux-64 and osx-64.
Unfortunately I don't know the provenance of that (how our CI uploaded it) or the build process (Cmake?) that created it.
Context
While setting up my GitHub Actions workflow to use NEURON with MPI support on a Linux runner, I am encountering issues when trying to run parallel simulations. Specifically, the NEURON MPI support does not seem to be enabled, and my scripts indicate that NEURON is not utilizing MPI for parallel processes.
Overview of the CI issue
This is a simplified version of the github workflow I am using
This is my python script
mpi_test.py
:This is the output I get:
Expected result/behavior
The same commands in my local environment throw the following output:
Testing the same workflow on the windows and mac runners produce the same result, so I think is related to Linux