Skip to content

Commit

Permalink
Merge 'trilinos/Trilinos:develop' (ba3df3f) into 'EM-Plasma/Trilinos:…
Browse files Browse the repository at this point in the history
…develop' (7591b32).

* trilinos/develop: (77 commits)
  zoltan2:  fix memory leak when sizeof(SCOTCH_Num) == sizeof(lno_t) trilinos#9312
  Tpetra: Remove some output from the Bug7758 test
  MueLu Stratimikos adapter: Enable half precision for factory-style PLs
  Tpetra: remove some deprecated usage
  Fixed some deprecated code
  MueLu Thyra adapter: Allow construction of half precision operator
  ROL: implement the apply function for Thyra Vector
  Piro: changes to ROL adapters comply with ROL changes
  Piro: bug-fix in Piro::NOX_Solver
  MueLu: Print Scalar in MG Summary for high and extreme verbosity
  Ifpack2: disabling tests causing build errors with extended scalar types (see issue trilinos#9280).
  Ifpack2: cleaning up unused variables in tests.
  Ctest: Adding Amesos2/Belos tests
  Ctest: Stuff failing on ride that worked on ascicgpu
  Ctest: Enabling non-UVM Ifpack2 tests
  Ifpack2: changing GO to the one in Tpetra_Details_DefaultTypes.hpp.
  Disable support for Makefile.export.* files (trilinos#8498)
  Tpetra: remove unused variable (copied too many times when breaking up a function)
  ats2: Comment out listing of long-broken XL builds (trilinos#9270, trilinos#7376)
  Ifpack2: adding missing logic for new tests.
  ...
  • Loading branch information
EMPIRE Jenkins committed Jun 19, 2021
2 parents 7591b32 + ba3df3f commit c0d311f
Show file tree
Hide file tree
Showing 115 changed files with 6,293 additions and 2,328 deletions.
5 changes: 5 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,11 @@ ENDIF ()
# really Trilinos should support bulding with every newer C++ standard so we
# should just be doing that instead.

# Force off support for Makefile.export.* files while TriBITS is refactored to
# remove this (#8498)
SET(${PROJECT_NAME}_ENABLE_EXPORT_MAKEFILES OFF CACHE BOOL
"Support being removed from TriBITS (see trilinos/Trilinos#8498)" FORCE)

# Do all of the processing for this Tribits project
TRIBITS_PROJECT()

Expand Down
7 changes: 0 additions & 7 deletions cmake/ctest/drivers/atdm/ats1/local-driver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,6 @@ if [ "${SBATCH_TEST_TIME_LIMIT_MINUTES}" == "" ] ; then
export SBATCH_TEST_TIME_LIMIT_MINUTES=780 # Default 13 hour time limit
fi

if [[ "${Trilinos_ENABLE_BUILD_STATS}" == "" ]] && \
[[ ! $JOB_NAME == *"intel"* ]] \
; then
export Trilinos_ENABLE_BUILD_STATS=ON
fi
echo "Trilinos_ENABLE_BUILD_STATS='${Trilinos_ENABLE_BUILD_STATS}'"

# Load environment on the login node
source $WORKSPACE/Trilinos/cmake/std/atdm/load-env.sh $JOB_NAME

Expand Down
4 changes: 0 additions & 4 deletions cmake/ctest/drivers/atdm/ats2/local-driver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@

set +x

if [[ "${Trilinos_ENABLE_BUILD_STATS}" == "" ]] ; then
export Trilinos_ENABLE_BUILD_STATS=ON
fi

# Need to load env so we define some vars
source $WORKSPACE/Trilinos/cmake/std/atdm/load-env.sh $JOB_NAME

Expand Down
7 changes: 0 additions & 7 deletions cmake/ctest/drivers/atdm/cee-rhel7/local-driver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,6 @@ set +x
# Need to load env so we define some vars
source $WORKSPACE/Trilinos/cmake/std/atdm/load-env.sh $JOB_NAME

if [[ "${Trilinos_ENABLE_BUILD_STATS}" == "" ]] && \
[[ ! $JOB_NAME == *"intel"* ]] \
; then
export Trilinos_ENABLE_BUILD_STATS=ON
fi
echo "Trilinos_ENABLE_BUILD_STATS='${Trilinos_ENABLE_BUILD_STATS}'"

# Ensure that we don't set both Trilinos_PACKAGES and Trilinos_PACKAGE_ENABLES_FILE
if [ -z $Trilinos_PACKAGES ]; then
# Make adjustments for mini build of Trilinos for SPARC
Expand Down
10 changes: 0 additions & 10 deletions cmake/ctest/drivers/atdm/cts1/local-driver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,6 @@ if [ "${SLURM_CTEST_TIMEOUT}" == "" ] ; then
# This is just running tests, not the entire build!
fi

if [[ "${Trilinos_ENABLE_BUILD_STATS}" == "" ]] && \
[[ ! $JOB_NAME == *"intel"* ]] \
; then
export Trilinos_ENABLE_BUILD_STATS=ON
fi
echo "Trilinos_ENABLE_BUILD_STATS='${Trilinos_ENABLE_BUILD_STATS}'"
# NOTE: That above matching is a bit fragile but it avoids needing to load a
# full env and it is good enough for driving nightly builds. (I would never
# do this with a build name coming from a user.)

set -x

source $WORKSPACE/Trilinos/cmake/ctest/drivers/atdm/ctest-s-driver-config-build.sh
Expand Down
4 changes: 0 additions & 4 deletions cmake/ctest/drivers/atdm/cts1empire/local-driver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@ if [ "${SLURM_CTEST_TIMEOUT}" == "" ] ; then
# This is just running tests, not the entire build!
fi

if [ "${Trilinos_CTEST_DO_ALL_AT_ONCE}" == "" ] ; then
export Trilinos_CTEST_DO_ALL_AT_ONCE=TRUE
fi

set -x

source $WORKSPACE/Trilinos/cmake/ctest/drivers/atdm/ctest-s-driver-config-build.sh
Expand Down
5 changes: 0 additions & 5 deletions cmake/ctest/drivers/atdm/ride/local-driver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,6 @@ if [ "${EXCLUDE_NODES_FROM_BSUB}" == "" ] ; then
fi
fi

if [[ "${Trilinos_ENABLE_BUILD_STATS}" == "" ]] ; then
export Trilinos_ENABLE_BUILD_STATS=ON
fi
echo "Trilinos_ENABLE_BUILD_STATS='${Trilinos_ENABLE_BUILD_STATS}'"

source $WORKSPACE/Trilinos/cmake/std/atdm/load-env.sh $JOB_NAME

set -x
Expand Down
4 changes: 0 additions & 4 deletions cmake/ctest/drivers/atdm/sems-rhel7/local-driver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,6 @@

set +x

if [[ "${Trilinos_ENABLE_BUILD_STATS}" == "" ]] ; then
export Trilinos_ENABLE_BUILD_STATS=ON
fi

if [[ "${Trilinos_REPOSITORY_LOCATION}" == "" ]] ; then
export Trilinos_REPOSITORY_LOCATION=git@github.com:trilinos/Trilinos.git
fi
Expand Down
4 changes: 0 additions & 4 deletions cmake/ctest/drivers/atdm/tlcc2/local-driver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@ if [ "${SALLOC_CTEST_TIME_LIMIT_MINUTES}" == "" ] ; then
# This is just running tests, not the entire build!
fi

if [ "${Trilinos_CTEST_DO_ALL_AT_ONCE}" == "" ] ; then
export Trilinos_CTEST_DO_ALL_AT_ONCE=TRUE
fi

set -x

source $WORKSPACE/Trilinos/cmake/ctest/drivers/atdm/ctest-s-driver-config-build.sh
Expand Down
5 changes: 5 additions & 0 deletions cmake/ctest/drivers/atdm/utils/setup_env.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ set +x
# A) Load the env
#

if [[ "${Trilinos_ENABLE_BUILD_STATS}" == "" ]] ; then
export Trilinos_ENABLE_BUILD_STATS=ON
fi
echo "Trilinos_ENABLE_BUILD_STATS='${Trilinos_ENABLE_BUILD_STATS}'"

source ${WORKSPACE}/Trilinos/cmake/std/atdm/load-env.sh $JOB_NAME
echo
module list
Expand Down
4 changes: 0 additions & 4 deletions cmake/ctest/drivers/atdm/van1-tx2/local-driver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,6 @@ if [[ "${SALLOC_CTEST_LIMIT_MINUTES}" == "" ]] ; then
# do everything.
fi

if [[ "${Trilinos_ENABLE_BUILD_STATS}" == "" ]] ; then
export Trilinos_ENABLE_BUILD_STATS=OFF
fi

source $WORKSPACE/Trilinos/cmake/std/atdm/load-env.sh $JOB_NAME
echo

Expand Down
4 changes: 2 additions & 2 deletions cmake/std/PullRequestLinuxCommonTestingSettings.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -109,5 +109,5 @@ set (TPL_Scotch_INCLUDE_DIRS "$ENV{SEMS_SCOTCH_INCLUDE_PATH}" CACHE PATH "Set by
set (Scotch_LIBRARY_DIRS "$ENV{SEMS_SCOTCH_LIBRARY_PATH}" CACHE PATH "Set by default for PR testing")

# Build stats compiler wrappers (#7376)
set(Trilinos_ENABLE_BUILD_STATS OFF CACHE BOOL "Set in PullRequestLinuxCommonTestingSettings.cmake")
# Turn them off for now in all PR builds until more review can be done.
set(Trilinos_ENABLE_BUILD_STATS ON CACHE BOOL "Set in PullRequestLinuxCommonTestingSettings.cmake")
set(Trilinos_REMOVE_BUILD_STATS_TIMING_FILES_ON_FRESH_CONFIGURE OFF CACHE BOOL "Set in PullRequestLinuxCommonTestingSettings.cmake")
5 changes: 3 additions & 2 deletions cmake/std/PullRequestLinuxCommonTestingSettingsSERIAL.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -100,5 +100,6 @@ SET(SuperLU_LIBRARY_DIRS "$ENV{SEMS_SUPERLU_LIBRARY_PATH}" CACHE PATH "Set by de
# set (TPL_Scotch_INCLUDE_DIRS "$ENV{SEMS_SCOTCH_INCLUDE_PATH}" CACHE PATH "Set by default for PR testing")
# set (Scotch_LIBRARY_DIRS "$ENV{SEMS_SCOTCH_LIBRARY_PATH}" CACHE PATH "Set by default for PR testing")



# Build stats compiler wrappers (#7376)
set(Trilinos_ENABLE_BUILD_STATS ON CACHE BOOL "Set in PullRequestLinuxCommonTestingSettingsSERIAL.cmake")
set(Trilinos_REMOVE_BUILD_STATS_TIMING_FILES_ON_FRESH_CONFIGURE OFF CACHE BOOL "Set in PullRequestLinuxCommonTestingSettingsSERIAL.cmake")
Original file line number Diff line number Diff line change
Expand Up @@ -143,11 +143,8 @@ set (Trilinos_ENABLE_TrilinosCouplings OFF CACHE BOOL "Turn off packages for non

# Turn off tests currently failing with UVM = OFF
# Packages with >5 failing tests
set (Amesos2_ENABLE_TESTS OFF CACHE BOOL "Turn off tests for non-UVM build")
set (Anasazi_ENABLE_TESTS OFF CACHE BOOL "Turn off tests for non-UVM build")
set (Belos_ENABLE_TESTS OFF CACHE BOOL "Turn off tests for non-UVM build")
set (Domi_ENABLE_TESTS OFF CACHE BOOL "Turn off tests for non-UVM build")
set (Ifpack2_ENABLE_TESTS OFF CACHE BOOL "Turn off tests for non-UVM build")
set (Kokkos_ENABLE_TESTS OFF CACHE BOOL "Turn off tests for non-UVM build")
set (KokkosKernels_ENABLE_TESTS OFF CACHE BOOL "Turn off tests for non-UVM build")
set (MueLu_ENABLE_TESTS OFF CACHE BOOL "Turn off tests for non-UVM build")
Expand All @@ -161,6 +158,7 @@ set (Teko_ENABLE_TESTS OFF CACHE BOOL "Turn off tests for non-UVM build")
set (Xpetra_ENABLE_TESTS OFF CACHE BOOL "Turn off tests for non-UVM build")
set (Zoltan2_ENABLE_TESTS OFF CACHE BOOL "Turn off tests for non-UVM build")


# ShyLU_DD UVM = OFF tests
set (ShyLU_DDFROSch_test_thyra_xpetra_laplace_one_rank_TLP_IPOU_DIM3_TPETRA_MPI_1_DISABLE ON CACHE BOOL "Turn off tests for non-UVM build")
set (ShyLU_DDFROSch_test_thyra_xpetra_laplace_one_rank_TLP_GDSW_DIM2_TPETRA_MPI_1_DISABLE ON CACHE BOOL "Turn off tests for non-UVM build")
Expand Down
8 changes: 4 additions & 4 deletions cmake/std/atdm/ats2/all_supported_builds.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ export ATDM_CONFIG_ALL_SUPPORTED_BUILDS=(
ats2-cuda-10.1.243-gnu-7.3.1-spmpi-rolling_static_opt
ats2-cuda-10.1.243-gnu-7.3.1-spmpi-rolling_static_dbg
ats2-cuda-10.1.243-gnu-7.3.1-spmpi-rolling_complex_static_opt
ats2-xl-2020.03.18_spmpi-rolling_serial_static_opt
ats2-xl-2020.03.18_spmpi-rolling_serial_static_dbg
ats2-cuda-10.1.243-xl-2020.03.18_spmpi-rolling_static_opt
ats2-cuda-10.1.243-xl-2020.03.18_spmpi-rolling_static_dbg
#ats2-xl-2020.03.18_spmpi-rolling_serial_static_opt
#ats2-xl-2020.03.18_spmpi-rolling_serial_static_dbg
#ats2-cuda-10.1.243-xl-2020.03.18_spmpi-rolling_static_opt
#ats2-cuda-10.1.243-xl-2020.03.18_spmpi-rolling_static_dbg
)
5 changes: 3 additions & 2 deletions cmake/std/atdm/sems-rhel7/all_supported_builds.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
export ATDM_CONFIG_CTEST_S_BUILD_NAME_PREFIX=Trilinos-atdm-

export ATDM_CONFIG_ALL_SUPPORTED_BUILDS=(
sems-rhel7-clang-10.0.0-openmp-shared-release
sems-rhel7-clang-10.0.0-openmp-shared-release-debug
#sems-rhel7-clang-10.0.0-openmp-shared-release
#sems-rhel7-clang-10.0.0-openmp-shared-release-debug
sems-rhel7-clang-7.0.1-openmp-shared-release-debug
sems-rhel7-cuda-10.1-Volta70-complex-shared-release-debug
sems-rhel7-gnu-7.2.0-openmp-complex-shared-release-debug
sems-rhel7-intel-18.0.5-openmp-complex-shared-release-debug
Expand Down
81 changes: 81 additions & 0 deletions commonTools/build_stats/BuildStatsData.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
from FindTribitsCiSupportDir import *
import GeneralScriptSupport as GSS


# Standard set of build stats fields we want to read in
#
def getStdBuildStatsColsAndTypesList():
return [
ColNameAndType('max_resident_size_Kb', 'float'),
ColNameAndType('elapsed_real_time_sec', 'float'),
ColNameAndType('FileName', 'string'),
ColNameAndType('FileSize', 'float'),
]
# NOTE: Above, we use type 'float' instead of 'int' for fields that are ints
# because we want to allow a very large size.


def getColNameTypeIdxListGivenColNameAndTypeList(csvFileName, columnHeadersList,
colNameAndTypesToGetList,
):
colNameTypeIdxList = []
for colNameAndTypeToGet in colNameAndTypesToGetList:
colIdx = GSS.findInSequence(columnHeadersList, colNameAndTypeToGet.colName())
if colIdx != -1:
colNameTypeIdxList.append(ColNameTypeIdx(colNameAndTypeToGet, colIdx))
else:
raise Exception(
"Error, the CSV file column header '"+colNameAndTypeToGet.colName()+"'"+\
" does not exist in the list of column headers "+str(columnHeadersList)+\
" from the CSV file '"+csvFileName+"'!")
return colNameTypeIdxList


class ColNameAndType(object):
def __init__(self, colName, colType):
self.__colName = colName
self.__colType = colType
self.assertType()
def colName(self):
return self.__colName
def colType(self):
return self.__colType
def __repr__(self):
myStr = "ColNameAndType{"+self.__colName+","+str(self.__colType)+"}"
return myStr
def convertFromStr(self, strIn):
if self.__colType == "string":
return strIn
elif self.__colType == "int":
return int(strIn)
elif self.__colType == "float":
return float(strIn)
def assertType(self):
supportedTypes = [ "string", "int", "float" ]
if -1 == GSS.findInSequence(supportedTypes, self.__colType):
raise Exception(
"Error, type '"+str(self.__colType)+"' is not supported! Supported types"+\
" include "+str(supportedTypes)+"!")
def __eq__(self, other):
return((self.__colName,self.__colType)==(other.__colName,other.__colType))
def __ne__(self, other):
return((self.__colName,self.__colType)!=(other.__colName,other.__colType))


class ColNameTypeIdx(object):
def __init__(self, colNameAndType, colIdx):
self.__colNameAndType = colNameAndType
self.__colIdx = colIdx
def colName(self):
return self.__colNameAndType.colName()
def getIdx(self):
return self.__colIdx
def convertFromStr(self, strIn):
return self.__colNameAndType.convertFromStr(strIn)
def __repr__(self):
myStr = "ColNameTypeIdx{"+str(self.__colNameAndType)+","+str(self.__colIdx)+"}"
return myStr
def __eq__(self, other):
return ((self.__colNameAndType,self.__colIdx)==(other.__colNameAndType,other.__colIdx))
def __ne__(self, other):
return ((self.__colNameAndType,self.__colIdx)!=(other.__colNameAndType,other.__colIdx))
90 changes: 90 additions & 0 deletions commonTools/build_stats/BuildStatsGatherTarget.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
################################################################################
#
# Add target for gathering up build stats
#
################################################################################


include("${CMAKE_CURRENT_LIST_DIR}/BuildStatsSharedVars.cmake")


# Create custom 'gather-build-stats' target that will run last
#
# NOTE: This function must be called at the very end of all of the build
# targets that get created for a project!
#
function(add_target_gather_build_stats)

if (${PROJECT_NAME}_ENABLE_BUILD_STATS)

add_custom_command(
OUTPUT "${BUILD_STATS_CSV_FILE}"
COMMAND "${BUILD_STATS_SRC_DIR}/gather_build_stats.py"
WORKING_DIRECTORY "${${PROJECT_NAME}_BINARY_DIR}" )

add_custom_target(gather-build-stats ALL
DEPENDS "${BUILD_STATS_CSV_FILE}")

get_all_build_targets_including_in_subdirs("${${PROJECT_NAME}_SOURCE_DIR}"
projectBuildTargetsList)

if (projectBuildTargetsList)
add_dependencies(gather-build-stats ${projectBuildTargetsList})
endif()

endif()

endfunction()


# Get a list all of the lib and exec build targets starting in a subdir and in
# below subdirs.
#
function(get_all_build_targets_including_in_subdirs srcdir targetsListVarOut)

set(targetsList "")

# Recurse into subdirectories.
get_property(dirs DIRECTORY ${srcdir} PROPERTY SUBDIRECTORIES)
foreach(d IN LISTS dirs)
get_all_build_targets_including_in_subdirs(${d} targetsSubdirList)
list(APPEND targetsList ${targetsSubdirList})
endforeach()

# Get the targets from this directory.
get_property(allTargetsThisDir DIRECTORY ${srcdir} PROPERTY BUILDSYSTEM_TARGETS)
filter_only_build_targets(allTargetsThisDir buildTargetsThisDir)
list(APPEND targetsList ${buildTargetsThisDir})

# Return
set(${targetsListVarOut} ${targetsList} PARENT_SCOPE)

endfunction()


function(filter_only_build_targets targetListInVar targetListOutVar)

#print_var(targetListInVar)
#print_var(${targetListInVar})

set(targetListOut "")

foreach (target IN LISTS ${targetListInVar})
#print_var(target)
get_property(targetType TARGET ${target} PROPERTY TYPE)
#print_var(targetType)
if (
targetType STREQUAL "STATIC_LIBRARY" OR
targetType STREQUAL "SHARED_LIBRARY" OR
targetType STREQUAL "EXECUTABLE"
)
#message("-- " "${target} is a regular build target!")
list(APPEND targetListOut ${target})
else()
#message("-- " "${target} is **NOT** a regular build target!")
endif()
endforeach()

set(${targetListOutVar} ${targetListOut} PARENT_SCOPE)

endfunction()
2 changes: 2 additions & 0 deletions commonTools/build_stats/BuildStatsSharedVars.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
set(BUILD_STATS_SRC_DIR "${CMAKE_CURRENT_LIST_DIR}")
set(BUILD_STATS_CSV_FILE "${${PROJECT_NAME}_BINARY_DIR}/build_stats.csv")
Loading

0 comments on commit c0d311f

Please sign in to comment.