Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SDSC: PKG - expanse/0.17.3/cpu/b - Missing NEURON (example application) #61

Open
nwolter opened this issue Apr 11, 2023 · 7 comments
Open

Comments

@nwolter
Copy link

nwolter commented Apr 11, 2023

Not sure about this one. Looks like we need ncurses

@mkandes
Copy link
Member

mkandes commented Apr 12, 2023

Ready for testing; ncurses is a dependency.

[mkandes@login02 ~]$ module spider neuron

----------------------------------------------------------------------------
  neuron/8.0.0: neuron/8.0.0/4zrpy5b
----------------------------------------------------------------------------

    You will need to load all module(s) on any one of the lines below before the "neuron/8.0.0/4zrpy5b" module is available to load.

      gcc/10.2.0/npcyll4  openmpi/4.1.3/4ejofw7
 
    Help:
      NEURON is a simulation environment for single and networks of neurons.
      NEURON is a simulation environment for modeling individual and networks
      of neurons. NEURON models individual neurons via the use of sections
      that are automatically subdivided into individual compartments, instead
      of requiring the user to manually create compartments.


 

[mkandes@login02 ~]$ history | grep setup
 1015  history | grep setup
[mkandes@login02 ~]$ . /cm/shared/apps/spack/0.17.3/cpu/a/share/spack/setup-env.sh
[mkandes@login02 ~]$ spack find -lvd neuron
==> 1 installed package
-- linux-rocky8-zen2 / gcc@10.2.0 -------------------------------
4zrpy5b neuron@8.0.0~caliper+coreneuron~cross-compile~interviews~ipo~legacy-unit+mpi+python+rx3d~tests build_type=RelWithDebInfo
ey3k6dv     gettext@0.21+bzip2+curses+git~libunistring+libxml2+tar+xz
pulggjv         bzip2@1.0.8~debug~pic+shared
zduoj2d         libiconv@1.16 libs=shared,static
mgovjpj         libxml2@2.9.12~python
paz7hxz             xz@5.2.5~pic libs=shared,static
ws4iari             zlib@1.2.11+optimize+pic+shared
5lhvslt         ncurses@6.2~symlinks+termlib abi=none
e2brhcb         tar@1.34
4ejofw7     openmpi@4.1.3~atomics~cuda~cxx~cxx_exceptions~gpfs~internal-hwloc~java+legacylaunchers+lustre~memchecker+pmi+pmix+romio~rsh~singularity+static+vt+wrapper-rpath cuda_arch=none fabrics=ucx schedulers=slurm
7rqkdv4         hwloc@2.6.0~cairo~cuda~gl~libudev+libxml2~netloc~nvml~opencl+pci~rocm+shared
ykynzrw             libpciaccess@0.16
bimlmtn         libevent@2.1.8~openssl
dd2offe         lustre@2.12.8
ckhyr5e         numactl@2.0.14 patches=4e1d78cbbb85de625bad28705e748856033eaafab92a66dffd383a3d7e00cc94,62fc8a8bf7665a60e8f4c93ebbd535647cebf74198f7afafec4c085a8825c006,ff37630df599cfabf0740518b91ec8daaf18e8f288b19adaae5364dc1f6b2296
dpvrfip         pmix@3.2.1~docs+pmi_backwards_compatibility~restful
4kvl3fd         slurm@21.08.8~gtk~hdf5~hwloc~mariadb~pmix+readline~restd sysconfdir=PREFIX/etc
kfriyyt         ucx@1.10.1~assertions~cm+cma~cuda+dc~debug+dm~gdrcopy+ib-hw-tm~java~knem~logging+mlx5-dv+optimizations~parameter_checking+pic+rc~rocm+thread_multiple+ud~xpmem cuda_arch=none
sjeiiid             rdma-core@28.0~ipo build_type=RelWithDebInfo
4o6jrav     py-numpy@1.20.3+blas+lapack patches=873745d7b547857fcfec9cae90b09c133b42a4f0c23b6c2d84cf37e2dd816604
fgk2tlu         openblas@0.3.18~bignuma~consistent_fpcsr~ilp64+locking+pic+shared threads=none
eefp7mw         py-setuptools@58.2.0
7zdjza7             python@3.8.12+bz2+ctypes+dbm~debug+libxml2+lzma~nis+optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tix~tkinter~ucs4+uuid+zlib patches=0d98e93189bc278fbc37a50ed7f183bd8aaf249a8e1670a465f0db6bb4f8cf87,4c2457325f2b608b1b6a2c63087df8c26e07db3e3d493caf36a56f0ecf6fb768,f2fd060afc4b4618fe8104c4c5d771f36dc55b1db5a4623785a4ea707ec72fb4
tawwsnw                 expat@2.4.1+libbsd
wblxldx                     libbsd@0.11.3
rgboqoh                         libmd@1.0.3
clf6bmr                 gdbm@1.19
clxlnwz                     readline@8.1
5oh6vxq                 libffi@3.3 patches=26f26c6f29a7ce9bf370ad3ab2610f99365b4bdd7b82e7c31df41a3370d685c0
v3ycaao                 openssl@1.1.1k~docs certs=system
fxmvvsx                 sqlite@3.36.0+column_metadata+fts~functions~rtree
vncpkij                 util-linux-uuid@2.36.2

[mkandes@login02 ~]$

@nwolter nwolter changed the title SDSC: PKG - expanse/0.17.3/cpu/a - Missing NUERON (example application) SDSC: PKG - expanse/0.17.3/cpu/b - Missing NUERON (example application) May 2, 2023
@mkandes
Copy link
Member

mkandes commented Aug 24, 2023

Acceptance testing benchmark failing on finding some core *.hoc files.

[mkandes@login02 neuron]$ pwd
/home/mkandes/benchmarks/neuron
[mkandes@login02 neuron]$ ls
nrnivmodl-YuEtAl2012.o24819013.exp-9-55  special-YuEtAl2012.o24819565.exp-9-56
run-nrnivmodl.sh                         YuEtAl2012
run-special.sh                           YuEtAl2012.zip
special-YuEtAl2012.o24819031.exp-9-55
[mkandes@login02 neuron]$ cat run-nrnivmodl.sh 
#!/usr/bin/env bash

#SBATCH --job-name=nrnivmodl-YuEtAl2012
#SBATCH --account=use300
#SBATCH --partition=debug
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=128
#SBATCH --cpus-per-task=1
#SBATCH --mem=243G
#SBATCH --time=00:30:00
#SBATCH --output=%x.o%j.%N

module reset
module load gcc/10.2.0
module load openmpi/4.1.3
module load neuron/8.0.0
module list
printenv

unzip YuEtAl2012.zip
cd YuEtAl2012

nrnivmodl
[mkandes@login02 neuron]$ cat run-special.sh 
#!/usr/bin/env bash

#SBATCH --job-name=special-YuEtAl2012
#SBATCH --account=use300
#SBATCH --partition=debug
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=128
#SBATCH --cpus-per-task=1
#SBATCH --mem=243G
#SBATCH --time=00:30:00
#SBATCH --output=%x.o%j.%N

module reset
module load gcc/10.2.0
module load openmpi/4.1.3
module load neuron/8.0.0
module list
export LD_LIBRARY_PATH="/cm/shared/apps/spack/0.17.3/cpu/b/opt/spack/linux-rocky8-zen2/gcc-10.2.0/neuron-8.0.0-njfqyq5ixxx2rnuw4c2bpsrqvvgacv64/share/nrn/lib/hoc:${LD_LIBRARY_PATH}"
printenv

cd YuEtAl2012

mpirun -n "${SLURM_NTASKS}" ./x86_64/special -mpi -c stop_time=1000 -c is_split=1 parinit.hoc
[mkandes@login02 neuron]$ tail -n 10 special-YuEtAl2012.o24819565.exp-9-56
--------------------------------------------------------------------------
118 ./x86_64/special: Couldn't find: stdlib.hoc
38 ./x86_64/special: Couldn't find: nrngui.hoc
38  in parinit.hoc near line 2
38  {load_file("nrngui.hoc")}
                          ^
118  in default.hoc near line 1
118  {load_file("stdlib.hoc")}
   [exp-9-56:1336035] 3 more processes have sent help message help-mpi-api.txt / mpi-abort
[exp-9-56:1336035] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages
[mkandes@login02 neuron]$

even though they are installed by Spack as part of the neuron package

[mkandes@login01 ~]$ ls -lahtr /cm/shared/apps/spack/0.17.3/cpu/b/opt/spack/linux-rocky8-zen2/gcc-10.2.0/neuron-8.0.0-njfqyq5ixxx2rnuw4c2bpsrqvvgacv64/share/nrn/lib/hoc
total 304K
-rw-r--r-- 1 spack_cpu spack 7.3K Apr 17 07:30 wingroup.hoc
-rw-r--r-- 1 spack_cpu spack 2.9K Apr 17 07:30 vplay.hoc
-rw-r--r-- 1 spack_cpu spack 2.4K Apr 17 07:30 vecwrap.hoc
-rw-r--r-- 1 spack_cpu spack 6.5K Apr 17 07:30 varmeth1.hoc
-rw-r--r-- 1 spack_cpu spack 1.1K Apr 17 07:30 thresh.hoc
-rw-r--r-- 1 spack_cpu spack 3.5K Apr 17 07:30 subiter.hoc
-rw-r--r-- 1 spack_cpu spack  19K Apr 17 07:30 stdrun.hoc
-rw-r--r-- 1 spack_cpu spack 5.0K Apr 17 07:30 stdlib.hoc
-rw-r--r-- 1 spack_cpu spack  222 Apr 17 07:30 stdgui.hoc
-rw-r--r-- 1 spack_cpu spack 1.2K Apr 17 07:30 single.hoc
-rw-r--r-- 1 spack_cpu spack 5.3K Apr 17 07:30 singlech.hoc
-rw-r--r-- 1 spack_cpu spack  218 Apr 17 07:30 single1.hoc
-rw-r--r-- 1 spack_cpu spack 2.2K Apr 17 07:30 showmech.hoc
-rw-r--r-- 1 spack_cpu spack 5.2K Apr 17 07:30 shapebox.hoc
-rw-r--r-- 1 spack_cpu spack  30K Apr 17 07:30 runfit.hoc
-rw-r--r-- 1 spack_cpu spack 3.4K Apr 17 07:30 prcellstate.hoc
-rw-r--r-- 1 spack_cpu spack 4.4K Apr 17 07:30 pointman.hoc
-rw-r--r-- 1 spack_cpu spack 6.8K Apr 17 07:30 pointgrp.hoc
-rw-r--r-- 1 spack_cpu spack 1.4K Apr 17 07:30 pointbsr.hoc
-rw-r--r-- 1 spack_cpu spack 1.8K Apr 17 07:30 pcchdir.hoc
-rw-r--r-- 1 spack_cpu spack 7.3K Apr 17 07:30 parcom.hoc
-rw-r--r-- 1 spack_cpu spack   40 Apr 17 07:30 nrngui.hoc
-rw-r--r-- 1 spack_cpu spack  207 Apr 17 07:30 nrngui1.hoc
-rw-r--r-- 1 spack_cpu spack   26 Apr 17 07:30 noload.hoc
-rw-r--r-- 1 spack_cpu spack  12K Apr 17 07:30 netparmpi.hoc
-rw-r--r-- 1 spack_cpu spack  485 Apr 17 07:30 netbild.hoc
-rw-r--r-- 1 spack_cpu spack  568 Apr 17 07:30 mview.hoc
-rw-r--r-- 1 spack_cpu spack 1.1K Apr 17 07:30 mulfit.hoc
-rw-r--r-- 1 spack_cpu spack 1.1K Apr 17 07:30 movierun.hoc
-rw-r--r-- 1 spack_cpu spack 3.3K Apr 17 07:30 modlunit.hoc
-rw-r--r-- 1 spack_cpu spack 2.7K Apr 17 07:30 mknrndll.hoc
-rw-r--r-- 1 spack_cpu spack 6.8K Apr 17 07:30 mkcurve.hoc
-rw-r--r-- 1 spack_cpu spack  884 Apr 17 07:30 Makefile.am
-rw-r--r-- 1 spack_cpu spack   25 Apr 17 07:30 macload.hoc
-rw-r--r-- 1 spack_cpu spack 5.2K Apr 17 07:30 logax.hoc
-rw-r--r-- 1 spack_cpu spack  33K Apr 17 07:30 loadbal.hoc
-rw-r--r-- 1 spack_cpu spack  224 Apr 17 07:30 lincir.hoc
-rw-r--r-- 1 spack_cpu spack  11K Apr 17 07:30 kinbuild.hoc
-rw-r--r-- 1 spack_cpu spack 2.9K Apr 17 07:30 inserter.hoc
-rw-r--r-- 1 spack_cpu spack 4.9K Apr 17 07:30 impratio.hoc
-rw-r--r-- 1 spack_cpu spack  361 Apr 17 07:30 import3d.hoc
-rw-r--r-- 1 spack_cpu spack 7.0K Apr 17 07:30 impedanx.hoc
-rw-r--r-- 1 spack_cpu spack 3.8K Apr 17 07:30 impedanc.hoc
-rw-r--r-- 1 spack_cpu spack 7.3K Apr 17 07:30 grapher.hoc
-rw-r--r-- 1 spack_cpu spack 3.8K Apr 17 07:30 gatherv.hoc
-rw-r--r-- 1 spack_cpu spack  22K Apr 17 07:30 funfit.hoc
-rw-r--r-- 1 spack_cpu spack 3.9K Apr 17 07:30 family.hoc
-rw-r--r-- 1 spack_cpu spack 8.5K Apr 17 07:30 electrod.hoc
-rw-r--r-- 1 spack_cpu spack 1.1K Apr 17 07:30 corenrn.hoc
-rw-r--r-- 1 spack_cpu spack  574 Apr 17 07:30 chanbild.hoc
-rw-r--r-- 1 spack_cpu spack  431 Apr 17 07:30 celbild.hoc
-rw-r--r-- 1 spack_cpu spack  23K Apr 17 07:30 binfo.hoc
-rw-r--r-- 1 spack_cpu spack 3.7K Apr 17 07:30 attshape.hoc
-rw-r--r-- 1 spack_cpu spack 6.1K Apr 17 07:30 atoltool.hoc
drwxr-sr-x 2 spack_cpu spack   14 Apr 17 07:33 chanbild
drwxr-sr-x 2 spack_cpu spack    9 Apr 17 07:33 netbild
drwxr-sr-x 2 spack_cpu spack    5 Apr 17 07:33 lincir
drwxr-sr-x 2 spack_cpu spack   14 Apr 17 07:33 mulfit
drwxr-sr-x 2 spack_cpu spack   17 Apr 17 07:33 mview
drwxr-sr-x 2 spack_cpu spack    8 Apr 17 07:33 import3d
drwxr-sr-x 2 spack_cpu spack    9 Apr 17 07:33 celbild
drwxr-sr-x 9 spack_cpu spack   61 Apr 17 07:33 .
drwxr-sr-x 4 spack_cpu spack   13 Apr 17 07:33 ..
[mkandes@login01 ~]$

@mkandes
Copy link
Member

mkandes commented Aug 24, 2023

If our benchmark is too old, we may consider using a newer (python-based) example as a test case.

https://nrn.readthedocs.io/en/8.2.2/coreneuron/examples.html#examples

@mkandes mkandes changed the title SDSC: PKG - expanse/0.17.3/cpu/b - Missing NUERON (example application) SDSC: PKG - expanse/0.17.3/cpu/b - Missing NEURON (example application) Aug 25, 2023
@mkandes
Copy link
Member

mkandes commented Aug 25, 2023

Reminder for @mahidhar to also retry the acceptance testing benchmark with the Spack-based Neuron deployed in production.

@pramodk
Copy link

pramodk commented Oct 5, 2023

Hello All!

Myself Pramod, one of the maintainers for NEURON and the corresponding Spack package. Looking into this along with @iomaganaris.

118 ./x86_64/special: Couldn't find: stdlib.hoc
38 ./x86_64/special: Couldn't find: nrngui.hoc
38  in parinit.hoc near line 2
38  {load_file("nrngui.hoc")}
                          ^
118  in default.hoc near line 1

These errors are a bit confusing because they indicate something fundamental is broken in the installation. Are you somehow setting the NEURONHOME path somewhere?

I cloned this spack from SDSC and installed the neuron package as:

$ spack install neuron

$ spack spec -I neuron
Input spec
--------------------------------
 -   neuron

Concretized
--------------------------------
[+]  neuron@8.0.0%gcc@11.4.0~caliper~coreneuron~cross-compile~interviews~ipo~legacy-unit+mpi+python~rx3d~tests build_type=RelWithDebInfo arch=linux-ubuntu22.04-skylake
 -       ^bison@3.8.2%gcc@11.4.0 arch=linux-ubuntu22.04-skylake
 -       ^cmake@3.22.1%gcc@11.4.0~doc+ncurses+openssl+ownlibs~qt build_type=Release arch=linux-ubuntu22.04-skylake
 -       ^flex@2.6.4%gcc@11.4.0+lex~nls patches=09c22e5c6fef327d3e48eb23f0d610dcd3a35ab9207f12e0f875701c677978d3 arch=linux-ubuntu22.04-skylake
[+]      ^gettext@0.21%gcc@11.4.0+bzip2+curses+git~libunistring+libxml2+tar+xz arch=linux-ubuntu22.04-skylake
[+]      ^ncurses@6.3.20211021%gcc@11.4.0+symlinks+termlib abi=6 arch=linux-ubuntu22.04-skylake
[+]      ^openmpi@4.1.3%gcc@11.4.0~atomics~cuda~cxx~cxx_exceptions~gpfs~internal-hwloc~java~legacylaunchers~lustre~memchecker~pmi+pmix+romio+rsh~singularity+static+vt+wrapper-rpath cuda_arch=none fabrics=none schedulers=none arch=linux-ubuntu22.04-skylake
[+]      ^py-numpy@develop%gcc@11.4.0+blas+lapack patches=873745d7b547857fcfec9cae90b09c133b42a4f0c23b6c2d84cf37e2dd816604 arch=linux-ubuntu22.04-skylake
[+]      ^python@3.10.12%gcc@11.4.0+bz2+ctypes+dbm~debug+libxml2+lzma+nis~optimizations+pic+pyexpat+pythoncmd+readline+shared+sqlite3+ssl~tix~tkinter~ucs4+uuid+zlib patches=0d98e93189bc278fbc37a50ed7f183bd8aaf249a8e1670a465f0db6bb4f8cf87,4c2457325f2b608b1b6a2c63087df8c26e07db3e3d493caf36a56f0ecf6fb768,f2fd060afc4b4618fe8104c4c5d771f36dc55b1db5a4623785a4ea707ec72fb4 arch=linux-ubuntu22.04-skylake
[+]      ^readline@develop%gcc@11.4.0 arch=linux-ubuntu22.04-skylake

then load package and see if basic import is working:

$ spack load neuron

$ which nrniv
/home/kumbhar/workarena/repos/external/spack_sdsc/opt/spack/linux-ubuntu22.04-skylake/gcc-11.4.0/neuron-8.0.0-p4oeyvzlbf36bofbazplqvong275feij/bin/nrniv

$ nrniv -python
NEURON -- VERSION 8.0.dev0 unknown branch (unknown commit id) Build Time: 2023-10-04-22:44:24
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2021
See http://neuron.yale.edu/neuron/credits

>>> from neuron import h

let's run internal tests of NEURON:

>>> import neuron
>>> neuron.test()
testBytesize (neuron.tests.test_vector.VectorTestCase)
Test that Vector.__array_interface__ returns the proper bytesize (of a double) ... ok
testEndian (neuron.tests.test_vector.VectorTestCase)
Test that Vector.__array_interface__ returns the proper byteorder (endian) ... ok
testNumpyInteraction (neuron.tests.test_vector.VectorTestCase)
Testing numpy.array <=> hoc.Vector interaction ... ok
testPerformance (neuron.tests.test_vector.VectorTestCase)
Test performance of Vector<->list,array ...

Executed "l = range(1000000)".  Elapsed = 0.000011 s
Executed "v = h.Vector(l)".  Elapsed = 0.052882 s
inplace:
Executed "v.from_python(l)".  Elapsed = 0.050961 s
Executed "a = numpy.array(v)".  Elapsed = 0.000553 s
inplace:
Executed "v.to_python(a)".  Elapsed = 0.000387 s
Executed "v2 = h.Vector(a)".  Elapsed = 0.001133 s
inplace:
Executed "v2.from_python(a)".  Elapsed = 0.000376 s
Executed "l2 = list(v2)".  Elapsed = 0.020353 s
inplace:
Executed "v.to_python(l2)".  Elapsed = 0.004894 s
Executed "v2 = h.Vector(a[::-1])".  Elapsed = 0.000923 s
Executed "a2 = numpy.array(v2)".  Elapsed = 0.000488 s
ok
...
...
...

Ran 15 tests in 0.945s

FAILED (failures=1)

there will be one failure related to rxd tests because we have ~rx3d in spec. But that's ok.

Now, lets run a basic hello world test from https://raw.githubusercontent.com/neuronsimulator/nrn/master/src/parallel/test0.py

$ wget https://raw.githubusercontent.com/neuronsimulator/nrn/master/src/parallel/test0.py

$ mpiexec -n 2 nrniv -python test0.py
Authorization required, but no authorization protocol specified
Authorization required, but no authorization protocol specified
NEURON -- VERSION 8.0.dev0 unknown branch (unknown commit id) Build Time: 2023-10-04-22:44:24
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2021
See http://neuron.yale.edu/neuron/credits

NEURON -- VERSION 8.0.dev0 unknown branch (unknown commit id) Build Time: 2023-10-04-22:44:24
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2021
See http://neuron.yale.edu/neuron/credits

numprocs=2
I am 0 of 2
I am 1 of 2

All looks good!

Now lets run the Model YuEtAl2012:

$ git clone https://github.com/ModelDBRepository/144570.git
$ cd 144570/
$ nrnivmodl .

$ ./x86_64/special -mpi -c stop_time=10 -c is_split=1 parinit.hoc
Authorization required, but no authorization protocol specified
Authorization required, but no authorization protocol specified
Authorization required, but no authorization protocol specified
numprocs=1
NEURON -- VERSION 8.0.dev0 unknown branch (unknown commit id) Build Time: 2023-10-04-22:44:24
Duke, Yale, and the BlueBrain Project -- Copyright 1984-2021
See http://neuron.yale.edu/neuron/credits

Additional mechanisms from files
 "./ampanmda.mod" "./fi.mod" "./kamt.mod" "./kdrmt.mod" "./naxn.mod" "./ThreshDetect.mod"
cxgranule=177
cxspine=19
cxmitral=1234
cxsecden=502
cxmainmitral=232
cxfi=3
cxampa=4
cxtd=1
500 first and last mitral at 5 4995
10000 first and last granule at 0.25 4999.75
....

In summary, I am not able to anything obviously wrong in the NEURON recipe or default version 8 that exists in your Spack.

I am happy to in debugging this further as we would like to make sure the Spack package of NEURON works for everyone.

Note: not relevant but just a note: we shouldn't set LD_LIBRARY_PATH to share/nrn/lib/hoc directory. Inbuilt hoc files are automatically found by NEURON.

Maybe you can do 2 things:

  1. copy here the output of printenv. (and make sure NEURONHOME is not set or set to incorrect path)
  2. run the test again by setting: (not sure this make sense but just a quick check)
export HOC_LIBRARY_PATH=/cm/shared/apps/spack/0.17.3/cpu/b/opt/spack/linux-rocky8-zen2/gcc-10.2.0/neuron-8.0.0-njfqyq5ixxx2rnuw4c2bpsrqvvgacv64/share/nrn/lib/hoc

Otherwise, I am happy to look at this together via a short Skype/zoom call.

@mkandes
Copy link
Member

mkandes commented Oct 5, 2023

@pramodk - Thanks so much for your time and effort here to help us sort out this issue.

It sounds like maybe we're accidentally stepping on a standard Neuron environment variable. In our Spack deployment, we actually define a *HOME environment variable for EVERY explicitly installed software package that is accessible via our lmod environment.

mkandes@login01 spack]$ cat modules.yaml 
modules:
  default:
    enable::
      - lmod
    lmod:
      core_compilers:
        - 'gcc@8.5.0'
      hierarchy:
        - mpi
      hash_length: 0
      blacklist_implicits: true
      whitelist: ['py-jupyter-core', 'hadoop']
      naming_scheme: '{name}/{version}/{hash:7}'
      projections:
        all: '{name}/{version}/{hash:7}'
      all:
        suffixes:
          '+openmp': omp
          'threads=openmp': omp
          '+ipl64': i64
        environment:
          set:
            '{name}HOME': '{prefix}'
...
[mkandes@login01 ~]$ module spider neuron

----------------------------------------------------------------------------
  neuron/8.0.0: neuron/8.0.0/njfqyq5
----------------------------------------------------------------------------

    You will need to load all module(s) on any one of the lines below before the "neuron/8.0.0/njfqyq5" module is available to load.

      cpu/0.17.3b  gcc/10.2.0/npcyll4  openmpi/4.1.3/oq3qvsv
 
    Help:
      NEURON is a simulation environment for single and networks of neurons.
      NEURON is a simulation environment for modeling individual and networks
      of neurons. NEURON models individual neurons via the use of sections
      that are automatically subdivided into individual compartments, instead
      of requiring the user to manually create compartments.


 

[mkandes@login01 ~]$ module load gcc/10.2.0/npcyll4 
[mkandes@login01 ~]$ module load openmpi/4.1.3/oq3qvsv 
[mkandes@login01 ~]$ printenv | grep NEURONHOME
[mkandes@login01 ~]$ module load neuron/8.0.0
[mkandes@login01 ~]$ printenv | grep NEURONHOME
NEURONHOME=/cm/shared/apps/spack/0.17.3/cpu/b/opt/spack/linux-rocky8-zen2/gcc-10.2.0/neuron-8.0.0-njfqyq5ixxx2rnuw4c2bpsrqvvgacv64
[mkandes@login01 ~]$ printenv | grep HOME
PYTHONHOME=/cm/shared/apps/spack/0.17.3/cpu/b/opt/spack/linux-rocky8-zen2/gcc-10.2.0/python-3.8.12-7zdjza7xxfccxr5syuaomd2fpvp2x35i
OPENBLASHOME=/cm/shared/apps/spack/0.17.3/cpu/b/opt/spack/linux-rocky8-zen2/gcc-10.2.0/openblas-0.3.18-fgk2tlu7bbymzbnkresz4zt5tyfmnbbs
UCXHOME=/cm/shared/apps/spack/0.17.3/cpu/b/opt/spack/linux-rocky8-zen2/gcc-10.2.0/ucx-1.10.1-dnpjjucppo5hjn4wln4bbekczzk7covs
HOME=/home/mkandes
PY_NUMPYHOME=/cm/shared/apps/spack/0.17.3/cpu/b/opt/spack/linux-rocky8-zen2/gcc-10.2.0/py-numpy-1.20.3-4o6jravvq73xkkxdn7zqaa7zivapkjbs
OPENMPIHOME=/cm/shared/apps/spack/0.17.3/cpu/b/opt/spack/linux-rocky8-zen2/gcc-10.2.0/openmpi-4.1.3-oq3qvsvt5mywjzy7xzrfeh6eebiujvbm
NEURONHOME=/cm/shared/apps/spack/0.17.3/cpu/b/opt/spack/linux-rocky8-zen2/gcc-10.2.0/neuron-8.0.0-njfqyq5ixxx2rnuw4c2bpsrqvvgacv64
GCCHOME=/cm/shared/apps/spack/0.17.3/cpu/b/opt/spack/linux-rocky8-zen/gcc-8.5.0/gcc-10.2.0-npcyll4gxjhf4tejksmdzlsl3d3usqpd
PY_SETUPTOOLSHOME=/cm/shared/apps/spack/0.17.3/cpu/b/opt/spack/linux-rocky8-zen2/gcc-10.2.0/py-setuptools-58.2.0-eefp7mw6h4dsdn32evjnrj4s5q7nv5x5
MODULESHOME=/usr/share/lmod/lmod
[mkandes@login01 ~]$

It look like we may need to undo this feature for neuron specifically somehow. Thanks again for the help.

@pramodk
Copy link

pramodk commented Oct 5, 2023

that explains it then! 🎉

It look like we may need to undo this feature for neuron specifically somehow.

I would exclude that for NEURON. NEURONHOME is a special env variable and it should typically point to <install-prefix>/share/nrn (but not necessary to explicitly set).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants