{"id":24562609,"url":"https://github.com/humanbrainproject/olfactory-bulb-3d","last_synced_at":"2025-08-08T05:10:48.123Z","repository":{"id":42527311,"uuid":"275357491","full_name":"HumanBrainProject/olfactory-bulb-3d","owner":"HumanBrainProject","description":null,"archived":false,"fork":false,"pushed_at":"2022-11-07T16:30:01.000Z","size":341,"stargazers_count":6,"open_issues_count":1,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-19T19:40:52.758Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/HumanBrainProject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-06-27T11:24:54.000Z","updated_at":"2025-03-05T16:34:34.000Z","dependencies_parsed_at":"2023-01-22T15:31:00.549Z","dependency_job_id":null,"html_url":"https://github.com/HumanBrainProject/olfactory-bulb-3d","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/HumanBrainProject/olfactory-bulb-3d","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HumanBrainProject%2Folfactory-bulb-3d","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HumanBrainProject%2Folfactory-bulb-3d/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HumanBrainProject%2Folfactory-bulb-3d/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HumanBrainProject%2Folfactory-bulb-3d/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HumanBrainProject","download_url":"https://codeload.github.com/HumanBrainProject/olfactory-bulb-3d/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HumanBrainProject%2Folfactory-bulb-3d/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269366853,"owners_count":24405250,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-08T02:00:09.200Z","response_time":72,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-23T09:16:34.525Z","updated_at":"2025-08-08T05:10:48.101Z","avatar_url":"https://github.com/HumanBrainProject.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Compatibility\n\n* This version of the model is compatible with NEURON versions newer than 8.1 (#19).\n* If you would like to use older NEURON (\u003c= 8.1) then you can use tagged release `v1.0.0`.\n\n## How to run this model on Marconi100\n\n### Installing NEURON+CoreNEURON from Source\n\nFirst we need to build NEURON with CoreNEURON support. In order to do so, you can use following script:\n\n```console\nmodule load profile/base\nmodule load profile/advanced\nmodule load hpc-sdk/2021--binary gnu/8.4.0 cuda/11.0\nmodule load spectrum_mpi/10.3.1--binary boost/1.72.0--spectrum_mpi--10.3.1--binary\nmodule load cmake/3.20.0 python/3.8.2\n\nexport OMPI_CXX=nvc++\nexport OMPI_CC=nvc\nexport CC=mpicc\nexport CXX=mpicxx\n\ngit clone https://github.com/neuronsimulator/nrn.git\n\nmkdir -p nrn/build \u0026\u0026 cd nrn/build\n\n# cmake, make and make install\ncmake .. -DCMAKE_INSTALL_PREFIX=$HOME/install \\\n\t-DNRN_ENABLE_INTERVIEWS=OFF \\\n\t-DNRN_ENABLE_RX3D=OFF \\\n\t-DNRN_ENABLE_CORENEURON=ON \\\n\t-DPYTHON_EXECUTABLE=`which python` \\\n\t-DCORENRN_ENABLE_MPI=ON \\\n\t-DCORENRN_ENABLE_OPENMP=OFF \\\n\t-DCORENRN_ENABLE_GPU=ON\nmake -j8\nmake install\n```\n\nNote that above mentioned modules (from May 2022) might change in the future. So make sure to change them if necessary.\n\n#### Download Model\n\nLet's clone olfactory bulb model repository from GitHub. For now, we have to use `2to3` branch which has Python 3 support:\n\n```\ngit clone https://github.com/HumanBrainProject/olfactory-bulb-3d.git\ncd olfactory-bulb-3d/sim\ngit checkout 2to3\n```\n\nFor using NEURON release older than `v8.1`, checkout tag `v1.0.0`:\n\n```\ngit checkout v1.0.0\n```\n\n\n#### Building Special\n\nWe can now build the model `nrnivmodl -coreneuron ` command. Make sure to change path of `nrnivmodl` if you have installed NEURON from source.\n\n```\nmodule load profile/base\nmodule load profile/advanced\nmodule load hpc-sdk/2021--binary gnu/8.4.0 cuda/11.0\nmodule load spectrum_mpi/10.3.1--binary boost/1.72.0--spectrum_mpi--10.3.1--binary\nmodule load cmake/3.20.0 python/3.8.2\n\nexport OMPI_CXX=nvc++\nexport OMPI_CC=nvc\nexport CC=mpicc\nexport CXX=mpicxx\n\n$HOME/install/bin/nrnivmodl -coreneuron .\n```\n\nIf there are no errors, `special` with CoreNEURON support will be built.\n\n#### Running model on GPU\n\nWe are now ready to run model. To enable GPU support via CoreNEURON, you can pass the following command line argument to `bulb3dtest.py`:\n\n```\n--coreneuron --gpu\n```\n\nAlso, if you are benchmarking model then make sure to select larger test case i.e. changing `runsim.build_part_model` in in `bulb3dtest.py`.\n\nWe can now submit the job to the cluster using following job script:\n\n```\n#!/bin/bash\n#SBATCH -A Pra18_4575_0\n#SBATCH -p m100_usr_prod\n#SBATCH --time 00:60:00\n#SBATCH --job-name=coreneuron_gpu_test\n#SBATCH --nodes=2\n#SBATCH --ntasks-per-node=8\n#SBATCH --gres=gpu:4\n\nmodule load profile/base\nmodule load profile/advanced\nmodule load hpc-sdk/2021--binary gnu/8.4.0 cuda/11.0\nmodule load spectrum_mpi/10.3.1--binary boost/1.72.0--spectrum_mpi--10.3.1--binary\nmodule load cmake/3.20.0 python/3.8.2\n\nexport PYTHONPATH=$HOME/install/lib/python/:$PYTHONPATH\n\n# gpu run with coreneuron\nmpirun ./special_wrapper.ppc64 -python -mpi bulb3dtest.py --tstop=1050 --coreneuron --gpu\n```\n\nNote that we are using `special_wrapper.ppc64` instead of `ppc64le/special` as a binary to launch. This is because [MPS](https://docs.nvidia.com/deploy/pdf/CUDA_Multi_Process_Service_Overview.pdf) service is currently not enabled on Marconi100. Using wrapper script, we start the MPS service before launching an application.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhumanbrainproject%2Folfactory-bulb-3d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhumanbrainproject%2Folfactory-bulb-3d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhumanbrainproject%2Folfactory-bulb-3d/lists"}