Skip to content

Commit 4f7072a

Browse files
author
Christos Konstantinos Matzoros
committed
Add spack module recipe for OneStopParallel
1 parent 80a9ad6 commit 4f7072a

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

spack/package.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
from spack.package import *
2+
3+
4+
class Onestopparallel(CMakePackage):
5+
"""OneStopParallel (OSP): This project aims to develop scheduling algorithms
6+
for parallel computing systems based on the Bulk Synchronous Parallel (BSP) model.
7+
The algorithms optimize the allocation of tasks to processors, taking into
8+
account factors such as load balancing, memory constraints and communication overhead."""
9+
10+
homepage = "https://github.com/Algebraic-Programming/OneStopParallel"
11+
git = "https://github.com/Algebraic-Programming/OneStopParallel.git"
12+
13+
maintainers = ['cmatzoros']
14+
15+
version('master', branch='master')
16+
17+
# Dependencies
18+
depends_on('cmake@3.12:', type='build')
19+
depends_on('boost@1.71.0:+graph+test', type=('build', 'link'))
20+
depends_on('eigen@3.4.0:', type=('build', 'link'))
21+
22+
23+
variant('openmp', default=True, description='Enable OpenMP support')
24+
25+
def cmake_args(self):
26+
args = []
27+
28+
# build the library version only
29+
args.append('-DCMAKE_BUILD_TYPE=Library')
30+
args.append('-DBUILD_TESTS=OFF')
31+
32+
if '+openmp' in self.spec:
33+
args.append('-DOSP_DEPENDS_ON_OPENMP=ON')
34+
else:
35+
args.append('-DOSP_DEPENDS_ON_OPENMP=OFF')
36+
37+
args.append('-DCMAKE_INSTALL_PREFIX={0}'.format(self.prefix))
38+
return args

0 commit comments

Comments
 (0)