Skip to content

Switch default checkin-test-sems.sh build and post-push CI build to use updated GCC 4.8.4 + OpenMPI 1.10.1 + OpenMP configuration

Created by: bartlettroscoe

CC: @trilinos/framework, @fryeguy52, @mhoemmen, @ibaned

Description

Switches the default checkin-test-sems.sh build and post-push CI build to use updated GCC 4.8.4 + OpenMPI 1.10.1 + OpenMP configuration.

Motivation and Context

This enables OpenMP for the GCC 4.8.4 and this matches the GCC 4.8.4 we agreed to for the auto PR build in #2317 (closed).

Related Issues

How Has This Been Tested?

I ran the full CI build on my machine 'crf450' with:

$ ./checkin-test-sems.sh --enable-all-packages=on --local-do-all

That returned:

  Enabled Packages: 
  Disabled Packages: PyTrilinos,Claps,TriKota
  Enabled all Packages
  Hostname: crf450.srn.sandia.gov
  Source Dir: /home/rabartl/Trilinos.base/Trilinos/cmake/tribits/ci_support/../../..
  Build Dir: /home/rabartl/Trilinos.base/BUILDS/CHECKIN/MPI_RELEASE_DEBUG_SHARED_PT_OPENMP
  
  CMake Cache Varibles: -GNinja -DTrilinos_TRIBITS_DIR:PATH=/home/rabartl/Trilinos.base/Trilinos/cmake/tribits -DTrilinos_ENABLE_TESTS:BOOL=ON -DTrilinos_TEST_CATEGORIES:STRING=BASIC -DTrilinos_ALLOW_NO_PACKAGES:BOOL=OFF -DDART_TESTING_TIMEOUT:STRING=300.0 -DTrilinos_DISABLE_ENABLED_FORWARD_DEP_PACKAGES=ON -DTrilinos_ENABLE_SECONDARY_TESTED_CODE:BOOL=OFF -DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/GCC-4.8.4-OpenMPI-1.10.1-MpiReleaseDebugSharedPtOpenMP.cmake -DTrilinos_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=ON -DTrilinos_ENABLE_ALL_PACKAGES:BOOL=ON -DTrilinos_ENABLE_ALL_FORWARD_DEP_PACKAGES:BOOL=ON -DTrilinos_ENABLE_PyTrilinos:BOOL=OFF -DTrilinos_ENABLE_Claps:BOOL=OFF -DTrilinos_ENABLE_TriKota:BOOL=OFF
  CTest Options: -j16
  
  Pull: Not Performed
  Configure: Passed (1.80 min)
  Build: Passed (73.70 min)
  Test: Passed (12.07 min)
  
  100% tests passed, 0 tests failed out of 2722
  
  Subproject Time Summary:
  Amesos               =  18.98 sec*proc (14 tests)
  Amesos2              =   8.78 sec*proc (8 tests)
  Anasazi              = 142.27 sec*proc (74 tests)
  AztecOO              =   9.20 sec*proc (17 tests)
  Belos                = 123.17 sec*proc (72 tests)
  Domi                 = 134.58 sec*proc (125 tests)
  Epetra               =  27.91 sec*proc (63 tests)
  EpetraExt            =  13.18 sec*proc (11 tests)
  FEI                  =  29.25 sec*proc (43 tests)
  Galeri               =   5.08 sec*proc (9 tests)
  GlobiPack            =   0.89 sec*proc (6 tests)
  Ifpack               =  65.01 sec*proc (48 tests)
  Ifpack2              =  73.73 sec*proc (37 tests)
  Intrepid             = 178.03 sec*proc (143 tests)
  Intrepid2            = 126.73 sec*proc (240 tests)
  Isorropia            =   6.14 sec*proc (6 tests)
  Kokkos               = 119.02 sec*proc (27 tests)
  KokkosKernels        = 213.59 sec*proc (8 tests)
  ML                   =  49.45 sec*proc (34 tests)
  MiniTensor           =   0.87 sec*proc (2 tests)
  MueLu                = 768.01 sec*proc (82 tests)
  NOX                  = 222.63 sec*proc (106 tests)
  OptiPack             =   8.65 sec*proc (5 tests)
  Panzer               = 1790.05 sec*proc (154 tests)
  Phalanx              =  11.37 sec*proc (27 tests)
  Pike                 =   0.88 sec*proc (7 tests)
  Piro                 =  88.70 sec*proc (12 tests)
  ROL                  = 3062.24 sec*proc (162 tests)
  RTOp                 =   5.79 sec*proc (24 tests)
  Rythmos              = 167.37 sec*proc (83 tests)
  SEACAS               =  22.67 sec*proc (14 tests)
  STK                  =  48.09 sec*proc (12 tests)
  Sacado               =  42.53 sec*proc (296 tests)
  Shards               =   0.58 sec*proc (4 tests)
  ShyLU_DD             =   6.47 sec*proc (2 tests)
  ShyLU_Node           =  13.32 sec*proc (5 tests)
  Stokhos              =  95.38 sec*proc (79 tests)
  Stratimikos          =  47.14 sec*proc (40 tests)
  Teko                 = 109.47 sec*proc (19 tests)
  Tempus               = 2452.52 sec*proc (36 tests)
  Teuchos              =  71.32 sec*proc (138 tests)
  ThreadPool           =  24.41 sec*proc (10 tests)
  Thyra                =  36.31 sec*proc (81 tests)
  Tpetra               = 132.16 sec*proc (167 tests)
  TrilinosCouplings    =  70.64 sec*proc (24 tests)
  Triutils             =   1.33 sec*proc (2 tests)
  Xpetra               = 108.22 sec*proc (18 tests)
  Zoltan               =  89.79 sec*proc (19 tests)
  Zoltan2              = 158.25 sec*proc (107 tests)
  
  Total Test time (real) = 723.76 sec
  
  Total time for MPI_RELEASE_DEBUG_SHARED_PT_OPENMP = 87.57 min

I verified that this is using the right env with GCC 4.8.4, OpenMPI 1.10.1 and OpenMP enabled because in the configure.out file I saw:

-- Reading in configuration options from cmake/std/GCC-4.8.4-OpenMPI-1.10.1-MpiReleaseDebugSharedPtOpenMP.cmake ...
-- Setting Trilinos_ENABLE_OpenMP='ON' by default
-- Setting MPI_EXEC_PRE_NUMPROCS_FLAGS='--bind-to;none' by default
[...]
-- MPI_EXEC='/projects/sems/install/rhel6-x86_64/sems/compiler/gcc/4.8.4/openmpi/1.10.1/bin/mpiexec'
-- The C compiler identification is GNU 4.8.4
-- Check for working C compiler: /projects/sems/install/rhel6-x86_64/sems/compiler/gcc/4.8.4/openmpi/1.10.1/bin/mpicc
-- Check for working C compiler: /projects/sems/install/rhel6-x86_64/sems/compiler/gcc/4.8.4/openmpi/1.10.1/bin/mpicc -- works
[...]

[...]
-- KokkosCore_UnitTest_OpenMP_MPI_1: Added test (BASIC, NUM_MPI_PROCS=1, PROCESSORS=1)!
-- KokkosCore_UnitTest_OpenMPInterOp_MPI_1: Added test (BASIC, NUM_MPI_PROCS=1, PROCESSORS=1)!
[...]
-- KokkosContainers_UnitTest_OpenMP_MPI_1: Added test (BASIC, NUM_MPI_PROCS=1, PROCESSORS=1)!

I ran the full post-push CI build with:

$ env  CTEST_DASHBOARD_ROOT=$PWD \
     CI_FIRST_ITERATION=1 \
     CTEST_TEST_TYPE=Experimental \
     CTEST_DO_SUBMIT=OFF \
     CTEST_DO_UPDATES=OFF \
     CTEST_START_WITH_EMPTY_BINARY_DIRECTORY=OFF \
   ~/Trilinos.base/Trilinos/cmake/ctest/drivers/sems_ci/single_ci_iter.sh \
     &> console.out

In the console.out file I saw:

Currently Loaded Modulefiles:
  1) sems-env
  2) atdm-env
  3) sems-python/2.7.9
  4) atdm-cmake/3.11.1
  5) sems-git/2.10.1
  6) atdm-ninja_fortran/1.7.2
  7) sems-gcc/4.8.4
  8) sems-openmpi/1.10.1
  9) sems-boost/1.63.0/base
 10) sems-zlib/1.2.8/base
 11) sems-hdf5/1.8.12/parallel
 12) sems-netcdf/4.4.1/exo_parallel
 13) sems-parmetis/4.0.3/parallel
 14) sems-scotch/6.0.3/nopthread_64bit_parallel
 15) sems-superlu/4.3/base
...
-- CTEST_DASHBOARD_ROOT='/ascldap/users/rabartl/Trilinos.base/BUILDS/GCC-4.8.4/MOCK_MPI_RELEASE_DEBUG_SHARED_PT_OPENMP_CI'
...
CONFIGURE_OPTIONS = '...;-DTrilinos_CONFIGURE_OPTIONS_FILE:STRING=cmake/std/GCC-4.8.4-OpenMPI-1.10.1-MpiReleaseDebugSharedPtOpenMP.cmake;...'

The configure XML files under BUILD/Testing/Temporary/ showed:

-- CMAKE_VERSION='3.11.1'
-- CMAKE_GENERATOR='Ninja'
-- Reading in configuration options from cmake/std/GCC-4.8.4-OpenMPI-1.10.1-MpiReleaseDebugSharedPtOpenMP.cmake ...
...
-- Leaving current CMAKE_CXX_COMPILER=/projects/sems/install/rhel6-x86_64/sems/compiler/gcc/4.8.4/openmpi/1.10.1/bin/mpicxx since it is already set!
...
-- MPI_EXEC='/projects/sems/install/rhel6-x86_64/sems/compiler/gcc/4.8.4/openmpi/1.10.1/bin/mpiexec'
...

This resulted in:

  Build Name: Linux-GCC-4.8.4-MPI_RELEASE_DEBUG_SHARED_PT_OPENMP_CI
at:
  http://testing.sandia.gov/cdash/index.php?project=Trilinos&display=project

TRIBITS_CTEST_DRIVER: OVERALL: ALL PASSSED

Checklist

  • My commit messages mention the appropriate GitHub issue numbers.
  • All new and existing tests passed.

Merge request reports