FIX: gpu node build
This commit is contained in:
16
env/merlin/HyQuas/packages/hyquas/package.py
vendored
16
env/merlin/HyQuas/packages/hyquas/package.py
vendored
@ -52,20 +52,26 @@ class Hyquas(CMakePackage, CudaPackage):
|
|||||||
variant("mpi", default=False, description="Use mpi")
|
variant("mpi", default=False, description="Use mpi")
|
||||||
variant("overlap_mat", default=True, description="Overlap initMatirx")
|
variant("overlap_mat", default=True, description="Overlap initMatirx")
|
||||||
variant("log_eval", default=False, description="Show logging of evaluator")
|
variant("log_eval", default=False, description="Show logging of evaluator")
|
||||||
variant("mat_size", default='6', description="Mat size", values=('4','5','6','7'))
|
variant("mat_size", default='7', description="Mat size", values=('4','5','6','7'))
|
||||||
|
|
||||||
conflicts("~cuda", msg="HyQuas requires CUDA")
|
conflicts("~cuda", msg="HyQuas requires CUDA")
|
||||||
|
|
||||||
def setup_build_environment(self, env):
|
def setup_build_environment(self, env):
|
||||||
cuda_arch = self.spec.variants['cuda_arch'].value[0]
|
|
||||||
env.set('CUDA_NVCC_FLAGS', '-Xcompiler -fopenmp -std=c++14 -O2 -g -arch=compute_' + cuda_arch + '-code=sm_' + cuda_arch + '--ptxas-options=-v -lineinfo -keep')
|
|
||||||
env.set('GENCODE_FLAGS', '-gencode arch=compute_' + cuda_arch +',code=sm_' + cuda_arch)
|
|
||||||
env.set("NCCL_ROOT", self.spec['nccl'].prefix)
|
env.set("NCCL_ROOT", self.spec['nccl'].prefix)
|
||||||
env.set("CUDA_HOME", self.spec['cuda'].prefix)
|
|
||||||
|
def setup_run_environment(self, env):
|
||||||
|
env.set("HYQUAS_ROOT", self.stage.source_path)
|
||||||
|
|
||||||
@run_before('cmake')
|
@run_before('cmake')
|
||||||
def build_cutt(self):
|
def build_cutt(self):
|
||||||
|
cuda_arch = self.spec.variants['cuda_arch'].value[0]
|
||||||
|
|
||||||
|
CMakefile = FileFilter('CMakeLists.txt')
|
||||||
|
CMakefile.filter(r'^\s*CUDA_NVCC_FLAGS\s*=.*', 'CUDA_NVCC_FLAGS := -Xcompiler -fopenmp -std=c++14 -O2 -g -arch=compute_' + cuda_arch + '-code=sm_' + cuda_arch + '--ptxas-options=-v -lineinfo -keep' )
|
||||||
with working_dir('./third-party/cutt'):
|
with working_dir('./third-party/cutt'):
|
||||||
|
makefile = FileFilter('Makefile')
|
||||||
|
|
||||||
|
makefile.filter(r'^\s*GENCODE_FLAGS\s*=.*', 'GENCODE_FLAGS := -gencode arch=compute_' + cuda_arch +',code=sm_' + cuda_arch )
|
||||||
make()
|
make()
|
||||||
|
|
||||||
def cmake_args(self):
|
def cmake_args(self):
|
||||||
|
8
env/merlin/HyQuas/spack.yaml
vendored
8
env/merlin/HyQuas/spack.yaml
vendored
@ -1,6 +1,6 @@
|
|||||||
spack:
|
spack:
|
||||||
concretizer:
|
concretizer:
|
||||||
unify: true
|
unify: when_possible
|
||||||
include:
|
include:
|
||||||
- sysconfigs/config.yaml
|
- sysconfigs/config.yaml
|
||||||
- sysconfigs/compilers.yaml
|
- sysconfigs/compilers.yaml
|
||||||
@ -8,7 +8,11 @@ spack:
|
|||||||
repos:
|
repos:
|
||||||
- .
|
- .
|
||||||
specs:
|
specs:
|
||||||
- hyquas@main%gcc+cuda cuda_arch=61 ~mpi+micro_bench+eval_pp backend=mix ^openmpi
|
- openmpi@4.0.5%gcc+cuda fabrics=ucx,xpmem,knem,ofi,cma schedulers=slurm ^ucx@1.13.0
|
||||||
|
^hwloc@2.7.1 ^knem@1.1.4 ^xpmem@2.6.3 ^pmix@4.1.2
|
||||||
|
- cuda@11.0.2
|
||||||
|
- hyquas@main%gcc+cuda cuda_arch=80 ~mpi+schedule+use_double+micro_bench+eval_pp~disable_assert
|
||||||
|
backend=mix mat_size=7 ^cuda@11.0.2
|
||||||
develop:
|
develop:
|
||||||
hyquas:
|
hyquas:
|
||||||
path: /data/user/germann_e/HyQuas
|
path: /data/user/germann_e/HyQuas
|
||||||
|
10
env/merlin/HyQuas/sysconfigs/compilers.yaml
vendored
10
env/merlin/HyQuas/sysconfigs/compilers.yaml
vendored
@ -46,11 +46,11 @@ compilers:
|
|||||||
modules: []
|
modules: []
|
||||||
operating_system: rhel7
|
operating_system: rhel7
|
||||||
paths:
|
paths:
|
||||||
cc: /opt/psi/Programming/gcc/8.3.0/bin/gcc
|
cc: /opt/psi/Programming/gcc/9.5.0/bin/gcc
|
||||||
cxx: /opt/psi/Programming/gcc/8.3.0/bin/g++
|
cxx: /opt/psi/Programming/gcc/9.5.0/bin/g++
|
||||||
f77: /opt/psi/Programming/gcc/8.3.0/bin/gfortran
|
f77: /opt/psi/Programming/gcc/9.5.0/bin/gfortran
|
||||||
fc: /opt/psi/Programming/gcc/8.3.0/bin/gfortran
|
fc: /opt/psi/Programming/gcc/9.5.0/bin/gfortran
|
||||||
spec: gcc@8.3.0
|
spec: gcc@9.5.0
|
||||||
target: x86_64
|
target: x86_64
|
||||||
- compiler:
|
- compiler:
|
||||||
environment: {}
|
environment: {}
|
||||||
|
20
env/merlin/HyQuas/sysconfigs/packages.yaml
vendored
20
env/merlin/HyQuas/sysconfigs/packages.yaml
vendored
@ -64,11 +64,6 @@ packages:
|
|||||||
externals:
|
externals:
|
||||||
- prefix: /usr
|
- prefix: /usr
|
||||||
spec: findutils@4.5.11
|
spec: findutils@4.5.11
|
||||||
flex:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: flex@2.5.37+lex
|
|
||||||
# E.G: only available from already downloaded source, so I put it here
|
# E.G: only available from already downloaded source, so I put it here
|
||||||
gams:
|
gams:
|
||||||
externals:
|
externals:
|
||||||
@ -129,16 +124,6 @@ packages:
|
|||||||
externals:
|
externals:
|
||||||
- prefix: /usr
|
- prefix: /usr
|
||||||
spec: libcroco@0.6.13
|
spec: libcroco@0.6.13
|
||||||
libevent:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: libevent@2.0
|
|
||||||
libfabric:
|
|
||||||
buildable: false
|
|
||||||
externals:
|
|
||||||
- prefix: /usr
|
|
||||||
spec: libfabric@1.10.2
|
|
||||||
libfuse:
|
libfuse:
|
||||||
buildable: false
|
buildable: false
|
||||||
externals:
|
externals:
|
||||||
@ -260,6 +245,11 @@ packages:
|
|||||||
externals:
|
externals:
|
||||||
- prefix: /usr
|
- prefix: /usr
|
||||||
spec: sed@4.2.2
|
spec: sed@4.2.2
|
||||||
|
slurm:
|
||||||
|
buildable: false
|
||||||
|
externals:
|
||||||
|
- prefix: /usr
|
||||||
|
spec: slurm@21-08-8-2
|
||||||
sqlite:
|
sqlite:
|
||||||
buildable: false
|
buildable: false
|
||||||
externals:
|
externals:
|
||||||
|
Reference in New Issue
Block a user