Skip to content

Commit

Permalink
Merge remote-tracking branch 'github/develop' into tribits-snapshot-2…
Browse files Browse the repository at this point in the history
…022-12-12

Here I resolved the conflicts in the files:

* CMakeLists.txt
* packages/teko/src/CMakeLists.txt

by combining the changes from the two branches.  It was pretty
straightforward.  (Just do some diffs for these files between the two branches
and this merge commit).
  • Loading branch information
bartlettroscoe committed Dec 20, 2022
2 parents aacf63d + 281650b commit bfb7dc8
Show file tree
Hide file tree
Showing 124 changed files with 3,385 additions and 2,263 deletions.
32 changes: 32 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,38 @@ INCLUDE(${CMAKE_CURRENT_LIST_DIR}/ProjectName.cmake)
# not in an include file :-(
PROJECT(${PROJECT_NAME} NONE)

# Set up to use ccache
if($ENV{CCACHE_NODISABLE})
# ccache must be requested explicitly by setting env-var CCACHE_NODISABLE
find_program(CCACHE_PROGRAM ccache)
if(CCACHE_PROGRAM)
# Set up wrapper scripts
set(C_LAUNCHER "${CCACHE_PROGRAM}")
set(CXX_LAUNCHER "${CCACHE_PROGRAM}")
configure_file(launch-c.in launch-c)
configure_file(launch-cxx.in launch-cxx)
execute_process(COMMAND chmod a+rx
"${CMAKE_BINARY_DIR}/launch-c"
"${CMAKE_BINARY_DIR}/launch-cxx"
)

if(CMAKE_GENERATOR STREQUAL "Xcode")
# Set Xcode project attributes to route compilation and linking
# through our scripts
set(CMAKE_XCODE_ATTRIBUTE_CC "${CMAKE_BINARY_DIR}/launch-c")
set(CMAKE_XCODE_ATTRIBUTE_CXX "${CMAKE_BINARY_DIR}/launch-cxx")
set(CMAKE_XCODE_ATTRIBUTE_LD "${CMAKE_BINARY_DIR}/launch-c")
set(CMAKE_XCODE_ATTRIBUTE_LDPLUSPLUS "${CMAKE_BINARY_DIR}/launch-cxx")
else()
# Support Unix Makefiles and Ninja
set(CMAKE_C_COMPILER_LAUNCHER "${CMAKE_BINARY_DIR}/launch-c")
set(CMAKE_CXX_COMPILER_LAUNCHER "${CMAKE_BINARY_DIR}/launch-cxx")
endif()
else()
message(WARNING "ccache requested but not found")
endif()
endif()

# Set an env so we know we are in configure
set(ENV{CMAKE_IS_IN_CONFIGURE_MODE} 1)

Expand Down
4 changes: 2 additions & 2 deletions cmake/TPLs/FindTPLSuperLUDist.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ int main()

SET(CMAKE_REQUIRED_LIBRARIES SuperLUDist::all_libs)
SET(CMAKE_REQUIRED_FLAGS ${CMAKE_EXE_LINKER_FLAGS})
CHECK_C_SOURCE_COMPILES("${SOURCE}" ${VARNAME})
CHECK_CXX_SOURCE_COMPILES("${SOURCE}" ${VARNAME})
ENDFUNCTION()

# Version 4.0 of SuperLU_DIST changed the calling parameters of the
Expand All @@ -102,7 +102,7 @@ int main()

SET(CMAKE_REQUIRED_LIBRARIES SuperLUDist::all_libs)
SET(CMAKE_REQUIRED_FLAGS ${CMAKE_EXE_LINKER_FLAGS})
CHECK_C_SOURCE_COMPILES("${SOURCE}" ${VARNAME})
CHECK_CXX_SOURCE_COMPILES("${SOURCE}" ${VARNAME})
ENDFUNCTION()

IF (TPL_ENABLE_SuperLUDist)
Expand Down
10 changes: 10 additions & 0 deletions launch-c.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash

# Xcode generator doesn't include the compiler as the
# first argument, Ninja and Makefiles do. Handle both cases.
if [[ "$1" = "${CMAKE_C_COMPILER}" ]] ; then
shift
fi

export CCACHE_CPP2=true
exec "${C_LAUNCHER}" "${CMAKE_C_COMPILER}" "$@"
10 changes: 10 additions & 0 deletions launch-cxx.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash

# Xcode generator doesn't include the compiler as the
# first argument, Ninja and Makefiles do. Handle both cases.
if [[ "$1" = "${CMAKE_CXX_COMPILER}" ]] ; then
shift
fi

export CCACHE_CPP2=true
exec "${CXX_LAUNCHER}" "${CMAKE_CXX_COMPILER}" "$@"
196 changes: 196 additions & 0 deletions packages/framework/ini-files/config-specs.ini
Original file line number Diff line number Diff line change
Expand Up @@ -723,6 +723,7 @@ opt-set-cmake-var Trilinos_ENABLE_SECONDARY_TESTED_CODE BOOL : ON
[USE-RDC|YES]
opt-set-cmake-var CMAKE_CXX_FLAGS STRING FORCE : ${CMAKE_CXX_FLAGS|CMAKE} --remove-duplicate-link-files
opt-set-cmake-var Kokkos_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE BOOL FORCE : ON
opt-set-cmake-var Stokhos_ENABLE_MueLu BOOL FORCE : OFF

[USE-RDC|NO]
opt-set-cmake-var Kokkos_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE BOOL : OFF
Expand Down Expand Up @@ -1882,3 +1883,198 @@ use PACKAGE-ENABLES|ALL
opt-set-cmake-var Trilinos_AUTOGENERATE_TEST_RESOURCE_FILE BOOL : ON
opt-set-cmake-var Trilinos_CUDA_NUM_GPUS STRING : 4
opt-set-cmake-var Trilinos_CUDA_SLOTS_PER_GPU STRING : 2

[rhel7_ascdo-gnu-10.3.0-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables]
use NODE-TYPE|SERIAL
use BUILD-TYPE|DEBUG
use RHEL7_SEMS_LIB-TYPE|SHARED
use KOKKOS-ARCH|NO-KOKKOS-ARCH
use USE-ASAN|NO
use USE-COMPLEX|NO
use USE-FPIC|NO
use USE-MPI|NO
use USE-PT|NO
use USE-RDC|NO
use USE-UVM|NO
use USE-DEPRECATED|YES
use PACKAGE-ENABLES|NO-PACKAGE-ENABLES

opt-set-cmake-var CMAKE_CXX_STANDARD STRING : 17
opt-set-cmake-var Trilinos_ENABLE_TESTS BOOL FORCE : ON

# There is no netcdf available via ascdo
opt-set-cmake-var TPL_ENABLE_Netcdf BOOL : OFF

# PyTrilinos config fails with:
# -- Found NumPy: 1.21.5 (found suitable version "1.21.5", minimum required is "1.0")
# CMake Error at packages/PyTrilinos/CMakeLists.txt:206 (MESSAGE):
# SWIG version 2.0.10 is less than minimum version 3.0.11
opt-set-cmake-var Trilinos_ENABLE_PyTrilinos BOOL : OFF

[rhel7_ascdo-gnu-10.3.0-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_all]
use rhel7_ascdo-gnu-10.3.0-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
use PACKAGE-ENABLES|ALL

[rhel7_ascdo-gnu-10.3.0-openmp_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables]
use NODE-TYPE|OPENMP
use BUILD-TYPE|DEBUG
use RHEL7_SEMS_LIB-TYPE|SHARED
use KOKKOS-ARCH|NO-KOKKOS-ARCH
use USE-ASAN|NO
use USE-COMPLEX|NO
use USE-FPIC|NO
use USE-MPI|NO
use USE-PT|NO
use USE-RDC|NO
use USE-UVM|NO
use USE-DEPRECATED|YES
use PACKAGE-ENABLES|NO-PACKAGE-ENABLES

opt-set-cmake-var CMAKE_CXX_STANDARD STRING : 17
opt-set-cmake-var Trilinos_ENABLE_TESTS BOOL FORCE : ON

# There is no netcdf available via ascdo
opt-set-cmake-var TPL_ENABLE_Netcdf BOOL : OFF

# PyTrilinos config fails with:
# -- Found NumPy: 1.21.5 (found suitable version "1.21.5", minimum required is "1.0")
# CMake Error at packages/PyTrilinos/CMakeLists.txt:206 (MESSAGE):
# SWIG version 2.0.10 is less than minimum version 3.0.11
opt-set-cmake-var Trilinos_ENABLE_PyTrilinos BOOL : OFF

opt-set-cmake-var CMAKE_GENERATOR STRING : Ninja

[rhel7_ascdo-gnu-10.3.0-openmp_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_all]
use rhel7_ascdo-gnu-10.3.0-openmp_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
use PACKAGE-ENABLES|ALL

[rhel7_ascdo-gnu-10.3.0-openmpi-4.1.4-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables]
use NODE-TYPE|SERIAL
use BUILD-TYPE|DEBUG
use RHEL7_SEMS_LIB-TYPE|SHARED
use KOKKOS-ARCH|NO-KOKKOS-ARCH
use USE-ASAN|NO
use USE-COMPLEX|NO
use USE-FPIC|NO
use USE-MPI|YES
use USE-PT|NO
use USE-RDC|NO
use USE-UVM|NO
use USE-DEPRECATED|YES
use PACKAGE-ENABLES|NO-PACKAGE-ENABLES

opt-set-cmake-var CMAKE_CXX_STANDARD STRING : 17
opt-set-cmake-var Trilinos_ENABLE_TESTS BOOL FORCE : ON

# There is no netcdf available via ascdo
opt-set-cmake-var TPL_ENABLE_Netcdf BOOL : OFF

# PyTrilinos config fails with:
# -- Found NumPy: 1.21.5 (found suitable version "1.21.5", minimum required is "1.0")
# CMake Error at packages/PyTrilinos/CMakeLists.txt:206 (MESSAGE):
# SWIG version 2.0.10 is less than minimum version 3.0.11
#opt-set-cmake-var Trilinos_ENABLE_PyTrilinos BOOL : OFF

opt-set-cmake-var CMAKE_GENERATOR STRING : Ninja

[rhel7_ascdo-gnu-10.3.0-openmpi-4.1.4-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_all]
use rhel7_ascdo-gnu-10.3.0-openmpi-4.1.4-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
use PACKAGE-ENABLES|ALL


[rhel7_ascdo-gnu-12.1.0-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables]
use NODE-TYPE|SERIAL
use BUILD-TYPE|DEBUG
use RHEL7_SEMS_LIB-TYPE|SHARED
use KOKKOS-ARCH|NO-KOKKOS-ARCH
use USE-ASAN|NO
use USE-COMPLEX|NO
use USE-FPIC|NO
use USE-MPI|NO
use USE-PT|NO
use USE-RDC|NO
use USE-UVM|NO
use USE-DEPRECATED|YES
use PACKAGE-ENABLES|NO-PACKAGE-ENABLES

opt-set-cmake-var CMAKE_CXX_STANDARD STRING : 17
opt-set-cmake-var Trilinos_ENABLE_TESTS BOOL FORCE : ON

# There is no netcdf available via ascdo
opt-set-cmake-var TPL_ENABLE_Netcdf BOOL : OFF

# PyTrilinos config fails with:
# -- Found NumPy: 1.21.5 (found suitable version "1.21.5", minimum required is "1.0")
# CMake Error at packages/PyTrilinos/CMakeLists.txt:206 (MESSAGE):
# SWIG version 2.0.10 is less than minimum version 3.0.11
opt-set-cmake-var Trilinos_ENABLE_PyTrilinos BOOL : OFF

[rhel7_ascdo-gnu-12.1.0-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_all]
use rhel7_ascdo-gnu-12.1.0-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
use PACKAGE-ENABLES|ALL

[rhel7_ascdo-gnu-12.1.0-openmp_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables]
use NODE-TYPE|OPENMP
use BUILD-TYPE|DEBUG
use RHEL7_SEMS_LIB-TYPE|SHARED
use KOKKOS-ARCH|NO-KOKKOS-ARCH
use USE-ASAN|NO
use USE-COMPLEX|NO
use USE-FPIC|NO
use USE-MPI|NO
use USE-PT|NO
use USE-RDC|NO
use USE-UVM|NO
use USE-DEPRECATED|YES
use PACKAGE-ENABLES|NO-PACKAGE-ENABLES

opt-set-cmake-var CMAKE_CXX_STANDARD STRING : 17
opt-set-cmake-var Trilinos_ENABLE_TESTS BOOL FORCE : ON

# There is no netcdf available via ascdo
opt-set-cmake-var TPL_ENABLE_Netcdf BOOL : OFF

# PyTrilinos config fails with:
# -- Found NumPy: 1.21.5 (found suitable version "1.21.5", minimum required is "1.0")
# CMake Error at packages/PyTrilinos/CMakeLists.txt:206 (MESSAGE):
# SWIG version 2.0.10 is less than minimum version 3.0.11
opt-set-cmake-var Trilinos_ENABLE_PyTrilinos BOOL : OFF

opt-set-cmake-var CMAKE_GENERATOR STRING : Ninja

[rhel7_ascdo-gnu-12.1.0-openmp_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_all]
use rhel7_ascdo-gnu-12.1.0-openmp_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
use PACKAGE-ENABLES|ALL

[rhel7_ascdo-gnu-12.1.0-openmpi-4.1.4-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables]
use NODE-TYPE|SERIAL
use BUILD-TYPE|DEBUG
use RHEL7_SEMS_LIB-TYPE|SHARED
use KOKKOS-ARCH|NO-KOKKOS-ARCH
use USE-ASAN|NO
use USE-COMPLEX|NO
use USE-FPIC|NO
use USE-MPI|YES
use USE-PT|NO
use USE-RDC|NO
use USE-UVM|NO
use USE-DEPRECATED|YES
use PACKAGE-ENABLES|NO-PACKAGE-ENABLES

opt-set-cmake-var CMAKE_CXX_STANDARD STRING : 17
opt-set-cmake-var Trilinos_ENABLE_TESTS BOOL FORCE : ON

# There is no netcdf available via ascdo
opt-set-cmake-var TPL_ENABLE_Netcdf BOOL : OFF

# PyTrilinos config fails with:
# -- Found NumPy: 1.21.5 (found suitable version "1.21.5", minimum required is "1.0")
# CMake Error at packages/PyTrilinos/CMakeLists.txt:206 (MESSAGE):
# SWIG version 2.0.10 is less than minimum version 3.0.11
opt-set-cmake-var Trilinos_ENABLE_PyTrilinos BOOL : OFF

opt-set-cmake-var CMAKE_GENERATOR STRING : Ninja

[rhel7_ascdo-gnu-12.1.0-openmpi-4.1.4-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_all]
use rhel7_ascdo-gnu-12.1.0-openmpi-4.1.4-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
use PACKAGE-ENABLES|ALL
6 changes: 6 additions & 0 deletions packages/framework/ini-files/supported-envs.ini
Original file line number Diff line number Diff line change
Expand Up @@ -155,3 +155,9 @@ sems-cuda-11.4.2-sems-gnu-10.1.0-sems-openmpi-4.0.5:
sems-cuda-11.4.2
sems-intel-2021.3-sems-openmpi-4.0.5:
sems-intel-2021.3
ascdo-gnu-10.3.0-serial
ascdo-gnu-10.3.0-openmp
ascdo-gnu-10.3.0-openmpi-4.1.4-serial
ascdo-gnu-12.1.0-serial
ascdo-gnu-12.1.0-openmp
ascdo-gnu-12.1.0-openmpi-4.1.4-serial
12 changes: 12 additions & 0 deletions packages/muelu/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,18 @@ IF (NOT ${PACKAGE_NAME}_ENABLE_Tpetra)
GLOBAL_SET(HAVE_${PACKAGE_NAME_UC}_IFPACK2 OFF)
ENDIF ()


# Print a warning when we might be lacking a coarse solver.
ASSERT_DEFINED(${PACKAGE_NAME}_ENABLE_Amesos)
IF (${PACKAGE_NAME}_ENABLE_Epetra AND NOT ${PACKAGE_NAME}_ENABLE_Amesos)
MESSAGE(WARNING "MueLu's Epetra backend is enabled, but Amesos is disabled. This means only iterative coarse solves are available when using Epetra.")
ENDIF ()
ASSERT_DEFINED(${PACKAGE_NAME}_ENABLE_Amesos2)
IF (${PACKAGE_NAME}_ENABLE_Tpetra AND NOT ${PACKAGE_NAME}_ENABLE_Amesos2)
MESSAGE(WARNING "MueLu's Tpetra backend is enabled, but Amesos2 is disabled. This means only iterative coarse solves are available when using Tpetra.")
ENDIF ()


# Enable experimental code
TRIBITS_ADD_OPTION_AND_DEFINE(
${PACKAGE_NAME}_ENABLE_Experimental
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,31 @@ TRIBITS_ADD_EXECUTABLE(
SOURCES ${ASSEMBLY_EXAMPLE_SOURCES}
)

TRIBITS_ADD_ADVANCED_TEST(
CurlLaplacianExample
EXCLUDE_IF_NOT_TRUE ${${PARENT_PACKAGE_NAME}_ADD_EXPENSIVE_CUDA_TESTS}
TEST_0 EXEC CurlLaplacianExample
ARGS --use-epetra --output-filename="base-curl-test-"
PASS_REGULAR_EXPRESSION "ALL PASSED: Epetra"
NUM_MPI_PROCS 4
TEST_1 EXEC CurlLaplacianExample
ARGS --use-tpetra --output-filename="base-curl-test-"
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
COMM mpi
)
IF(PANZER_HAVE_EPETRA)
TRIBITS_ADD_ADVANCED_TEST(
CurlLaplacianExample
EXCLUDE_IF_NOT_TRUE ${${PARENT_PACKAGE_NAME}_ADD_EXPENSIVE_CUDA_TESTS}
TEST_0 EXEC CurlLaplacianExample
ARGS --use-epetra --output-filename="base-curl-test-"
PASS_REGULAR_EXPRESSION "ALL PASSED: Epetra"
NUM_MPI_PROCS 4
TEST_1 EXEC CurlLaplacianExample
ARGS --use-tpetra --output-filename="base-curl-test-"
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
COMM mpi
)
ELSE(PANZER_HAVE_EPETRA)
TRIBITS_ADD_ADVANCED_TEST(
CurlLaplacianExample
EXCLUDE_IF_NOT_TRUE ${${PARENT_PACKAGE_NAME}_ADD_EXPENSIVE_CUDA_TESTS}
TEST_0 EXEC CurlLaplacianExample
ARGS --use-tpetra --output-filename="base-curl-test-"
PASS_REGULAR_EXPRESSION "ALL PASSED: Tpetra"
NUM_MPI_PROCS 4
COMM mpi
)
ENDIF(PANZER_HAVE_EPETRA)

FOREACH( ORDER 1 2 3 4 )
TRIBITS_ADD_ADVANCED_TEST(
Expand Down
Loading

0 comments on commit bfb7dc8

Please sign in to comment.