Axom: Remove blueos check on cuda variant (#24349)
* remove blueos check on cuda variant, fix typo * restore necessary compiler guard * remove axom+cuda from testing because it only partially works outside ppc systems
This commit is contained in:
parent
c83f4b01aa
commit
c9932b2d1e
2 changed files with 69 additions and 66 deletions
|
@ -171,7 +171,7 @@ spack:
|
||||||
|
|
||||||
- cuda_specs:
|
- cuda_specs:
|
||||||
- amrex +cuda cuda_arch=70
|
- amrex +cuda cuda_arch=70
|
||||||
- axom +cuda cuda_arch=70 ^umpire@4.1.2 ~shared
|
# - axom +cuda cuda_arch=70 ^umpire@4.1.2 ~shared
|
||||||
- caliper +cuda cuda_arch=70
|
- caliper +cuda cuda_arch=70
|
||||||
- chai +cuda ~benchmarks ~tests cuda_arch=70 ^umpire@4.1.2 ~shared
|
- chai +cuda ~benchmarks ~tests cuda_arch=70 ^umpire@4.1.2 ~shared
|
||||||
- ginkgo +cuda cuda_arch=70
|
- ginkgo +cuda cuda_arch=70
|
||||||
|
@ -368,4 +368,3 @@ spack:
|
||||||
url: https://cdash.spack.io
|
url: https://cdash.spack.io
|
||||||
project: Spack Testing
|
project: Spack Testing
|
||||||
site: Cloud Gitlab Infrastructure
|
site: Cloud Gitlab Infrastructure
|
||||||
|
|
||||||
|
|
|
@ -196,39 +196,38 @@ def initconfig_hardware_entries(self):
|
||||||
spec = self.spec
|
spec = self.spec
|
||||||
entries = super(Axom, self).initconfig_hardware_entries()
|
entries = super(Axom, self).initconfig_hardware_entries()
|
||||||
|
|
||||||
if spec.satisfies('target=ppc64le:'):
|
if "+cuda" in spec:
|
||||||
if "+cuda" in spec:
|
entries.append(cmake_cache_option("ENABLE_CUDA", True))
|
||||||
entries.append(cmake_cache_option("ENABLE_CUDA", True))
|
entries.append(cmake_cache_option("CUDA_SEPARABLE_COMPILATION",
|
||||||
entries.append(cmake_cache_option("CUDA_SEPARABLE_COMPILATION",
|
True))
|
||||||
True))
|
|
||||||
|
|
||||||
|
entries.append(
|
||||||
|
cmake_cache_option("AXOM_ENABLE_ANNOTATIONS", True))
|
||||||
|
|
||||||
|
# CUDA_FLAGS
|
||||||
|
cudaflags = "-restrict --expt-extended-lambda "
|
||||||
|
|
||||||
|
if not spec.satisfies('cuda_arch=none'):
|
||||||
|
cuda_arch = spec.variants['cuda_arch'].value[0]
|
||||||
|
entries.append(cmake_cache_string(
|
||||||
|
"CMAKE_CUDA_ARCHITECTURES",
|
||||||
|
cuda_arch))
|
||||||
|
cudaflags += '-arch sm_${CMAKE_CUDA_ARCHITECTURES} '
|
||||||
|
else:
|
||||||
entries.append(
|
entries.append(
|
||||||
cmake_cache_option("AXOM_ENABLE_ANNOTATIONS", True))
|
"# cuda_arch could not be determined\n\n")
|
||||||
|
|
||||||
# CUDA_FLAGS
|
if "+cpp14" in spec:
|
||||||
cudaflags = "-restrict --expt-extended-lambda "
|
cudaflags += " -std=c++14"
|
||||||
|
else:
|
||||||
|
cudaflags += " -std=c++11"
|
||||||
|
entries.append(
|
||||||
|
cmake_cache_string("CMAKE_CUDA_FLAGS", cudaflags))
|
||||||
|
|
||||||
if not spec.satisfies('cuda_arch=none'):
|
entries.append(
|
||||||
cuda_arch = spec.variants['cuda_arch'].value[0]
|
"# nvcc does not like gtest's 'pthreads' flag\n")
|
||||||
entries.append(cmake_cache_string(
|
entries.append(
|
||||||
"CMAKE_CUDA_ARCHITECTURES",
|
cmake_cache_option("gtest_disable_pthreads", True))
|
||||||
cuda_arch))
|
|
||||||
cudaflags += '-arch sm_${CMAKE_CUDA_ARCHITECTURES} '
|
|
||||||
else:
|
|
||||||
entries.append(
|
|
||||||
"# cuda_arch could not be determined\n\n")
|
|
||||||
|
|
||||||
if "+cpp14" in spec:
|
|
||||||
cudaflags += " -std=c++14"
|
|
||||||
else:
|
|
||||||
cudaflags += " -std=c++11"
|
|
||||||
entries.append(
|
|
||||||
cmake_cache_string("CMAKE_CUDA_FLAGS", cudaflags))
|
|
||||||
|
|
||||||
entries.append(
|
|
||||||
"# nvcc does not like gtest's 'pthreads' flag\n")
|
|
||||||
entries.append(
|
|
||||||
cmake_cache_option("gtest_disable_pthreads", True))
|
|
||||||
|
|
||||||
entries.append("#------------------{0}".format("-" * 30))
|
entries.append("#------------------{0}".format("-" * 30))
|
||||||
entries.append("# Hardware Specifics")
|
entries.append("# Hardware Specifics")
|
||||||
|
@ -244,41 +243,46 @@ def initconfig_hardware_entries(self):
|
||||||
not spec.satisfies('+cuda target=ppc64le:')
|
not spec.satisfies('+cuda target=ppc64le:')
|
||||||
))
|
))
|
||||||
|
|
||||||
if spec.satisfies('target=ppc64le:'):
|
if (self.compiler.fc is not None) and ("xlf" in self.compiler.fc):
|
||||||
if (self.compiler.fc is not None) and ("xlf" in self.compiler.fc):
|
# Grab lib directory for the current fortran compiler
|
||||||
description = ("Converts C-style comments to Fortran style "
|
libdir = pjoin(os.path.dirname(
|
||||||
"in preprocessed files")
|
os.path.dirname(self.compiler.fc)),
|
||||||
entries.append(cmake_cache_string(
|
"lib")
|
||||||
"BLT_FORTRAN_FLAGS",
|
description = ("Adds a missing rpath for libraries "
|
||||||
"-WF,-C! -qxlf2003=polymorphic",
|
"associated with the fortran compiler")
|
||||||
description))
|
|
||||||
# Grab lib directory for the current fortran compiler
|
|
||||||
libdir = pjoin(os.path.dirname(
|
|
||||||
os.path.dirname(self.compiler.fc)),
|
|
||||||
"lib")
|
|
||||||
description = ("Adds a missing rpath for libraries "
|
|
||||||
"associated with the fortran compiler")
|
|
||||||
linker_flags = "${BLT_EXE_LINKER_FLAGS} -Wl,-rpath," + libdir
|
|
||||||
entries.append(cmake_cache_string("BLT_EXE_LINKER_FLAGS",
|
|
||||||
linker_flags, description))
|
|
||||||
if "+shared" in spec:
|
|
||||||
linker_flags = "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-rpath," \
|
|
||||||
+ libdir
|
|
||||||
entries.append(cmake_cache_string(
|
|
||||||
"CMAKE_SHARED_LINKER_FLAGS",
|
|
||||||
linker_flags, description))
|
|
||||||
|
|
||||||
# Fix for working around CMake adding implicit link directories
|
linker_flags = "${BLT_EXE_LINKER_FLAGS} -Wl,-rpath," + libdir
|
||||||
# returned by the BlueOS compilers to link executables with
|
|
||||||
# non-system default stdlib
|
entries.append(cmake_cache_string("BLT_EXE_LINKER_FLAGS",
|
||||||
_gcc_prefix = "/usr/tce/packages/gcc/gcc-4.9.3/lib64"
|
linker_flags, description))
|
||||||
if os.path.exists(_gcc_prefix):
|
|
||||||
_gcc_prefix2 = pjoin(
|
if "+shared" in spec:
|
||||||
_gcc_prefix,
|
linker_flags = "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-rpath," \
|
||||||
"gcc/powerpc64le-unknown-linux-gnu/4.9.3")
|
+ libdir
|
||||||
_link_dirs = "{0};{1}".format(_gcc_prefix, _gcc_prefix2)
|
|
||||||
entries.append(cmake_cache_string(
|
entries.append(cmake_cache_string(
|
||||||
"BLT_CMAKE_IMPLICIT_LINK_DIRECTORIES_EXCLUDE", _link_dirs))
|
"CMAKE_SHARED_LINKER_FLAGS",
|
||||||
|
linker_flags, description))
|
||||||
|
|
||||||
|
description = ("Converts C-style comments to Fortran style "
|
||||||
|
"in preprocessed files")
|
||||||
|
entries.append(cmake_cache_string(
|
||||||
|
"BLT_FORTRAN_FLAGS",
|
||||||
|
"-WF,-C! -qxlf2003=polymorphic",
|
||||||
|
description))
|
||||||
|
|
||||||
|
if spec.satisfies('target=ppc64le:'):
|
||||||
|
# Fix for working around CMake adding implicit link directories
|
||||||
|
# returned by the BlueOS compilers to link executables with
|
||||||
|
# non-system default stdlib
|
||||||
|
_gcc_prefix = "/usr/tce/packages/gcc/gcc-4.9.3/lib64"
|
||||||
|
if os.path.exists(_gcc_prefix):
|
||||||
|
_gcc_prefix2 = pjoin(
|
||||||
|
_gcc_prefix,
|
||||||
|
"gcc/powerpc64le-unknown-linux-gnu/4.9.3")
|
||||||
|
_link_dirs = "{0};{1}".format(_gcc_prefix, _gcc_prefix2)
|
||||||
|
entries.append(cmake_cache_string(
|
||||||
|
"BLT_CMAKE_IMPLICIT_LINK_DIRECTORIES_EXCLUDE",
|
||||||
|
_link_dirs))
|
||||||
|
|
||||||
return entries
|
return entries
|
||||||
|
|
||||||
|
@ -327,7 +331,7 @@ def initconfig_package_entries(self):
|
||||||
entries.append(cmake_cache_path('%s_DIR' % dep.upper(),
|
entries.append(cmake_cache_path('%s_DIR' % dep.upper(),
|
||||||
dep_dir))
|
dep_dir))
|
||||||
else:
|
else:
|
||||||
entries.append('# %s not build\n' % dep.upper())
|
entries.append('# %s not built\n' % dep.upper())
|
||||||
|
|
||||||
if '+scr' in spec:
|
if '+scr' in spec:
|
||||||
dep_dir = get_spec_path(spec, 'scr', path_replacements)
|
dep_dir = get_spec_path(spec, 'scr', path_replacements)
|
||||||
|
@ -339,7 +343,7 @@ def initconfig_package_entries(self):
|
||||||
dep_dir = get_spec_path(spec, dep, path_replacements)
|
dep_dir = get_spec_path(spec, dep, path_replacements)
|
||||||
entries.append(cmake_cache_path('%s_DIR' % dep.upper(), dep_dir))
|
entries.append(cmake_cache_path('%s_DIR' % dep.upper(), dep_dir))
|
||||||
else:
|
else:
|
||||||
entries.append('# scr not build\n')
|
entries.append('# scr not built\n')
|
||||||
|
|
||||||
##################################
|
##################################
|
||||||
# Devtools
|
# Devtools
|
||||||
|
|
Loading…
Reference in a new issue