From 2bea7f8d69064f893a21cfc53f3d781b572e2f79 Mon Sep 17 00:00:00 2001 From: Abhishek Kulkarni Date: Fri, 29 Jan 2016 00:29:20 -0500 Subject: [PATCH 1/2] Add the HPX-5 package. --- .../repos/builtin/packages/hpx/package.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 var/spack/repos/builtin/packages/hpx/package.py diff --git a/var/spack/repos/builtin/packages/hpx/package.py b/var/spack/repos/builtin/packages/hpx/package.py new file mode 100644 index 0000000000..665d5c7407 --- /dev/null +++ b/var/spack/repos/builtin/packages/hpx/package.py @@ -0,0 +1,27 @@ +from spack import * +import os + +class Hpx(Package): + """The HPX-5 Runtime System. HPX-5 (High Performance ParalleX) is an + open source, portable, performance-oriented runtime developed at + CREST (Indiana University). HPX-5 provides a distributed + programming model allowing programs to run unmodified on systems + from a single SMP to large clusters and supercomputers with + thousands of nodes. HPX-5 supports a wide variety of Intel and ARM + platforms. It is being used by a broad range of scientific + applications enabling scientists to write code that performs and + scales better than contemporary runtimes.""" + homepage = "http://hpx.crest.iu.edu" + url = "http://hpx.crest.iu.edu/release/hpx-2.0.0.tar.gz" + + version('2.0.0', '3d2ff3aab6c46481f9ec65c5b2bfe7a6') + version('1.3.0', '2260ecc7f850e71a4d365a43017d8cee') + version('1.2.0', '4972005f85566af4afe8b71afbf1480f') + version('1.1.0', '646afb460ecb7e0eea713a634933ce4f') + version('1.0.0', '8020822adf6090bd59ed7fe465f6c6cb') + + def install(self, spec, prefix): + os.chdir("./hpx/") + configure('--prefix=%s' % prefix) + make() + make("install") From 74225544c6ae27e3ae07d37fe15935364c665f6e Mon Sep 17 00:00:00 2001 From: Abhishek Kulkarni Date: Fri, 29 Jan 2016 10:22:52 -0500 Subject: [PATCH 2/2] Rename the hpx package to hpx-5. --- .../builtin/packages/{hpx => hpx5}/package.py | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) rename var/spack/repos/builtin/packages/{hpx => hpx5}/package.py (57%) diff --git a/var/spack/repos/builtin/packages/hpx/package.py b/var/spack/repos/builtin/packages/hpx5/package.py similarity index 57% rename from var/spack/repos/builtin/packages/hpx/package.py rename to var/spack/repos/builtin/packages/hpx5/package.py index 665d5c7407..3dae3c4170 100644 --- a/var/spack/repos/builtin/packages/hpx/package.py +++ b/var/spack/repos/builtin/packages/hpx5/package.py @@ -1,7 +1,7 @@ from spack import * import os -class Hpx(Package): +class Hpx5(Package): """The HPX-5 Runtime System. HPX-5 (High Performance ParalleX) is an open source, portable, performance-oriented runtime developed at CREST (Indiana University). HPX-5 provides a distributed @@ -20,8 +20,33 @@ class Hpx(Package): version('1.1.0', '646afb460ecb7e0eea713a634933ce4f') version('1.0.0', '8020822adf6090bd59ed7fe465f6c6cb') + variant('debug', default=False, description='Build a debug version of HPX-5') + variant('photon', default=False, description='Enable Photon support') + variant('mpi', default=False, description='Enable MPI support') + + depends_on("mpi", when='+mpi') + depends_on("mpi", when='+photon') + def install(self, spec, prefix): + extra_args = [] + if '+debug' in spec: + extra_args.extend([ + '--enable-debug', + 'CFLAGS=-g -O0' + ]) + else: + extra_args.append('CFLAGS=-O3') + + if '+mpi' in spec: + extra_args.append('--enable-mpi') + + if '+photon' in spec: + extra_args.extend([ + '--enable-mpi', + '--enable-photon' + ]) + os.chdir("./hpx/") - configure('--prefix=%s' % prefix) + configure('--prefix=%s' % prefix, *extra_args) make() make("install")