Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • T Trilinos
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 936
    • Issues 936
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 22
    • Merge requests 22
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • James Willenbring
  • Trilinos
  • Issues
  • #158

Closed
Open
Created Feb 26, 2016 by James Willenbring@jmwilleOwner

Create a SEMSDevEnv.cmake file to automatically use loaded SEMS dev env

Created by: bartlettroscoe

Next Action Status:

Working and providing value as part of new checkin-test-sems.sh script and CI build (see #482 (closed))

CC list: @rppawlo, @bathmatt, @jgfouca, @jwillenbring, @gdsjaar, @trilinos/framework

Blocking: #410 (closed), #370 (closed)

Description:

This story will be to create a SEMSDevEnv.cmake file that once included (with -DTrilinos_CONFIGURE_OPTIONS_FILES=/SEMSDevEnv.cmake), then TriBITS will automatically pick up the right compilers and TPL locations.

In addition, it would be desirable for the Trilinos configure to automatically pick up the loaded SEAMS env (like is done on the ATTB machines using the ATTB_ENV env var, see #172 (closed)).

In addition to just providing the SEMSDevEnv.cmake module, this story will also scope out what might be useful for a standard Trilinos dev env. However, a new story will be created to refine what a new expanded Trilinos Primary Tested build of TPLs and Packages will look like.

List of TPLs and other requirements needed for a standard Trilinos CI build:

This following list is the current consensus for this the standard Trilinos CI build (this list is updated as consensus changes).

  • CMake 3.5.2 (There are huge speed advantages in using CMake 3.5.2 vs. 2.8.11) (see)
  • GCC 4.8.4 (@crtrott, see)
  • OpenMPI 1.8.7 (@crtrott, see)
  • Python 2.7.9 (the only version of 2.x, x > 6 provided by SEMS dev env)
  • OpenMP (i.e. Pthreads) (@crtrott, see)
  • BLAS and LAPACK, provided by system? (see)
  • Boost v1.55.0? (see)
  • Zlib 1.2.8 (the version provided by SEMS)
  • HDF5 v1.8.12 (the version provided by SEMS, used by SEMS NetCDF 4.3.2)
  • NetCDF 4.3.2? (the version provided by SEMS)
  • ParMETIS v4.0.3 built with 32-bit index types (@kddevin, see)
  • SuperLU 4.3 (used by several Trilinos packages)
  • Scotch v6.0.3 built with 32-bit index types (@kddevin, see)

Tasks:

  1. Get opinions on what TPLs should be included in the SEMSDevEnv.cmake module (targeting a standard Trilinos pre-push CI build) [Done]
  2. Write out SEMSDevEnv.cmake to automatically set up Compilers TPLs for a given loaded SEMS env (using module load <avail>) by reading env vars starting with SEMS_. (see below) [Done]
  3. Create a load_sems_dev_env.sh module that can be called as source load_sems_dev_env.sh [<compiler-and-version>] [<openmpi-and-version>], for example source load_sems_dev_env.sh gcc/4.9.2 openmpi/1.10.1 (where <compiler-and-version> and <openmpi-and-version> are given defaults if not provided). (see below) [Done]
  4. Test out on full shared lib MPI and serial builds of Trilinos with all Secondary Tested packages enabled that can be given this set of TPLs. (but forgot to enable Scott and ParMETIS TPLs, see below) [Done]
  5. Automatically load SEMSDevEnv.cmake if it is detected that the SEMS dev env is loaded. (see below) [Done]
  6. Enable Scotch and ParMETIS TPLs in shared lib build and test with packages that support them ... Zoltan and Zoltan2 tests fail as expected (see below and #475 (closed) and #476 (closed)) [Done]
  7. Test and get working all-static builds (i.e. build static libs and use static TPL libs) ... see commit c334dd63 [Done]
  8. Investigate issues with Scotch and ParMETIS ... SEMS provides inconsistent 32-bit Scotch and 64-bit ParMETIS (see below) [Done]
  9. Try to enable SuperLU 4.3 (see below) [Done]
  10. Finish documentation on Trilinos GitHub Wiki (see below) [Done]
  11. Have documentation and implementation reviewed (see a, b, c, d, e, and f) ... Will fix any problems if they come up. [Done]
Assignee
Assign to
Time tracking