diff options
author | Adam J. Stewart <ajstewart426@gmail.com> | 2016-03-29 14:47:16 -0500 |
---|---|---|
committer | Adam J. Stewart <ajstewart426@gmail.com> | 2016-03-29 14:47:16 -0500 |
commit | 4ddba5f7edd97c8c17781368edc5b9a0db74417d (patch) | |
tree | 26cfb18cf12aaed5cbfb08e5cb9f9164ae5444e1 /var/spack/repos/builtin/packages/hoomd-blue | |
parent | e0fdb3410416f5a91aded450f1c92b01826210ea (diff) | |
download | spack-4ddba5f7edd97c8c17781368edc5b9a0db74417d.tar.gz spack-4ddba5f7edd97c8c17781368edc5b9a0db74417d.tar.bz2 spack-4ddba5f7edd97c8c17781368edc5b9a0db74417d.tar.xz spack-4ddba5f7edd97c8c17781368edc5b9a0db74417d.zip |
Add CUDA and HOOMD-blue packages
Diffstat (limited to 'var/spack/repos/builtin/packages/hoomd-blue')
-rw-r--r-- | var/spack/repos/builtin/packages/hoomd-blue/package.py | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/hoomd-blue/package.py b/var/spack/repos/builtin/packages/hoomd-blue/package.py new file mode 100644 index 0000000000..97ce9c0cf0 --- /dev/null +++ b/var/spack/repos/builtin/packages/hoomd-blue/package.py @@ -0,0 +1,67 @@ +from spack import * +import os + +class HoomdBlue(Package): + """HOOMD-blue is a general-purpose particle simulation toolkit. It scales + from a single CPU core to thousands of GPUs. + + You define particle initial conditions and interactions in a high-level + python script. Then tell HOOMD-blue how you want to execute the job and it + takes care of the rest. Python job scripts give you unlimited flexibility + to create custom initialization routines, control simulation parameters, + and perform in situ analysis.""" + + homepage = "https://codeblue.umich.edu/hoomd-blue/index.html" + url = "https://bitbucket.org/glotzer/hoomd-blue/get/v1.3.3.tar.bz2" + + version('1.3.3', '1469ef4531dc14b579c0acddbfe6a273') + + variant('mpi', default=False, description='Compile with MPI enabled') + variant('cuda', default=False, description='Compile with CUDA Toolkit') + variant('doc', default=False, description='Generate documentation') + + extends('python') + depends_on('py-numpy') + depends_on('boost+python') + depends_on('cmake') + depends_on('mpi', when='+mpi') + depends_on('cuda', when='+cuda') + depends_on('doxygen', when='+doc') + + def install(self, spec, prefix): + + cmake_args = [ + '-DPYTHON_EXECUTABLE=%s/python' % spec['python'].prefix.bin, + '-DBOOST_ROOT=%s' % spec['boost' ].prefix + ] + + # MPI support + if '+mpi' in spec: + os.environ['MPI_HOME'] = spec['mpi'].prefix + cmake_args.append('-DENABLE_MPI=ON') + else: + cmake_args.append('-DENABLE_MPI=OFF') + + # CUDA support + if '+cuda' in spec: + cmake_args.append('-DENABLE_CUDA=ON') + else: + cmake_args.append('-DENABLE_CUDA=OFF') + + # CUDA-aware MPI library support + if '+cuda' in spec and '+mpi' in spec: + cmake_args.append('-DENABLE_MPI_CUDA=ON') + else: + cmake_args.append('-DENABLE_MPI_CUDA=OFF') + + # Documentation + if '+doc' in spec: + cmake_args.append('-DENABLE_DOXYGEN=ON') + else: + cmake_args.append('-DENABLE_DOXYGEN=OFF') + + cmake_args.extend(std_cmake_args) + cmake('.', *cmake_args) + + make() + make("install") |