Commit a2c01a01 authored by Christian Trott's avatar Christian Trott
Browse files

Merge branch 'develop' into tpetra-cgsolve-perf-test-fix

parents 2317c998 0a1ce853
......@@ -15,4 +15,9 @@ IF (CTEST_DROP_METHOD STREQUAL "http" OR CTEST_DROP_METHOD STREQUAL "https")
SET_DEFAULT_AND_FROM_ENV(CTEST_DROP_LOCATION "/cdash/submit.php?project=Trilinos")
SET_DEFAULT_AND_FROM_ENV(CTEST_TRIGGER_SITE "")
SET_DEFAULT_AND_FROM_ENV(CTEST_DROP_SITE_CDASH TRUE)
# Secondary submit to development CDash site
SET_DEFAULT_AND_FROM_ENV(TRIBITS_2ND_CTEST_DROP_SITE
"testing-dev.sandia.gov")
SET_DEFAULT_AND_FROM_ENV(TRIBITS_2ND_CTEST_DROP_LOCATION
"/cdash/submit.php?project=Trilinos")
ENDIF()
......@@ -258,38 +258,116 @@ cores.
## Installing as a byproduct of running ctest -S drivers
These scripts support installing Trilinos as a byproduct of running the ctest
-S driver scripts. If the environment variables:
```
$ export ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE=<install-prefix-base>
$ export CTEST_DO_INSTALL=TRUE
```
are set, then each build of Trilinos will get installed in the directory:
These scripts support installing Trilinos as a byproduct of running the `ctest
-S` driver scripts. These installations are often done as the `jenkins`
entity account from the `jenkins-srn.sandia.gov` site (but other setups are
possible as well). In order to protect installations of Trilinos, a strategy
is implemented that performs the final install using the `atdm-devops-admin`
account using a setuid program called `run-as-atdm-devops-admin` that in
installed on each system. The setup of that program under the
`atdm-devops-admin` user account is described in:
* https://gitlab.sandia.gov/atdm-devops-admin/run-as-atdm-devops-admin/blob/master/README.md
This documentation assumes that the program 'run-as-atdm-devops-admin'
correctly installed on each given system.
The following (bash) environment variables determine the behavior of the ATDM
`ctest -S` scripts for building and installing Trilinos using this scheme:
* `ATDM_CONFIG_WORKSPACE_BASE=<workspace-base>`: Defines a different base
workspace directory under which the subdir `SRC_AND_BUILD` is created and
used (and the scripts 'cd' into that workspace). This directory
`<workspace-base>` must be owned and be writable by the
`wg-run-as-atdmin-devops` group and must be given the sticky group bit
`chmod g+s <workspace-base>` so that the 'jenkins' account can create files
and directories under this directory. If not set, then `WORKSPACE` (set by
the Jenkins job) is used as the base working directory. (If
`ATDM_CONFIG_WORKSPACE_BASE==""` and
`ATDM_CONFIG_WORKSPACE_BASE_DEFAULT!=""` and
`ATDM_CONFIG_USE_WORKSPACE_BASE_DEFAULT=="1"`, then
`ATDM_CONFIG_WORKSPACE_BASE` is set to
`${ATDM_CONFIG_WORKSPACE_BASE_DEFAULT}`.)
* `ATDM_CONFIG_INSTALL_PBP_RUNNER=<base-dir>/run-as-atdm-devops-admin`:
Defines an executable that is used to run the install command in the target
`install_package_by_package`. This allows inserting the
`run-as-atdm-devops-admin` setuid program to run the install command as the
'atdm-devops-admin' user. (If `ATDM_CONFIG_INSTALL_PBP_RUNNER==""` and
`ATDM_CONFIG_INSTALL_PBP_RUNNER_DEFAULT!=""` and
`ATDM_CONFIG_USE_INSTALL_PBP_RUNNER_DEFAULT=="1"`, then
`ATDM_CONFIG_INSTALL_PBP_RUNNER` is set to
`${ATDM_CONFIG_INSTALL_PBP_RUNNER_DEFAULT}`)
* `ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE=<install-prefix-base>`:
Defines the base directory installs of Trilinos under
`<install-prefix-base>/<date>/<system-build-name>`. This directory must be
owned by the 'atdm-devops-admin' user and should be world readable (but not
group or world writable). (If
`ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE==""` and
`ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE_DEFAULT!=""` and
`ATDM_CONFIG_USE_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE_DEFAULT=="1"`, then
`ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE` is set to
`${ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE_DEFAULT}`.)
* `ATDM_CONFIG_USE_JENKINS_INSTALL_DEFAULTS=[0|1]`: Set to '1' to use the
defaults for the above three vars (i.e. this sets the env vars
`ATDM_CONFIG_USE_WORKSPACE_BASE_DEFAULT=1`,
`ATDM_CONFIG_USE_INSTALL_PBP_RUNNER_DEFAULT=1`,
`ATDM_CONFIG_USE_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE_DEFAULT=1`).
The variables `ATDM_CONFIG_WORKSPACE_BASE_DEFAULT`,
`ATDM_CONFIG_INSTALL_PBP_RUNNER_DEFAULT` and
`ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE_DEFAULT` are meant to be set
in the `atdm/<system_name>/environment.sh` file as, for example:
```
export ATDM_CONFIG_WORKSPACE_BASE_DEFAULT=/home/atdm-devops-admin/jenkins
export ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE_DEFAULT=/home/atdm-devops-admin/trilinos_installs
export ATDM_CONFIG_INSTALL_PBP_RUNNER_DEFAULT=/home/atdm-devops-admin/tools/run-as-atdm-devops-admin
```
Then the jenkins driver jobs can activate the usage of these defaults and
perform installs as a bi-product by running:
```
export ATDM_CONFIG_USE_JENKINS_INSTALL_DEFAULTS=1
export CTEST_DO_INSTALL=ON
${WORKSPACE}/Trilinos/cmake/ctest/drivers/atdm/smart-jenkins-driver.sh
```
This will result in the alternate workspace directory being create as:
```
export WORKSPACE=${ATDM_CONFIG_WORKSPACE_BASE}/${ATDM_CONFIG_KNOWN_SYSTEM_NAME}/${JOB_NAME}
```
The inner clone of Trilinos and the build of Trilinos will be performed under
that subdir.
That will result in the install of Trilinos as the 'atdm-devops-admin' user
under:
```
<install-prefix-base>/<date>/<system-build-name>
<install-prefix-base>/<date>/<system-build-name>/
```
where:
* The `<date>` in the format "YYYY-MM-DD" is automatically determined to
correspond to the CDash `date=<date>` PHP page field for the given build of
Trilinos (assuming that `ctest_start()` is called almost immediately which
it should be within a second or less).
* The `<date>` in the format `YYYY-MM-DD` is automatically determined to
correspond to the CDash `date=<date>` field for the given build of Trilinos
(assuming that `ctest_start()` is called almost immediately which it should
be within a second or less).
* The build name `<system-build-name>` is taken from the full build name
stored in the environment variable `${JOB_NAME}`.
stored in the environment variable `${JOB_NAME}` (with `Trilinos-atdm-`
removed from the beginning of the Jenkins job name).
Internally, for each build, the environment variable
`ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX` is set to this full install path
(which then gets picked up in the `ATDMDevEnvSettings.cmake` file during the
CMake configure step).
If the variable `ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE` is not set
or is empty '', then Trilinos will not be installed.
**WARNING:** Do **NOT** directly set the environment variable
`ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX`. That would result in every Trilinos
build getting installed on top of each other in the same installation
......@@ -484,7 +562,7 @@ and fill in the list of builds that are going to be supported on this machine.
```
The names
`"${ATDM_CONFIG_CTEST_S_BUILD_NAME_PREFIX}${ATDM_CONFIG_ALL_SUPPORTED_BUILDS[i]}.sh"
`${ATDM_CONFIG_CTEST_S_BUILD_NAME_PREFIX}${ATDM_CONFIG_ALL_SUPPORTED_BUILDS[i]}.sh`
must match the ctest -S driver files under:
```
......
......@@ -10,10 +10,10 @@ echo
echo "Loading env and running ctest -S comamnd to update, configure and build ..."
source ${WORKSPACE}/Trilinos/cmake/ctest/drivers/atdm/utils/create-src-and-build-dir.sh
source ${WORKSPACE}/Trilinos/cmake/ctest/drivers/atdm/utils/setup_env.sh
source ${WORKSPACE}/Trilinos/cmake/ctest/drivers/atdm/utils/create-src-and-build-dir.sh
CTEST_S_CMND=env CTEST_DO_TEST=OFF ctest -V -S $WORKSPACE/Trilinos/cmake/ctest/drivers/atdm/ctest-driver.cmake
echo
......
......@@ -10,10 +10,10 @@ echo
echo "Loading env and running ctest -S comamnd to configure, build, and test ..."
source ${WORKSPACE}/Trilinos/cmake/ctest/drivers/atdm/utils/create-src-and-build-dir.sh
source ${WORKSPACE}/Trilinos/cmake/ctest/drivers/atdm/utils/setup_env.sh
source ${WORKSPACE}/Trilinos/cmake/ctest/drivers/atdm/utils/create-src-and-build-dir.sh
echo
echo "Running: ctest -V -S $WORKSPACE/Trilinos/cmake/ctest/drivers/atdm/ctest-driver.cmake ..."
......
#
# Helper script that creates the SRC_AND_BUILD subdir and moves in
#
#
if [ "${WORKSPACE}" == "" ] ; then
echo "Error, must set WORKSPACE var before calling!"
......@@ -12,15 +12,81 @@ if [ "${JOB_NAME}" == "" ] ; then
exit 1
fi
# Shiller/hansen settings for automated job (rest are set in ./environment.sh)
# Don't allow core file dumps (which take a huge amount of memory for lots of
# failing tests)
ulimit -c 0
export SUBDIR=SRC_AND_BUILD
if [ ! -e $SUBDIR ] ; then
echo "Making $SUBDIR"
mkdir $SUBDIR
# Set up the SRC_AND_BUILD subdir
if [[ "${ATDM_CONFIG_WORKSPACE_BASE}" != "" ]] ; then
ATDM_CONFIG_WORKSPACE="${ATDM_CONFIG_WORKSPACE_BASE}/${ATDM_CONFIG_KNOWN_SYSTEM_NAME}/${JOB_NAME}"
echo
echo "Using alternate workspace dir '${ATDM_CONFIG_WORKSPACE}'"
if [[ ! -e "${ATDM_CONFIG_WORKSPACE}" ]] ; then
echo
echo "Creating non-existent workspace dir '${ATDM_CONFIG_WORKSPACE}'"
mkdir -p "${ATDM_CONFIG_WORKSPACE}"
fi
ATDM_CONFIG_WORKSPACE_SRC_AND_BUILD="${ATDM_CONFIG_WORKSPACE}/SRC_AND_BUILD"
# First copy an existing SRC_AND_BUILD directory to transition to the new
# workspace base dir
if [[ -e SRC_AND_BUILD ]] && [[ ! -e "${ATDM_CONFIG_WORKSPACE_SRC_AND_BUILD}" ]] ; then
echo
echo "Local 'SRC_AND_BUILD' does exist but '${ATDM_CONFIG_WORKSPACE_SRC_AND_BUILD}' does not so move it there (to preserve cloned Trilinos repo)"
mv SRC_AND_BUILD "${ATDM_CONFIG_WORKSPACE_SRC_AND_BUILD}"
fi
# Create target SRC_AND_BUILD dir if does not exist
if [[ ! -e "${ATDM_CONFIG_WORKSPACE_SRC_AND_BUILD}" ]] ; then
echo
echo "Create new workspace dir '${ATDM_CONFIG_WORKSPACE_SRC_AND_BUILD}'"
mkdir "${ATDM_CONFIG_WORKSPACE_SRC_AND_BUILD}"
fi
# Set up local SRC_AND_BUILD symlink to alternate workspace
if [[ -e SRC_AND_BUILD ]] ; then
if [[ `atdm_config_get_abs_dir_path SRC_AND_BUILD` == "${ATDM_CONFIG_WORKSPACE_SRC_AND_BUILD}" ]] ; then
echo
echo "Local SRC_AND_BUILD already symlinked to correct alternate workspace '${ATDM_CONFIG_WORKSPACE_SRC_AND_BUILD}'!"
else
echo
echo "Local SRC_AND_BUILD not correctly symlinked to correct alternate workspace so remove it!"
rm -rf SRC_AND_BUILD
fi
fi
# Create symlink for SRC_AND_BUILD if not already set up
if [[ ! -e SRC_AND_BUILD ]] ; then
echo
echo "Creating local symlink to alternate workspace '${ATDM_CONFIG_WORKSPACE_SRC_AND_BUILD}'!"
ln -s "${ATDM_CONFIG_WORKSPACE_SRC_AND_BUILD}" SRC_AND_BUILD
fi
# Change the workspace to actually be the alternate directory (critical for the install)
cd "${ATDM_CONFIG_WORKSPACE}"
ln -s "${WORKSPACE}/Trilinos" . # Must have base Trilinos dir like Jenkins cloned it
cd -
export WORKSPACE="${ATDM_CONFIG_WORKSPACE}"
else
# We are using local workspace directly under this current directory.
if [ ! -e SRC_AND_BUILD ] ; then
echo "Making local SRC_AND_BUILD"
mkdir SRC_AND_BUILD
fi
fi
cd $SUBDIR/
# Move into the correct workspace subdir
cd "${WORKSPACE}/SRC_AND_BUILD/"
echo
echo "Current dir: $PWD"
#
# A) Load the env
#
source ${WORKSPACE}/Trilinos/cmake/std/atdm/load-env.sh $JOB_NAME
echo
module list
......@@ -13,15 +17,52 @@ set | grep ATDM_CONFIG_
echo
echo "PATH=$PATH"
#
# B) Set the defaut git repo for Trilinos
#
if [ "${Trilinos_REPOSITORY_LOCATION}" == "" ] ; then
export Trilinos_REPOSITORY_LOCATION=https://github.com/trilinos/Trilinos.git
fi
# Echo the env var set by the driver (if desired)
echo "ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE = ${ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE}"
#
# C) Setup install-releated stuff
#
echo
if [[ "${ATDM_CONFIG_USE_WORKSPACE_BASE_DEFAULT}" == "" ]] \
&& [[ "${ATDM_CONFIG_USE_JENKINS_INSTALL_DEFAULTS}" == "1" ]] ; then
export ATDM_CONFIG_USE_WORKSPACE_BASE_DEFAULT=1
fi
echo "ATDM_CONFIG_USE_WORKSPACE_BASE_DEFAULT=${ATDM_CONFIG_USE_WORKSPACE_BASE_DEFAULT}"
if [[ "${ATDM_CONFIG_USE_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE_DEFAULT}" == "" ]] \
&& [[ "${ATDM_CONFIG_USE_JENKINS_INSTALL_DEFAULTS}" == "1" ]] ; then
export ATDM_CONFIG_USE_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE_DEFAULT=1
fi
echo "ATDM_CONFIG_USE_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE_DEFAULT=${ATDM_CONFIG_USE_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE_DEFAULT}"
if [[ "${ATDM_CONFIG_WORKSPACE_BASE}" == "" ]] \
&& [[ "${ATDM_CONFIG_WORKSPACE_BASE_DEFAULT}" != "" ]] \
&& [[ "${ATDM_CONFIG_USE_WORKSPACE_BASE_DEFAULT}" == "1" ]] ; then
export ATDM_CONFIG_WORKSPACE_BASE="${ATDM_CONFIG_WORKSPACE_BASE_DEFAULT}"
fi
echo "ATDM_CONFIG_WORKSPACE_BASE=${ATDM_CONFIG_WORKSPACE_BASE}"
if [[ "${ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE}" == "" ]] \
&& [[ "${ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE_DEFAULT}" != "" ]] \
&& [[ "${ATDM_CONFIG_USE_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE_DEFAULT}" == "1" ]] ; then
export ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE="${ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE_DEFAULT}"
fi
echo "ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE=${ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE}"
if [ "${ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE}" != "" ] ; then
echo
echo "Setting up to use a standard <install-prefix-base>/<date>/<system-build-name>/ install dir!"
echo
# Get the <date> (YYYY-MM-DD) as part of directory name. (NOTE: This <date>
# should exactly match the CDash 'date=<date>` field in the various PHP
# pages where this build will end up.
......@@ -41,6 +82,6 @@ if [ "${ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE}" != "" ] ; then
export ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX="${ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE}/${CDASH_TESTING_DATE}/${SYSTEM_AND_BUILD_NAME}"
# Show the full install dir path
echo "ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX = ${ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX}"
echo "ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX=${ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX}"
fi
#!/bin/bash
if [ "${Trilinos_TRACK}" == "" ] ; then
export Trilinos_TRACK=Specialized
fi
$WORKSPACE/Trilinos/cmake/ctest/drivers/atdm/waterman/local-driver.sh
......@@ -23,7 +23,7 @@ set (Teko_DISABLE_LSCSTABALIZED_TPETRA_ALPAH_INV_D ON CACHE BOOL "Temporarily di
include("${CMAKE_CURRENT_LIST_DIR}/PullRequestLinuxCommonTestingSettings.cmake")
# Adding warnings as errors flags to this PR build
set(CMAKE_CXX_FLAGS "-Wall -Wno-clobbered -Wno-vla -Wno-pragmas -Wno-unknown-pragmas -Wno-unused-local-typedefs -Wno-literal-suffix -Wno-deprecated-declarations -Wno-misleading-indentation -Wno-int-in-bool-context -Wno-maybe-uninitialized -Wno-nonnull-compare -Wno-address -Wno-inline" CACHE STRING "Warning settings")
set(CMAKE_CXX_FLAGS "-Wall -Wno-clobbered -Wno-vla -Wno-pragmas -Wno-unknown-pragmas -Wno-unused-local-typedefs -Wno-literal-suffix -Wno-deprecated-declarations -Wno-misleading-indentation -Wno-int-in-bool-context -Wno-maybe-uninitialized -Wno-nonnull-compare -Wno-address -Wno-inline -DTRILINOS_HIDE_DEPRECATED_HEADER_WARNINGS" CACHE STRING "Warning settings")
#set (Amesos_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (Amesos2_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
......@@ -35,7 +35,7 @@ set (Domi_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as error
set (EpetraExt_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
#set (FEI_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (Galeri_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (GlobiPack_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -DTRILINOS_HIDE_DEPRECATED_HEADER_WARNINGS" CACHE STRING "Warnings as errors setting")
set (GlobiPack_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (Gtest_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (Ifpack_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (Ifpack2_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
......@@ -48,12 +48,12 @@ set (MiniTensor_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as
set (ML_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (MueLu_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (NOX_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (OptiPack_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -DTRILINOS_HIDE_DEPRECATED_HEADER_WARNINGS" CACHE STRING "Warnings as errors setting")
set (OptiPack_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
#set (Pamgen_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (Panzer_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (Phalanx_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (Pike_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (Piro_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -DTRILINOS_HIDE_DEPRECATED_HEADER_WARNINGS" CACHE STRING "Warnings as errors setting")
set (Piro_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
#set (ROL_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (RTOp_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (Rythmos_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
......@@ -71,7 +71,7 @@ set (Tempus_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as err
set (Teuchos_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (ThreadPool_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (Thyra_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
#set (Tpetra_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (Tpetra_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (TrilinosCouplings_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
set (TrilinosSS_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
#set (Triutils_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror" CACHE STRING "Warnings as errors setting")
......
......@@ -223,6 +223,8 @@ ATDM_SET_CACHE(Trilinos_PARALLEL_COMPILE_JOBS_LIMIT "${ATDM_PARALLEL_COMPILE_JOB
CACHE STRING)
ATDM_SET_CACHE(Trilinos_PARALLEL_LINK_JOBS_LIMIT "${ATDM_PARALLEL_LINK_JOBS_LIMIT}"
CACHE STRING)
ATDM_SET_CACHE(CTEST_PARALLEL_LEVEL "$ENV{ATDM_CONFIG_CTEST_PARALLEL_LEVEL}"
CACHE STRING)
IF (NOT ATDM_CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS STREQUAL "")
ATDM_SET_CACHE(CXX_USE_RESPONSE_FILE_FOR_OBJECTS
${ATDM_CMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS} CACHE BOOL)
......@@ -419,6 +421,9 @@ IF (COMMAND INSTALL AND NOT "${CMAKE_INSTALL_PREFIX}" STREQUAL "")
$ENV{ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX} CACHE FILEPATH )
ENDIF()
ATDM_SET_CACHE(Trilinos_INSTALL_PBP_RUNNER "$ENV{ATDM_CONFIG_INSTALL_PBP_RUNNER}"
CACHE FILEPATH)
SET(ATDM_CONFIG_SCRIPTS_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/atdm-trilinos)
INSTALL( FILES ${CMAKE_CURRENT_LIST_DIR}/load-env.sh
......
......@@ -365,8 +365,8 @@ where
## Parallel build and test processes
By defualt, each system's `<system_name>/environment.sh` script automatically
sets the parallel build and test jobs by seeing:
By default, each system's `<system_name>/environment.sh` script automatically
selects the parallel build and test jobs by setting the env vars:
* `ATDM_CONFIG_BUILD_COUNT`: Number of default parallel build jobs passed to
`ninja -j ${ATDM_CONFIG_BUILD_COUNT}`
......@@ -379,7 +379,8 @@ sets the parallel build and test jobs by seeing:
* `ATDM_CONFIG_CTEST_PARALLEL_LEVEL`: Number passed to `ctest -j ${ATDM_CONFIG_CTEST_PARALLEL_LEVEL}`
These values can be overridden by setting the env vars:
These values can be overridden by setting the following env vars before runnning
`source cmake/std/atdm/load-env.sh <build-name>`:
* `ATDM_CONFIG_BUILD_COUNT_OVERRIDE`
* `ATDM_CONFIG_PARALLEL_COMPILE_JOBS_LIMIT_OVERRIDE`
......
......@@ -15,10 +15,11 @@ fi
#
# This uses a temp shell to cd into the directory and then uses pwd to get the
# path.
function get_abs_dir_path() {
function atdm_config_get_abs_dir_path() {
[ -z "$1" ] && { pwd; return; }
(cd -P -- "$1" && pwd)
}
export atdm_config_get_abs_dir_path
# Get the base dir for the sourced script
ATDM_SCRIPT_DIR=`echo $BASH_SOURCE | sed "s/\(.*\)\/.*\.sh/\1/g"`
......@@ -66,7 +67,7 @@ fi
#
# Get the Trilins base dir
export ATDM_CONFIG_TRILNOS_DIR=`get_abs_dir_path ${ATDM_CONFIG_SCRIPT_DIR}/../../..`
export ATDM_CONFIG_TRILNOS_DIR=`atdm_config_get_abs_dir_path ${ATDM_CONFIG_SCRIPT_DIR}/../../..`
if [[ $ATDM_CONFIG_VERBOSE == "1" ]] ; then
echo "ATDM_CONFIG_TRILNOS_DIR = $ATDM_CONFIG_TRILNOS_DIR"
fi
......@@ -102,6 +103,19 @@ source ${ATDM_CONFIG_SCRIPT_DIR}/utils/atdm_config_helper_funcs.sh
source ${ATDM_CONFIG_SCRIPT_DIR}/$ATDM_CONFIG_KNOWN_SYSTEM_NAME/environment.sh
if [ "$ATDM_CONFIG_COMPLETED_ENV_SETUP" != "TRUE" ] ; then
echo
echo "***"
echo "*** ERROR: Environment setup was not successful, see above errors!"
echo "***"
echo
return
fi
#
# F) Override parallel build and ctest levels
#
if [ "${ATDM_CONFIG_BUILD_COUNT_OVERRIDE}" != "" ] ; then
export ATDM_CONFIG_BUILD_COUNT=${ATDM_CONFIG_BUILD_COUNT_OVERRIDE}
fi
......@@ -118,14 +132,20 @@ if [ "${ATDM_CONFIG_CTEST_PARALLEL_LEVEL_OVERRIDE}" != "" ] ; then
export ATDM_CONFIG_CTEST_PARALLEL_LEVEL=${ATDM_CONFIG_CTEST_PARALLEL_LEVEL_OVERRIDE}
fi
if [ "$ATDM_CONFIG_COMPLETED_ENV_SETUP" != "TRUE" ] ; then
echo
echo "***"
echo "*** ERROR: Environment setup was not successful, see above errors!"
echo "***"
echo
return
#
# G) Set install-related stuff
#
if [[ "${ATDM_CONFIG_USE_INSTALL_PBP_RUNNER_DEFAULT}" == "" ]] \
&& [[ "${ATDM_CONFIG_USE_JENKINS_INSTALL_DEFAULTS}" == "1" ]] ; then
export ATDM_CONFIG_USE_INSTALL_PBP_RUNNER_DEFAULT=1
fi
if [[ "${ATDM_CONFIG_INSTALL_PBP_RUNNER}" == "" ]] \
&& [[ "${ATDM_CONFIG_INSTALL_PBP_RUNNER_DEFAULT}" != "" ]] \
&& [[ "${ATDM_CONFIG_USE_INSTALL_PBP_RUNNER_DEFAULT}" == "1" ]] ; then
export ATDM_CONFIG_INSTALL_PBP_RUNNER="${ATDM_CONFIG_INSTALL_PBP_RUNNER_DEFAULT}"
fi
# NOTE: The ATDMDevEnv.cmake module when processed will assert that all of
# these are set!
# NOTE: The ATDMDevEnvSettings.cmake module when processed will assert that
# many of these vars are correctly set.
......@@ -195,4 +195,16 @@ export MPIF90=`which mpif90`
export ATDM_CONFIG_MPI_PRE_FLAGS="--bind-to;none"
#
# Set up default install-related stuff
#
export ATDM_CONFIG_WORKSPACE_BASE_DEFAULT=/home/atdm-devops-admin/jenkins
export ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE_DEFAULT=/home/atdm-devops-admin/trilinos_installs
export ATDM_CONFIG_INSTALL_PBP_RUNNER_DEFAULT=/home/atdm-devops-admin/tools/run-as-atdm-devops-admin
#
# Done!
#
export ATDM_CONFIG_COMPLETED_ENV_SETUP=TRUE
......@@ -24,6 +24,7 @@ unset ATDM_CONFIG_OPENMP_GOMP_LIBRARY
unset ATDM_CONFIG_CMAKE_SKIP_INSTALL_RPATH
unset ATDM_CONFIG_PARALLEL_COMPILE_JOBS_LIMIT
unset ATDM_CONFIG_PARALLEL_LINK_JOBS_LIMIT
unset ATDM_CONFIG_CTEST_PARALLEL_LEVEL
unset ATDM_CONFIG_NVCC_WRAPPER
unset ATDM_CONFIG_BINUTILS_LIBS
unset ATDM_CONFIG_BLAS_LIBS
......@@ -38,4 +39,7 @@ unset ATDM_CONFIG_SUPERLUDIST_LIBS
unset ATDM_CONFIG_MPI_EXEC
unset ATDM_CONFIG_MPI_PRE_FLAGS
unset ATDM_CONFIG_MPI_POST_FLAGS
unset ATDM_CONFIG_WORKSPACE_BASE_DEFAULT
unset ATDM_CONFIG_INSTALL_PBP_RUNNER_DEFAULT
unset ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE_DEFAULT
unset ATDM_CONFIG_COMPLETED_ENV_SETUP
......@@ -172,4 +172,16 @@ export MPIF90=`which mpif90`
export ATDM_CONFIG_MPI_POST_FLAGS="-map-by;socket:PE=4"
#
# Set up default install-related stuff
#
export ATDM_CONFIG_WORKSPACE_BASE_DEFAULT=/home/atdm-devops-admin/jenkins
export ATDM_CONFIG_TRIL_CMAKE_INSTALL_PREFIX_DATE_BASE_DEFAULT=/home/atdm-devops-admin/trilinos_installs
export ATDM_CONFIG_INSTALL_PBP_RUNNER_DEFAULT=/home/atdm-devops-admin/tools/run-as-atdm-devops-admin
#
# Done!
#
export ATDM_CONFIG_COMPLETED_ENV_SETUP=TRUE
......@@ -2915,7 +2915,13 @@ MACRO(TRIBITS_SETUP_FOR_INSTALLATION)
@ONLY
)
ADVANCED_SET(${PROJECT_NAME}_INSTALL_PBP_RUNNER "" CACHE FILEPATH
"Program used to run cmake -P cmake_pbp_install.cmake to change user for 'install_package_by_package' target")
PRINT_VAR(${PROJECT_NAME}_INSTALL_PBP_RUNNER)
ADD_CUSTOM_TARGET(install_package_by_package
${${PROJECT_NAME}_INSTALL_PBP_RUNNER}
${CMAKE_COMMAND} -P cmake_pbp_install.cmake
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
)
......
......@@ -99,16 +99,6 @@ namespace Belos {
return Teuchos::rcp (new Belos::OutputManager<Scalar> (selectVerbosity (verbose, debug)));
}
/// \fn getNode
/// \brief Return an RCP to a Kokkos Node
///
template<class NodeType>
Teuchos::RCP<NodeType>
getNode() {
Teuchos::ParameterList defaultParams;
return Teuchos::rcp (new NodeType (defaultParams));
}
/// \fn loadSparseMatrix
/// \brief Load a sparse matrix from a Harwell-Boeing file
///
......
......@@ -666,7 +666,11 @@ The following parameters are used in the Schwarz method:
{Currently has no effect.}
\cccc{schwarz: compute condest}
{Currently has no effect. For backwards compatibility only.}
\ccc{schwarz: update damping}
{double}
{1.0}
{The amount by which to damp the updates from the Schwarz solve
(1.0 is no damping).}
\section{Hiptmair}
\ifpacktwo{} implements Hiptmair algorithm of~\cite{Hiptmair1997}. The method
......
......@@ -811,6 +811,8 @@ private:
int NumIterations_;
//! True if and only if the initial guess is zero.
bool ZeroStartingSolution_;
//! Damping for inner update, if used