diff --git a/cmake/ctest/drivers/ascicgpu031/CMakeLists.txt b/cmake/ctest/drivers/ascicgpu031/CMakeLists.txt index 8bfe3d65b8ee..d1d004d8ba75 100644 --- a/cmake/ctest/drivers/ascicgpu031/CMakeLists.txt +++ b/cmake/ctest/drivers/ascicgpu031/CMakeLists.txt @@ -48,5 +48,28 @@ TRILINOS_DRIVER_ADD_DASHBOARD( RUN_SERIAL TIMEOUT_MINUTES 420 ) +TRILINOS_DRIVER_ADD_DASHBOARD( + DEBUG_CUDA_NOUVM_NODEPRECATED_SAKE + ctest_linux_nightly_mpi_debug_nouvm_ascicgpu031_sake.cmake + CTEST_INSTALLER_TYPE debug + RUN_SERIAL + TIMEOUT_MINUTES 420 + ) + +TRILINOS_DRIVER_ADD_DASHBOARD( + DEBUG_CUDA_UVM_NODEPRECATED_SAKE + ctest_linux_nightly_mpi_debug_uvm_nodeprecated_ascicgpu031_sake.cmake + CTEST_INSTALLER_TYPE debug + RUN_SERIAL + TIMEOUT_MINUTES 420 + ) + +TRILINOS_DRIVER_ADD_DASHBOARD( + DEBUG_CUDA_UVM_DEPRECATED_SAKE + ctest_linux_nightly_mpi_debug_uvm_deprecated_ascicgpu031_sake.cmake + CTEST_INSTALLER_TYPE debug + RUN_SERIAL + TIMEOUT_MINUTES 420 + ) TRILINOS_ADD_REQUIRED_CMAKE_INSTALLS() diff --git a/cmake/ctest/drivers/ascicgpu031/TrilinosCTestDriverCore.ascicgpu031.gcc-cuda.sake.cmake b/cmake/ctest/drivers/ascicgpu031/TrilinosCTestDriverCore.ascicgpu031.gcc-cuda.sake.cmake new file mode 100644 index 000000000000..da7b6b52de02 --- /dev/null +++ b/cmake/ctest/drivers/ascicgpu031/TrilinosCTestDriverCore.ascicgpu031.gcc-cuda.sake.cmake @@ -0,0 +1,164 @@ +# @HEADER +# ************************************************************************ +# +# Trilinos: An Object-Oriented Solver Framework +# Copyright (2001) Sandia Corporation +# +# +# Copyright (2001) Sandia Corporation. Under the terms of Contract +# DE-AC04-94AL85000, there is a non-exclusive license for use of this +# work by or on behalf of the U.S. Government. Export of this program +# may require a license from the United States Government. +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# 3. Neither the name of the Corporation nor the names of the +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# NOTICE: The United States Government is granted for itself and others +# acting on its behalf a paid-up, nonexclusive, irrevocable worldwide +# license in this data to reproduce, prepare derivative works, and +# perform publicly and display publicly. Beginning five (5) years from +# July 25, 2001, the United States Government is granted for itself and +# others acting on its behalf a paid-up, nonexclusive, irrevocable +# worldwide license in this data to reproduce, prepare derivative works, +# distribute copies to the public, perform publicly and display +# publicly, and to permit others to do so. +# +# NEITHER THE UNITED STATES GOVERNMENT, NOR THE UNITED STATES DEPARTMENT +# OF ENERGY, NOR SANDIA CORPORATION, NOR ANY OF THEIR EMPLOYEES, MAKES +# ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LEGAL LIABILITY OR +# RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY +# INFORMATION, APPARATUS, PRODUCT, OR PROCESS DISCLOSED, OR REPRESENTS +# THAT ITS USE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS. +# +# ************************************************************************ +# @HEADER + + +INCLUDE("${CTEST_SCRIPT_DIRECTORY}/../../TrilinosCTestDriverCore.cmake") + +# +# Platform/compiler specific options for geminga using gcc +# + +MACRO(TRILINOS_SYSTEM_SPECIFIC_CTEST_DRIVER) + + # Base of Trilinos/cmake/ctest then BUILD_DIR_NAME + IF(COMM_TYPE STREQUAL MPI) + string(TOUPPER $ENV{SIERRA_MPI} UC_MPI_NAME) + SET(BUILD_DIR_NAME ${UC_MPI_NAME}_${BUILD_TYPE}_${BUILD_NAME_DETAILS}) + ELSE() + SET(BUILD_DIR_NAME ${COMM_TYPE}-${BUILD_TYPE}_${BUILD_NAME_DETAILS}) + ENDIF() + + SET(Trilinos_REPOSITORY_LOCATION_NIGHTLY_DEFAULT "git@gitlab-ex.sandia.gov:trilinos-project/Trilinos.git") + SET(Trilinos_BRANCH "Tpetra_UVM_Removal" ) + + SET(CTEST_DASHBOARD_ROOT "${TRILINOS_CMAKE_DIR}/../../${BUILD_DIR_NAME}" ) + SET(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}" ) + SET(CTEST_BUILD_FLAGS "-j45 -i" ) + + SET_DEFAULT(CTEST_PARALLEL_LEVEL "45" ) + SET_DEFAULT(Trilinos_ENABLE_SECONDARY_TESTED_CODE ON) + SET(Trilinos_CTEST_DO_ALL_AT_ONCE FALSE) + SET_DEFAULT(Trilinos_EXCLUDE_PACKAGES ${EXTRA_EXCLUDE_PACKAGES} TriKota Optika Pamgen) + + # Select package disables + set (Trilinos_ENABLE_Gtest OFF CACHE BOOL "Gtest just does not build" FORCE) + set (Trilinos_ENABLE_ShyLU_NodeTacho OFF CACHE BOOL "Can't test Tacho with CUDA without RDC" FORCE) + set (Trilinos_ENABLE_Shards OFF CACHE BOOL "Shards does not build" FORCE) + set (Trilinos_ENABLE_Epetra OFF CACHE BOOL "We do not want Epetra" FORCE) + + SET(EXTRA_SYSTEM_CONFIGURE_OPTIONS + "-DCMAKE_BUILD_TYPE:STRING=${BUILD_TYPE}" + + # Adding the following as a possible fix for github issue #2115. + #KDD This flag appears to be unnecessary in April 2021, and it + #KDD breaks building of Zoltan tests + #KDD "-DCMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS:BOOL=ON" + + ### ALWAYS AND EVERYWHERE ### + "-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON" + "-DBUILD_SHARED_LIBS:BOOL=ON" + "-DTrilinos_ENABLE_TESTS:BOOL=ON" + "-DTrilinos_ENABLE_EXAMPLES:BOOL=ON" + "-DTrilinos_ENABLE_DEPENDENCY_UNIT_TESTS:BOOL=OFF" + "-DTeuchos_GLOBALLY_REDUCE_UNITTEST_RESULTS:BOOL=ON" + "-DTrilinos_ENABLE_COMPLEX=ON" + "-DTeuchos_ENABLE_COMPLEX=ON" + "-DTpetra_INST_COMPLEX_DOUBLE=ON" + + ### COMPILERS AND FLAGS ### + "-DCMAKE_CXX_FLAGS:STRING='-Wall -Wno-unknown-pragmas -Wno-unused-but-set-variable -Wno-inline -Wshadow'" + "-DTrilinos_ENABLE_Fortran:BOOL=OFF" + + ### TPLS ### + "-DTPL_ENABLE_CUDA:BOOL=ON" + "-DCMAKE_POLICY_DEFAULT_CMP0074=NEW" + "-DTPL_ENABLE_CUSPARSE:BOOL=ON" + "-DTPL_ENABLE_HWLOC:BOOL=OFF" + + + # Host Blas is required (https://github.com/kokkos/kokkos-kernels/issues/347) for Kokkos-Kernels to build correctly + "-DTPL_ENABLE_BLAS:BOOL=ON" + "-DTPL_ENABLE_LAPACK:BOOL=ON" + "-DTPL_BLAS_LIBRARIES=/usr/lib64/libblas.so" + "-DTPL_LAPACK_LIBRARIES=/usr/lib64/liblapack.so" + + ### PACKAGE CONFIGURATION ### + "-DKokkos_ENABLE_CUDA:BOOL=ON" + "-DKokkos_ENABLE_CUDA_LAMBDA:BOOL=ON" + "-DKokkos_ARCH_SKX:BOOL=ON" + "-DKokkos_ARCH_VOLTA70:BOOL=ON" + "-DKokkos_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE=OFF" + + "-DTrilinos_ENABLE_Epetra:BOOL=OFF" + "-DTrilinos_ENABLE_Gtest:BOOL=OFF" + "-DTrilinos_ENABLE_Pamgen:BOOL=OFF" + "-DTrilinos_ENABLE_Shards:BOOL=OFF" + "-DTrilinos_ENABLE_ShyLU_Node:BOOL=OFF" + "-DTrilinos_ENABLE_ShyLU_NodeTacho:BOOL=OFF" + "-DTrilinos_ENABLE_ShyLU:BOOL=OFF" + "-DTrilinos_ENABLE_ShyLU_DD:BOOL=OFF" + "-DAmesos2_ENABLE_ShyLU_NodeTacho:BOOL=OFF" + "-DAmesos2_ENABLE_ShyLU_NodeBasker:BOOL=OFF" + + ### MISC ### + "-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON" + ) + + SET_DEFAULT(COMPILER_VERSION "$ENV{SIERRA_PLATFORM}") + + # Ensure that MPI is on for all parallel builds that might be run. + IF(COMM_TYPE STREQUAL MPI) + + SET(EXTRA_SYSTEM_CONFIGURE_OPTIONS + ${EXTRA_SYSTEM_CONFIGURE_OPTIONS} + "-DTPL_ENABLE_MPI:BOOL=ON" + "-DMPI_BASE_DIR:PATH=$ENV{MPIHOME}" + ) + + ENDIF() + + TRILINOS_CTEST_DRIVER() + +ENDMACRO() diff --git a/cmake/ctest/drivers/ascicgpu031/ctest_linux_nightly_mpi_debug_nouvm_ascicgpu031_sake.cmake b/cmake/ctest/drivers/ascicgpu031/ctest_linux_nightly_mpi_debug_nouvm_ascicgpu031_sake.cmake new file mode 100644 index 000000000000..01d9d56d6d53 --- /dev/null +++ b/cmake/ctest/drivers/ascicgpu031/ctest_linux_nightly_mpi_debug_nouvm_ascicgpu031_sake.cmake @@ -0,0 +1,98 @@ +# @HEADER +# ************************************************************************ +# +# Trilinos: An Object-Oriented Solver Framework +# Copyright (2001) Sandia Corporation +# +# +# Copyright (2001) Sandia Corporation. Under the terms of Contract +# DE-AC04-94AL85000, there is a non-exclusive license for use of this +# work by or on behalf of the U.S. Government. Export of this program +# may require a license from the United States Government. +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# 3. Neither the name of the Corporation nor the names of the +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# NOTICE: The United States Government is granted for itself and others +# acting on its behalf a paid-up, nonexclusive, irrevocable worldwide +# license in this data to reproduce, prepare derivative works, and +# perform publicly and display publicly. Beginning five (5) years from +# July 25, 2001, the United States Government is granted for itself and +# others acting on its behalf a paid-up, nonexclusive, irrevocable +# worldwide license in this data to reproduce, prepare derivative works, +# distribute copies to the public, perform publicly and display +# publicly, and to permit others to do so. +# +# NEITHER THE UNITED STATES GOVERNMENT, NOR THE UNITED STATES DEPARTMENT +# OF ENERGY, NOR SANDIA CORPORATION, NOR ANY OF THEIR EMPLOYEES, MAKES +# ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LEGAL LIABILITY OR +# RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY +# INFORMATION, APPARATUS, PRODUCT, OR PROCESS DISCLOSED, OR REPRESENTS +# THAT ITS USE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS. +# +# ************************************************************************ +# @HEADER + + +INCLUDE("${CTEST_SCRIPT_DIRECTORY}/TrilinosCTestDriverCore.ascicgpu031.gcc-cuda.sake.cmake") + +# +# Set the options specific to this build case +# + +# The variable BUILD_DIR_NAME is based COMM_TYPE, BUILD_TYPE, and BUILD_NAME_DETAILS. +# Tribits creates the variable listed under "Build Name" by prepending the OS type and compiler +# details to BUILD_DIR_NAME. +SET(COMM_TYPE MPI) +SET(BUILD_TYPE DEBUG) +SET(BUILD_NAME_DETAILS NOUVM_NODEPRECATED_SAKE) + +SET(CTEST_PARALLEL_LEVEL 8) +SET(CTEST_TEST_TYPE Nightly) +SET(Trilinos_TRACK Experimental) # Set the CDash track +SET(CTEST_TEST_TIMEOUT 900) + +SET(Trilinos_PACKAGES Amesos2 Belos Tpetra Ifpack2 MueLu Xpetra Zoltan2) + +SET(EXTRA_CONFIGURE_OPTIONS + ### TPLS ### + "-DTPL_ENABLE_SuperLU:BOOL=OFF" + "-DTPL_ENABLE_HWLOC:BOOL=OFF" + + ### PACKAGES CONFIGURATION ### + "-DTpetra_INST_INT_INT:BOOL=OFF" + "-DTpetra_INST_INT_LONG_LONG:BOOL=ON" + "-DTpetra_INST_COMPLEX_FLOAT:BOOL=OFF" + + "-DKokkos_ENABLE_CUDA_UVM:BOOL=OFF" + "-DTpetra_ENABLE_CUDA_UVM:BOOL=OFF" + + "-DTpetra_ENABLE_DEPRECATED_CODE:BOOL=OFF" + +) + +# +# Set the rest of the system-specific options and run the dashboard build/test +# + +TRILINOS_SYSTEM_SPECIFIC_CTEST_DRIVER() diff --git a/cmake/ctest/drivers/ascicgpu031/ctest_linux_nightly_mpi_debug_uvm_deprecated_ascicgpu031_sake.cmake b/cmake/ctest/drivers/ascicgpu031/ctest_linux_nightly_mpi_debug_uvm_deprecated_ascicgpu031_sake.cmake new file mode 100644 index 000000000000..7fd21e9fc4a1 --- /dev/null +++ b/cmake/ctest/drivers/ascicgpu031/ctest_linux_nightly_mpi_debug_uvm_deprecated_ascicgpu031_sake.cmake @@ -0,0 +1,98 @@ +# @HEADER +# ************************************************************************ +# +# Trilinos: An Object-Oriented Solver Framework +# Copyright (2001) Sandia Corporation +# +# +# Copyright (2001) Sandia Corporation. Under the terms of Contract +# DE-AC04-94AL85000, there is a non-exclusive license for use of this +# work by or on behalf of the U.S. Government. Export of this program +# may require a license from the United States Government. +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# 3. Neither the name of the Corporation nor the names of the +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# NOTICE: The United States Government is granted for itself and others +# acting on its behalf a paid-up, nonexclusive, irrevocable worldwide +# license in this data to reproduce, prepare derivative works, and +# perform publicly and display publicly. Beginning five (5) years from +# July 25, 2001, the United States Government is granted for itself and +# others acting on its behalf a paid-up, nonexclusive, irrevocable +# worldwide license in this data to reproduce, prepare derivative works, +# distribute copies to the public, perform publicly and display +# publicly, and to permit others to do so. +# +# NEITHER THE UNITED STATES GOVERNMENT, NOR THE UNITED STATES DEPARTMENT +# OF ENERGY, NOR SANDIA CORPORATION, NOR ANY OF THEIR EMPLOYEES, MAKES +# ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LEGAL LIABILITY OR +# RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY +# INFORMATION, APPARATUS, PRODUCT, OR PROCESS DISCLOSED, OR REPRESENTS +# THAT ITS USE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS. +# +# ************************************************************************ +# @HEADER + + +INCLUDE("${CTEST_SCRIPT_DIRECTORY}/TrilinosCTestDriverCore.ascicgpu031.gcc-cuda.sake.cmake") + +# +# Set the options specific to this build case +# + +# The variable BUILD_DIR_NAME is based COMM_TYPE, BUILD_TYPE, and BUILD_NAME_DETAILS. +# Tribits creates the variable listed under "Build Name" by prepending the OS type and compiler +# details to BUILD_DIR_NAME. +SET(COMM_TYPE MPI) +SET(BUILD_TYPE DEBUG) +SET(BUILD_NAME_DETAILS UVM_DEPRECATED_SAKE) + +SET(CTEST_PARALLEL_LEVEL 8) +SET(CTEST_TEST_TYPE Nightly) +SET(Trilinos_TRACK Experimental) # Set the CDash track +SET(CTEST_TEST_TIMEOUT 900) + +SET(Trilinos_PACKAGES Amesos2 Belos Tpetra Ifpack2 MueLu Xpetra Zoltan2) + +SET(EXTRA_CONFIGURE_OPTIONS + ### TPLS ### + "-DTPL_ENABLE_SuperLU:BOOL=OFF" + "-DTPL_ENABLE_HWLOC:BOOL=OFF" + + ### PACKAGES CONFIGURATION ### + "-DTpetra_INST_INT_INT:BOOL=OFF" + "-DTpetra_INST_INT_LONG_LONG:BOOL=ON" + "-DTpetra_INST_COMPLEX_FLOAT:BOOL=OFF" + + "-DKokkos_ENABLE_CUDA_UVM:BOOL=ON" + "-DTpetra_ENABLE_CUDA_UVM:BOOL=ON" + + "-DTpetra_ENABLE_DEPRECATED_CODE:BOOL=ON" + +) + +# +# Set the rest of the system-specific options and run the dashboard build/test +# + +TRILINOS_SYSTEM_SPECIFIC_CTEST_DRIVER() diff --git a/cmake/ctest/drivers/ascicgpu031/ctest_linux_nightly_mpi_debug_uvm_nodeprecated_ascicgpu031_sake.cmake b/cmake/ctest/drivers/ascicgpu031/ctest_linux_nightly_mpi_debug_uvm_nodeprecated_ascicgpu031_sake.cmake new file mode 100644 index 000000000000..c894458456dd --- /dev/null +++ b/cmake/ctest/drivers/ascicgpu031/ctest_linux_nightly_mpi_debug_uvm_nodeprecated_ascicgpu031_sake.cmake @@ -0,0 +1,98 @@ +# @HEADER +# ************************************************************************ +# +# Trilinos: An Object-Oriented Solver Framework +# Copyright (2001) Sandia Corporation +# +# +# Copyright (2001) Sandia Corporation. Under the terms of Contract +# DE-AC04-94AL85000, there is a non-exclusive license for use of this +# work by or on behalf of the U.S. Government. Export of this program +# may require a license from the United States Government. +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# 3. Neither the name of the Corporation nor the names of the +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# NOTICE: The United States Government is granted for itself and others +# acting on its behalf a paid-up, nonexclusive, irrevocable worldwide +# license in this data to reproduce, prepare derivative works, and +# perform publicly and display publicly. Beginning five (5) years from +# July 25, 2001, the United States Government is granted for itself and +# others acting on its behalf a paid-up, nonexclusive, irrevocable +# worldwide license in this data to reproduce, prepare derivative works, +# distribute copies to the public, perform publicly and display +# publicly, and to permit others to do so. +# +# NEITHER THE UNITED STATES GOVERNMENT, NOR THE UNITED STATES DEPARTMENT +# OF ENERGY, NOR SANDIA CORPORATION, NOR ANY OF THEIR EMPLOYEES, MAKES +# ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY LEGAL LIABILITY OR +# RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY +# INFORMATION, APPARATUS, PRODUCT, OR PROCESS DISCLOSED, OR REPRESENTS +# THAT ITS USE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS. +# +# ************************************************************************ +# @HEADER + + +INCLUDE("${CTEST_SCRIPT_DIRECTORY}/TrilinosCTestDriverCore.ascicgpu031.gcc-cuda.sake.cmake") + +# +# Set the options specific to this build case +# + +# The variable BUILD_DIR_NAME is based COMM_TYPE, BUILD_TYPE, and BUILD_NAME_DETAILS. +# Tribits creates the variable listed under "Build Name" by prepending the OS type and compiler +# details to BUILD_DIR_NAME. +SET(COMM_TYPE MPI) +SET(BUILD_TYPE DEBUG) +SET(BUILD_NAME_DETAILS UVM_NODEPRECATED_SAKE) + +SET(CTEST_PARALLEL_LEVEL 8) +SET(CTEST_TEST_TYPE Nightly) +SET(Trilinos_TRACK Experimental) # Set the CDash track +SET(CTEST_TEST_TIMEOUT 900) + +SET(Trilinos_PACKAGES Amesos2 Belos Tpetra Ifpack2 MueLu Xpetra Zoltan2) + +SET(EXTRA_CONFIGURE_OPTIONS + ### TPLS ### + "-DTPL_ENABLE_SuperLU:BOOL=OFF" + "-DTPL_ENABLE_HWLOC:BOOL=OFF" + + ### PACKAGES CONFIGURATION ### + "-DTpetra_INST_INT_INT:BOOL=OFF" + "-DTpetra_INST_INT_LONG_LONG:BOOL=ON" + "-DTpetra_INST_COMPLEX_FLOAT:BOOL=OFF" + + "-DKokkos_ENABLE_CUDA_UVM:BOOL=ON" + "-DTpetra_ENABLE_CUDA_UVM:BOOL=ON" + + "-DTpetra_ENABLE_DEPRECATED_CODE:BOOL=OFF" + +) + +# +# Set the rest of the system-specific options and run the dashboard build/test +# + +TRILINOS_SYSTEM_SPECIFIC_CTEST_DRIVER() diff --git a/cmake/ctest/drivers/geminga/ctest_linux_nightly_mpi_release_muelu_kokkos_refactor_cuda_geminga.cmake b/cmake/ctest/drivers/geminga/ctest_linux_nightly_mpi_release_muelu_kokkos_refactor_cuda_geminga.cmake index c249766d5635..d5d7bec98594 100644 --- a/cmake/ctest/drivers/geminga/ctest_linux_nightly_mpi_release_muelu_kokkos_refactor_cuda_geminga.cmake +++ b/cmake/ctest/drivers/geminga/ctest_linux_nightly_mpi_release_muelu_kokkos_refactor_cuda_geminga.cmake @@ -76,7 +76,9 @@ SET(Trilinos_PACKAGES MueLu Xpetra Amesos2) SET(EXTRA_CONFIGURE_OPTIONS ### ETI ### "-DTrilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON" - "-DTrilinos_ENABLE_COMPLEX:BOOL=OFF" + "-DTrilinos_ENABLE_COMPLEX:BOOL=ON" + "-DTeuchos_ENABLE_COMPLEX:BOOL=ON" + "-DTpetra_INST_COMPLEX_DOUBLE:BOOL=ON" ### MISC ### "-DTrilinos_ENABLE_DEPENDENCY_UNIT_TESTS:BOOL=OFF" diff --git a/cmake/std/PullRequestLinuxCuda10.1.243TestingSettings.cmake b/cmake/std/PullRequestLinuxCuda10.1.243TestingSettings.cmake index c4b782afe673..88153c51017a 100644 --- a/cmake/std/PullRequestLinuxCuda10.1.243TestingSettings.cmake +++ b/cmake/std/PullRequestLinuxCuda10.1.243TestingSettings.cmake @@ -129,11 +129,11 @@ set (KokkosCore_UnitTest_Cuda_MPI_1_EXTRA_ARGS "--gtest_filter=-cuda.debug_pin_um_to_host:cuda.debug_serial_execution" CACHE STRING "Temporary disable for CUDA PR testing") -# Disable a few failing tests for initial release of Cuda 10.1.105 PR build -# set (EpetraExt_inout_test_LL_MPI_4_DISABLE ON CACHE BOOL "Temporary disable for CUDA PR testing") -# set (EpetraExt_inout_test_MPI_4_DISABLE ON CACHE BOOL "Temporary disable for CUDA PR testing") -# set (Teko_testdriver_MPI_4_DISABLE ON CACHE BOOL "Temporary disable for CUDA PR testing") -# set (Zoltan2_fix4785_MPI_4_DISABLE ON CACHE BOOL "Temporary disable for CUDA PR testing") +# Disable a few failing tests for initial release of Cuda 10.1.243 PR build +# these fail due to a bug in spectrum-mpi : see issue #8798 for details +set (Zoltan_ch_simple_zoltan_parallel_DISABLE ON CACHE BOOL "Temporary disable for CUDA PR testing") +set (Zoltan_hg_simple_zoltan_parallel_DISABLE ON CACHE BOOL "Temporary disable for CUDA PR testing") +set (Zoltan_mpiMinLoc_MPI_4_DISABLE ON CACHE BOOL "Temporary disable for CUDA PR testing") # Disable SEACAS tests that grep results out of stderr... set (SEACASIoss_create_path_fpp_DISABLE ON CACHE BOOL "Temporary disable due to jsrun polluting stderr") diff --git a/packages/muelu/src/Transfers/Smoothed-Aggregation/MueLu_TentativePFactory_kokkos_def.hpp b/packages/muelu/src/Transfers/Smoothed-Aggregation/MueLu_TentativePFactory_kokkos_def.hpp index c3445ba3fede..27b01a65fccd 100644 --- a/packages/muelu/src/Transfers/Smoothed-Aggregation/MueLu_TentativePFactory_kokkos_def.hpp +++ b/packages/muelu/src/Transfers/Smoothed-Aggregation/MueLu_TentativePFactory_kokkos_def.hpp @@ -101,11 +101,12 @@ namespace MueLu { typedef SCType SC; typedef typename DeviceType::execution_space execution_space; - typedef Kokkos::ArithTraits ATS; - typedef typename ATS::magnitudeType Magnitude; + typedef typename Kokkos::ArithTraits::val_type impl_SC; + typedef Kokkos::ArithTraits impl_ATS; + typedef typename impl_ATS::magnitudeType Magnitude; - typedef Kokkos::View shared_matrix; - typedef Kokkos::View shared_vector; + typedef Kokkos::View shared_matrix; + typedef Kokkos::View shared_vector; private: @@ -142,10 +143,10 @@ namespace MueLu { // size of aggregate: number of DOFs in aggregate auto aggSize = aggRows(agg+1) - aggRows(agg); - const SC one = ATS::one(); - const SC two = one + one; - const SC zero = ATS::zero(); - const auto zeroM = ATS::magnitude(zero); + const impl_SC one = impl_ATS::one(); + const impl_SC two = one + one; + const impl_SC zero = impl_ATS::zero(); + const auto zeroM = impl_ATS::magnitude(zero); int m = aggSize; int n = fineNS.extent(1); @@ -186,8 +187,8 @@ namespace MueLu { // FIXME_KOKKOS: use team Magnitude s = zeroM, norm, norm_x; for (int i = k+1; i < m; i++) - s += pow(ATS::magnitude(r(i,k)), 2); - norm = sqrt(pow(ATS::magnitude(r(k,k)), 2) + s); + s += pow(impl_ATS::magnitude(r(i,k)), 2); + norm = sqrt(pow(impl_ATS::magnitude(r(k,k)), 2) + s); if (norm == zero) { isSingular = true; @@ -196,7 +197,7 @@ namespace MueLu { r(k,k) -= norm*one; - norm_x = sqrt(pow(ATS::magnitude(r(k,k)), 2) + s); + norm_x = sqrt(pow(impl_ATS::magnitude(r(k,k)), 2) + s); if (norm_x == zeroM) { // We have a single diagonal element in the column. // No reflections required. Just need to restor r(k,k). @@ -211,7 +212,7 @@ namespace MueLu { // Update R(k:m,k+1:n) for (int j = k+1; j < n; j++) { // FIXME_KOKKOS: use team in the loops - SC si = zero; + impl_SC si = zero; for (int i = k; i < m; i++) si += r(i,k) * r(i,j); for (int i = k; i < m; i++) @@ -221,7 +222,7 @@ namespace MueLu { // Update Q^T (k:m,k:m) for (int j = k; j < m; j++) { // FIXME_KOKKOS: use team in the loops - SC si = zero; + impl_SC si = zero; for (int i = k; i < m; i++) si += r(i,k) * qt(i,j); for (int i = k; i < m; i++) @@ -238,7 +239,7 @@ namespace MueLu { // Q = (Q^T)^T for (int i = 0; i < m; i++) for (int j = 0; j < i; j++) { - SC tmp = qt(i,j); + impl_SC tmp = qt(i,j); qt(i,j) = qt(j,i); qt(j,i) = tmp; } @@ -345,7 +346,7 @@ namespace MueLu { size_t rowStart = rowsAux(localRow); size_t lnnz = 0; for (int k = 0; k < n; k++) { - const SC qr_jk = fineNS(localRow,k); + const impl_SC qr_jk = fineNS(localRow,k); // skip zeros if (qr_jk != zero) { colsAux(rowStart+lnnz) = offset + k; @@ -574,8 +575,9 @@ namespace MueLu { const size_t NSDim = fineNullspace->getNumVectors(); typedef Kokkos::ArithTraits ATS; - using impl_ATS = Kokkos::ArithTraits; - const SC zero = ATS::zero(), one = ATS::one(); + using impl_SC = typename ATS::val_type; + using impl_ATS = Kokkos::ArithTraits; + const impl_SC zero = impl_ATS::zero(), one = impl_ATS::one(); const LO INVALID = Teuchos::OrdinalTraits::invalid(); @@ -802,7 +804,7 @@ namespace MueLu { // Q = localQR(:,0)/norm for (decltype(aggSize) k = 0; k < aggSize; k++) { LO localRow = agg2RowMapLO(aggRows(agg)+k); - SC localVal = fineNSRandom(agg2RowMapLO(aggRows(agg)+k),0) / norm; + impl_SC localVal = fineNSRandom(agg2RowMapLO(aggRows(agg)+k),0) / norm; rows(localRow+1) = 1; colsAux(localRow) = agg; @@ -838,7 +840,7 @@ namespace MueLu { // Q = localQR(:,0)/norm for (decltype(aggSize) k = 0; k < aggSize; k++) { LO localRow = agg2RowMapLO(aggRows(agg)+k); - SC localVal = fineNSRandom(agg2RowMapLO(aggRows(agg)+k),0); + impl_SC localVal = fineNSRandom(agg2RowMapLO(aggRows(agg)+k),0); rows(localRow+1) = 1; colsAux(localRow) = agg; diff --git a/packages/muelu/src/Utils/MueLu_Utilities_kokkos_def.hpp b/packages/muelu/src/Utils/MueLu_Utilities_kokkos_def.hpp index f64a1eb80d34..f1c51ef08f10 100644 --- a/packages/muelu/src/Utils/MueLu_Utilities_kokkos_def.hpp +++ b/packages/muelu/src/Utils/MueLu_Utilities_kokkos_def.hpp @@ -375,7 +375,8 @@ namespace MueLu { DetectDirichletRows(const Xpetra::Matrix& A, const typename Teuchos::ScalarTraits::magnitudeType& tol, const bool count_twos_as_dirichlet) { - using ATS = Kokkos::ArithTraits; + using impl_scalar_type = typename Kokkos::ArithTraits::val_type; + using ATS = Kokkos::ArithTraits; using range_type = Kokkos::RangePolicy; auto localMatrix = A.getLocalMatrix(); diff --git a/packages/trilinoscouplings/examples/scaling/example_Maxwell.cpp b/packages/trilinoscouplings/examples/scaling/example_Maxwell.cpp index 0e75149a829a..b52aaa4b20d0 100644 --- a/packages/trilinoscouplings/examples/scaling/example_Maxwell.cpp +++ b/packages/trilinoscouplings/examples/scaling/example_Maxwell.cpp @@ -1713,7 +1713,7 @@ int main(int argc, char *argv[]) { // multiply by weighted measure IntrepidFSTools::multiplyMeasure(HCurlsTransformedWeighted, - weightedMeasure, HCurlsTransformed); + weightedMeasureMuInv, HCurlsTransformed); // integrate to compute element stiffness matrix IntrepidFSTools::integrate(stiffMatrixHCurl,