summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/relion/package.py18
1 files changed, 7 insertions, 11 deletions
diff --git a/var/spack/repos/builtin/packages/relion/package.py b/var/spack/repos/builtin/packages/relion/package.py
index 03fa8fc9a0..1e28d32d88 100644
--- a/var/spack/repos/builtin/packages/relion/package.py
+++ b/var/spack/repos/builtin/packages/relion/package.py
@@ -25,7 +25,7 @@
from spack import *
-class Relion(CMakePackage):
+class Relion(CMakePackage, CudaPackage):
"""RELION (for REgularised LIkelihood OptimisatioN, pronounce rely-on) is a
stand-alone computer program that employs an empirical Bayesian approach to
refinement of (multiple) 3D reconstructions or 2D class averages in
@@ -40,10 +40,6 @@ class Relion(CMakePackage):
variant('gui', default=True, description="build the gui")
variant('cuda', default=True, description="enable compute on gpu")
- variant('cuda_arch', default=None, description='CUDA architecture',
- values=('20', '30', '32', '35', '50', '52', '53', '60', '61', '62'
- '70'),
- multi=True)
variant('double', default=True, description="double precision (cpu) code")
variant('double-gpu', default=False, description="double precision (gpu) code")
variant('build_type', default='RelWithDebInfo',
@@ -68,15 +64,15 @@ class Relion(CMakePackage):
'-DDoublePrec_CPU=%s' % ('+double' in self.spec),
'-DDoublePrec_GPU=%s' % ('+double-gpu' in self.spec),
]
- if '+cuda' in self.spec:
- args += [
- '-DCUDA=on',
- ]
carch = self.spec.variants['cuda_arch'].value
- if carch is not None:
+ if '+cuda' in self.spec:
args += [
- '-DCUDA_ARCH=%s' % (carch),
+ '-DCUDA=on',
]
+ if carch is not None:
+ args += [
+ '-DCUDA_ARCH=%s' % (carch),
+ ]
return args