diff --git a/var/spack/repos/builtin/packages/aluminum/package.py b/var/spack/repos/builtin/packages/aluminum/package.py index ea8d9e83172..4bf96ebc801 100644 --- a/var/spack/repos/builtin/packages/aluminum/package.py +++ b/var/spack/repos/builtin/packages/aluminum/package.py @@ -60,13 +60,16 @@ class Aluminum(CMakePackage, CudaPackage, ROCmPackage): def cmake_args(self): spec = self.spec args = [ - '-DCMAKE_CXX_STANDARD=14', + '-DCMAKE_CXX_STANDARD:STRING=17', '-DALUMINUM_ENABLE_CUDA:BOOL=%s' % ('+cuda' in spec), '-DALUMINUM_ENABLE_NCCL:BOOL=%s' % ('+nccl' in spec or '+rccl' in spec), '-DALUMINUM_ENABLE_ROCM:BOOL=%s' % ('+rocm' in spec)] if '+cuda' in spec: - args.append('-DCMAKE_CUDA_STANDARD=14') + if spec.satisfies('^cuda@11.0:'): + args.append('-DCMAKE_CUDA_STANDARD=17') + else: + args.append('-DCMAKE_CUDA_STANDARD=14') archs = spec.variants['cuda_arch'].value if archs != 'none': arch_str = ";".join(archs) @@ -98,13 +101,14 @@ def cmake_args(self): if '+rocm' in spec: args.extend([ '-DHIP_ROOT_DIR={0}'.format(spec['hip'].prefix), - '-DHIP_CXX_COMPILER={0}'.format(self.spec['hip'].hipcc)]) + '-DHIP_CXX_COMPILER={0}'.format(self.spec['hip'].hipcc), + '-DCMAKE_CXX_FLAGS=-std=c++17']) archs = self.spec.variants['amdgpu_target'].value if archs != 'none': arch_str = ",".join(archs) args.append( '-DHIP_HIPCC_FLAGS=--amdgpu-target={0}' - ' -g -fsized-deallocation -fPIC'.format(arch_str) + ' -g -fsized-deallocation -fPIC -std=c++17'.format(arch_str) ) return args diff --git a/var/spack/repos/builtin/packages/dihydrogen/package.py b/var/spack/repos/builtin/packages/dihydrogen/package.py index 338389fee64..82844e8c4ec 100644 --- a/var/spack/repos/builtin/packages/dihydrogen/package.py +++ b/var/spack/repos/builtin/packages/dihydrogen/package.py @@ -187,6 +187,7 @@ def cmake_args(self): if '+rocm' in spec: args.extend([ + '-DCMAKE_CXX_FLAGS=-std=c++17', '-DHIP_ROOT_DIR={0}'.format(spec['hip'].prefix), '-DHIP_CXX_COMPILER={0}'.format(self.spec['hip'].hipcc)]) archs = self.spec.variants['amdgpu_target'].value @@ -194,7 +195,7 @@ def cmake_args(self): arch_str = ",".join(archs) args.append( '-DHIP_HIPCC_FLAGS=--amdgpu-target={0}' - ' -g -fsized-deallocation -fPIC'.format(arch_str) + ' -g -fsized-deallocation -fPIC -std=c++17'.format(arch_str) ) return args diff --git a/var/spack/repos/builtin/packages/hydrogen/package.py b/var/spack/repos/builtin/packages/hydrogen/package.py index 597624f67e6..f31213d1244 100644 --- a/var/spack/repos/builtin/packages/hydrogen/package.py +++ b/var/spack/repos/builtin/packages/hydrogen/package.py @@ -172,6 +172,7 @@ def cmake_args(self): if '+rocm' in spec: args.extend([ + '-DCMAKE_CXX_FLAGS=-std=c++17', '-DHIP_ROOT_DIR={0}'.format(spec['hip'].prefix), '-DHIP_CXX_COMPILER={0}'.format(self.spec['hip'].hipcc)]) archs = self.spec.variants['amdgpu_target'].value @@ -180,7 +181,8 @@ def cmake_args(self): cxxflags_str = " ".join(self.spec.compiler_flags['cxxflags']) args.append( '-DHIP_HIPCC_FLAGS=--amdgpu-target={0}' - ' -g -fsized-deallocation -fPIC {1}'.format(arch_str, cxxflags_str) + ' -g -fsized-deallocation -fPIC {1}' + ' -std=c++17'.format(arch_str, cxxflags_str) ) # Add support for OS X to find OpenMP (LLVM installed via brew) diff --git a/var/spack/repos/builtin/packages/lbann/package.py b/var/spack/repos/builtin/packages/lbann/package.py index e8c37790e79..43f83812e16 100644 --- a/var/spack/repos/builtin/packages/lbann/package.py +++ b/var/spack/repos/builtin/packages/lbann/package.py @@ -249,6 +249,7 @@ def common_config_args(self): # Environment variables cppflags = [] cppflags.append('-DLBANN_SET_EL_RNG') + cppflags.append('-std=c++17') args = [] args.extend([ '-DCMAKE_CXX_FLAGS=%s' % ' '.join(cppflags),