Skip to content
Snippets Groups Projects
Commit 40d5574b authored by Eleni Mathioulaki's avatar Eleni Mathioulaki
Browse files

Add snudda dependencies from BlueBrainProject repo and activate

parent f462297a
No related branches found
No related tags found
No related merge requests found
##############################################################################
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class PyBluepyopt(PythonPackage):
"""Bluebrain Python Optimisation Library"""
homepage = "https://github.com/BlueBrain/BluePyOpt"
pypi = "bluepyopt/bluepyopt-1.9.27.tar.gz"
# NOTE : while adding new release check pmi_rank.patch compatibility
version('1.10.38', sha256='fb1411c6a8fbfac52d36b837225bae882fd6524acfb4d0580189312ef3c1cfcc')
version('1.9.37', sha256='4399af71de48b288832e92f0de73c431bf88d6e76e2c4ea250c3b38fb38a45a8')
version('1.9.27', sha256='4cce15b92b32311c808cae5e005b664deb6e8dc5df4ca13ea7b59252ae346522')
version('1.8.68', sha256='b9d432840aab89d4863c935d3dc604816441eba02d731422b92056cee751ca9c')
version('1.6.56', sha256='1c57c91465ca4b947fe157692e7004a3e6df02e4151e3dc77a8831382a8f1ab9')
version('1.8.68', sha256='b9d432840aab89d4863c935d3dc604816441eba02d731422b92056cee751ca9c')
version('1.9.12', sha256='7b623ab9168f460a85d952719ca5249248fc95e6f7a02658b0673b2baa0a8fc6')
# patch required to avoid hpe-mpi linked mechanism library
patch("pmi_rank.patch", when="@1.9.27:")
variant('neuron', default=True, description="Use BluePyOpt together with NEURON")
depends_on('py-setuptools', type='build')
depends_on('py-pandas', type='run')
depends_on('py-numpy', type='run')
depends_on('py-efel', type='run')
depends_on('py-deap', type='run')
depends_on('py-scoop@0.7:', type='run', when='@:1.9.37')
depends_on('py-ipyparallel', type='run')
depends_on('py-pickleshare', type='run')
depends_on('py-future', type='run')
depends_on('py-jinja2', type='run')
depends_on('py-pebble@4.3.10:', type='run')
depends_on('neuron', type='run', when='+neuron')
def setup_run_environment(self, env):
env.unset('PMI_RANK')
env.set('NEURON_INIT_MPI', "0")
env.prepend_path('PATH', self.spec['py-ipyparallel'].prefix.bin)
diff --git a/bluepyopt/ephys/simulators.py b/bluepyopt/ephys/simulators.py
index e71ad8b..3c93237 100644
--- a/bluepyopt/ephys/simulators.py
+++ b/bluepyopt/ephys/simulators.py
@@ -89,6 +89,12 @@ class NrnSimulator(object):
NrnSimulator._nrn_disable_banner()
self.banner_disabled = True
+ # certain mpi libraries (hpe-mpt) use PMI_RANK env variable to initialize
+ # MPI before calling MPI_Init (which is undesirable). Unset this variable
+ # if exist to avoid issue with loading neuron and mechanism library.
+ if 'PMI_RANK' in os.environ:
+ os.environ.pop("PMI_RANK")
+
import neuron # NOQA
return neuron
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class PyLibsonata(PythonPackage):
"""SONATA files reader"""
homepage = "https://github.com/BlueBrain/libsonata"
git = "https://github.com/BlueBrain/libsonata.git"
version('develop', branch='master', submodules=True, get_full_repo=True)
version('0.1.12', tag='v0.1.12', submodules=True, get_full_repo=True)
version('0.1.11', tag='v0.1.11', submodules=True, get_full_repo=True)
version('0.1.10', tag='v0.1.10', submodules=True, get_full_repo=True)
# Important: v0.1.9 is not Spack-compatible (use v0.1.10: instead)
# version('0.1.9', tag='v0.1.9', submodules=True, get_full_repo=True)
version('0.1.8', tag='v0.1.8', submodules=True, get_full_repo=True)
version('0.1.6', tag='v0.1.6', submodules=True, get_full_repo=True)
version('0.1.5', tag='v0.1.5', submodules=True, get_full_repo=True)
version('0.1.4', tag='v0.1.4', submodules=True, get_full_repo=True)
version('0.1.3', tag='v0.1.3', submodules=True, get_full_repo=True)
version('0.1.0', tag='v0.1.0', submodules=True, get_full_repo=True)
version('0.0.3', tag='v0.0.3', submodules=True)
depends_on('cmake@3.3:', type='build')
depends_on('hdf5')
depends_on('py-pybind11')
depends_on('py-numpy@1.12:', type=('build', 'run'))
depends_on('py-setuptools', type='build', when='@0.1:')
depends_on('py-setuptools-scm', type='build', when='@0.1:')
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *
class PyPebble(PythonPackage):
"""Python API to manage threads and processes within an application."""
homepage = "https://github.com/noxdafox/pebble"
pypi = "pebble/Pebble-4.5.0.tar.gz"
git = "https://github.com/noxdafox/pebble.git"
version('4.5.0', sha256='2de3cd11aa068e0c4a4abbaf8d4ecfdac409d8bfb78a4c211a01f6a4fb17a35f')
version('4.4.1', sha256='7c4d68a3479140cba74d7454d8190e2cb1a93213b44b5befe3c53c201beb8317')
version('4.3.10', sha256='c39a7bf99af6525fcf0783a8859fb10a4f20f4f988ddb66fd6fa7588f9c91731')
depends_on('py-setuptools', type=('build', 'run'))
depends_on('py-futures', type='run', when='^python@:2.9.9')
from spack import *
class PyPyswarms(PythonPackage):
homepage = "https://github.com/ljvmiranda921/pyswarms"
pypi = "pyswarms/pyswarms-1.3.0.tar.gz"
version('1.3.0', sha256='1204aa9c332c662113e3c37d1b109906f4a0859b29ded80c1582dc66387ce34b')
depends_on('py-scipy', type=('build', 'run'))
depends_on('py-numpy', type=('build', 'run'))
depends_on('py-matplotlib@1.3.1:', type=('build', 'run'))
depends_on('py-attrs', type=('build', 'run'))
depends_on('py-tqdm', type=('build', 'run'))
depends_on('py-future', type=('build', 'run'))
depends_on('py-pyyaml', type=('build', 'run'))
from spack import *
class Snudda(Package):
class PySnudda(Package):
homepage = 'https://pypi.org/project/snudda/'
url = 'https://pypi.org/packages/source/s/snudda/snudda-1.2.9-py3-none-any.whl'
list_url = 'https://pypi.org/simple/snudda/'
......@@ -12,19 +12,19 @@ class Snudda(Package):
depends_on('python@3.8:', type=('build','run'))
depends_on('py-pip', type='build')
depends_on('unzip', type='build')
#depends_on('py-bluepyopt', type=('build','run')) must get this from BlueBrainProject https://github.com/BlueBrain/spack/tree/develop/var/spack/repos/builtin/packages/py-bluepyopt
depends_on('py-bluepyopt', type=('build','run')) # got this from BlueBrainProject https://github.com/BlueBrain/spack/tree/develop/var/spack/repos/builtin/packages/py-bluepyopt
depends_on('py-h5py', type=('build','run'))
depends_on('py-ipyparallel', type=('build','run'))
depends_on('py-matplotlib', type=('build','run'))
depends_on('py-mpi4py', type=('build','run'))
depends_on('py-numpy', type=('build','run'))
depends_on('py-scipy', type=('build','run'))
#depends_on('py-libsonata', type=('build','run')) - get it from https://github.com/BlueBrain/spack/tree/develop/var/spack/repos/builtin/packages/py-libsonata
depends_on('py-libsonata', type=('build','run')) # got it from https://github.com/BlueBrain/spack/tree/develop/var/spack/repos/builtin/packages/py-libsonata
depends_on('py-pyzmq', type=('build','run'))
depends_on('py-numexpr', type=('build','run'))
depends_on('py-argparse', type=('build','run'))
depends_on('neuron', type=('build','run'))
#depends_on('pyswarms', type=('build','run')) - must package this
depends_on('pyswarms', type=('build','run'))
depends_on('py-setuptools', type=('build','run'))
depends_on('py-psutil', type=('build','run'))
depends_on('py-cython', type=('build','run'))
......
......@@ -52,6 +52,7 @@ spack:
- py-lfpy@2.2.6
- py-elephant
- py-frites
- py-snudda
#- biobb-common
#- biobb-md
#- apbs
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment