Skip to content

Chama and Skybridge

Glen Hansen edited this page Feb 11, 2019 · 10 revisions

Recent instructions were developed for both the environment and building with the release flavor of netcdf. These changes will be implemented below very soon.

Set up your build environment.

Listing the default modules will give the following:

	module list
	Currently Loaded Modulefiles:
	1) intel/12.1          2) openmpi-intel/1.6

We use the GNU compiler:

	module purge
	module load gnu/4.9.2
	module load openmpi-gnu/1.8

Install the required Third Party Libraries (TPLs) for Trilinos

These install instructions assume that a base install directory of /ascldap/users/$USER is used. For most setups, the expansion of the environment variable $USER should work just as is.

Building ZLib

  • Version 1.2.8

      cd /ascldap/users/$USER/src
      curl http://zlib.net/zlib-1.2.8.tar.gz -O
      tar -xvf zlib-1.2.8.tar.gz
      cd zlib-1.2.8
      CC=mpicc CXX=mpicxx CFLAGS=-O3 CXXFLAGS=-O3 ./configure --64 --static --prefix=/ascldap/users/$USER
      make install
    

Building HDF5

  • Version 1.8.14

      cd /ascldap/users/$USER/src/
      curl https://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.14/src/hdf5-1.8.14.tar.gz -O
      tar -xvf hdf5-1.8.14.tar.gz
      cd hdf5-1.8.14
      ./configure CC=mpicc FC=mpif90 CXX=mpicxx CXXFLAGS="-fPIC -O3" CFLAGS="-fPIC -O3" FCFLAGS="-fPIC -O3" --enable-parallel --enable-shared=no --with-zlib=/ascldap/users/$USER --prefix=/ascldap/users/$USER
      make -j 8
      make install
    

Building Netcdf

  • Version of the day from the git repository. Note that hdf5-1.8.13 made some changes that are not reflected in the latest release, so we are using the VOTD for now. Note also that you will need to have a GitHub account to use this cloning method. Otherwise clone by some other method, e.g. HTTPS.

      cd /ascldap/users/$USER/src/
      git clone git@github.com:Unidata/netcdf-c.git
      cd netcdf-c
    
  • Edit the file include/netcdf.h. Make the following changes near line 265:

      #define NC_MAX_DIMS      65536    /* max dimensions per file */
      #define NC_MAX_ATTRS      8192    
      #define NC_MAX_VARS     524288    /* max variables per file */
      #define NC_MAX_NAME        256 
      #define NC_MAX_VAR_DIMS      8    /* max per variable dimensions */
    
  • Netcdf incorrectly deduces that the version of HDF5 just installed above is not parallel. To correct this, disable the checks that follow the comment around line 607 in CMakeLists.txt:

      # Find out if HDF5 was built with parallel support.
      # Do that by checking for the targets H5Pget_fapl_mpiposx and
      # H5Pget_fapl_mpio in ${HDF5_LIB}.
      #    CHECK_LIBRARY_EXISTS(hdf5 H5Pget_fapl_mpiposix "" HDF5_IS_PARALLEL_MPIPOSIX)
      #    CHECK_LIBRARY_EXISTS(hdf5 H5Pget_fapl_mpio "" HDF5_IS_PARALLEL_MPIO)
      #    IF(HDF5_IS_PARALLEL_MPIPOSIX OR HDF5_IS_PARALLEL_MPIO)
            SET(HDF5_IS_PARALLEL ON)
      #    ENDIF()
      
      #    IF(HDF5_IS_PARALLEL_MPIO)
            SET(USE_PARALLEL_MPIO ON)
      #    ENDIF()
      
      #    IF(HDF5_IS_PARALLEL_MPIPOSIX)
      #      SET(USE_PARALLEL_POSIX ON)
      #    ENDIF()
    
  • Netcdf also incorrectly deduces that the HDF5 version is too old. Disable the checks for the HDF5 version around lines 555 -- 564 to avoid this:

      #  IF("${HDF5_VERSION}" STREQUAL "")
      #    MESSAGE(STATUS "Unable to determine hdf5 version.  NetCDF requires at least version ${HDF5_VERSION_REQUIRED}")
      #  ELSE()
      #    IF(${HDF5_VERSION} VERSION_LESS ${HDF5_VERSION_REQUIRED})
      #      MESSAGE(FATAL_ERROR
      #       "netCDF requires at least HDF5 ${HDF5_VERSION_REQUIRED}. Found ${HDF5_VERSION}.")
      #    ELSE()
              MESSAGE(STATUS "Found HDF5 libraries version ${HDF5_VERSION}")
      #    ENDIF()
      #  ENDIF()
    
  • Comment out the MPI typedefs and defines at line 90 in include/ncdispatch.h, and add an include statement for mpi.h

      #include "mpi.h"
      /* #if !defined HDF5_PARALLEL && !defined USE_PNETCDF
      typedef int MPI_Comm;
      typedef int MPI_Info;
      #define MPI_COMM_WORLD 0
      #define MPI_INFO_NULL 0
      #endif */
    
  • Now, configure using CMake and build:

      mkdir build
      cd build
      cmake \
      -DCMAKE_C_COMPILER=mpicc \
      -DCMAKE_C_FLAGS="-I/ascldap/users/$USER/include -O3" \
      -DCMAKE_EXE_LINKER_FLAGS="-L/ascldap/users/$USER/lib -O3" \
      -DCMAKE_INSTALL_PREFIX=/ascldap/users/$USER \
      -DENABLE_DAP=OFF -DBUILD_SHARED_LIBS=OFF -DENABLE_FSYNC=OFF -DENABLE_CDMREMOTE=OFF \
      -DENABLE_DOXYGEN=OFF -DENABLE_NETCDF_4=ON -DCMAKE_BUILD_TYPE=RELEASE -DENABLE_EXAMPLES=OFF \
      -DENABLE_TESTS=OFF -DCMAKE_SKIP_INSTALL_RPATH=ON \
      -DZLIB_INCLUDE_DIRS=/ascldap/users/$USER/include \
      -DZLIB_LIBRARY=/ascldap/users/$USER/lib/libz.a \
      -DBUILD_UTILITIES=OFF \
      ..
      
      make -j 8
      make install
    

Building boost

  • Version 1.57.0

      cd /ascldap/users/$USER/src/
      wget http://sourceforge.net/projects/boost/files/boost/1.57.0/boost_1_57_0.tar.gz/download
      mv download boost_1_57_0.tar.gz
      tar -xvf boost_1_57_0.tar.gz
      cd boost_1_57_0
    
  • Build boost with the commands

      echo "using gcc : /opt/rh/devtoolset-3/root/usr/bin/g++ ;" >> ./tools/build/user-config.jam
      echo "using mpi : /opt/openmpi-1.8-gnu/bin/mpicxx ;" >> ./tools/build/user-config.jam
      ./bootstrap.sh --with-toolset=gcc --with-libraries=signals,regex,filesystem,system,mpi,serialization,thread,program_options,exception --prefix=/ascldap/users/$USER
      ./b2 -j 8
      ./b2 -j 8 install
    

Building ParMetis

  • ParMetis is necessary if you build with the SCOREC tools. Version 4.0.3

      cd /ascldap/users/$USER/src/
      wget http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-4.0.3.tar.gz
      tar -xvf parmetis-4.0.3.tar.gz
      cd parmetis-4.0.3
    
  • Edit metis.h to use an IDXTYPEWIDTH of 64

      cd metis/include
      vi metis.h
      #define IDXTYPEWIDTH 64
    
  • Run CMake to build parmetis

      cd /ascldap/users/$USER/src/parmetis-4.0.3
      cd build
      export metis=/ascldap/users/$USER/src/parmetis-4.0.3/metis
    
      cmake \
      -DCMAKE_INSTALL_PREFIX=/ascldap/users/$USER \
      -DMETIS_PATH=$metis \
      -DGKLIB_PATH=$metis/GKlib \
      -DCMAKE_C_COMPILER=mpicc \
      -DCMAKE_CXX_COMPILER=mpicxx \
      ..
    
      make -j 8
      make install
    
      cp libmetis/libmetis.a /ascldap/users/$USER/lib
      cp $metis/include/metis.h /ascldap/users/$USER/include
    

Building Lame (optional)

  • Version 4.24.1

  • These instructions are for the modified Lame tarball (contact Glen Hansen for info)

      cd /ascldap/users/$USER/src/lame-4.24.1
      mkdir build-intel
      ../do-cmake-lame-intel
      make -j 8
    

Build Trilinos

  • Clone Trilinos.

      cd /ascldap/users/$USER/src
      git clone git@github.com:trilinos/Trilinos.git
    
  • Download SCOREC (optional)

      cd /ascldap/users/$USER/src/Trilinos
      git clone git@github.com:SCOREC/core.git SCOREC
    
  • Configure the Trilinos build

      mkdir build
      cd build
      ./trilinos-config.sh
    
  • Example trilinos-config.sh script executed above

      #
      #!/bin/sh
      #
      export TRILINOS_HOME=/ascldap/users/$USER/src/Trilinos
      BUILD_DIR=`pwd`
      INSTALL_DIR=/ascldap/users/$USER/trilinos-install-gcc-release
      BOOST_DIR=/ascldap/users/$USER
      LIB_DIR=$BOOST_DIR
      MPI_BASE_DIR=/opt/openmpi-1.8-gnu
      NETCDF=/ascldap/users/$USER
      HDFDIR=/ascldap/users/$USER
      
      cmake \
          -Wno-dev \
          -D Trilinos_CONFIGURE_OPTIONS_FILE:FILEPATH=$TRILINOS_HOME/sampleScripts/AlbanySettings.cmake \
          -D CMAKE_BUILD_TYPE:STRING=NONE \
          -D CMAKE_CXX_FLAGS:STRING="-O3 -DNDEBUG" \
          -D CMAKE_C_FLAGS:STRING="-O3 -DNDEBUG" \
          -D CMAKE_Fortran_FLAGS:STRING="-O3 -DNDEBUG" \
          -D Rythmos_ENABLE_DEBUG:BOOL=ON \
      \
          -D TPL_ENABLE_MPI:BOOL=ON \
          -D MPI_BASE_DIR:PATH=$MPI_BASE_DIR \
      \
          -D TPL_ENABLE_Pthread:BOOL=ON \
      \
          -D TPL_ENABLE_Boost:BOOL=ON \
          -D TPL_ENABLE_BoostLib:BOOL=ON \
          -D TPL_ENABLE_BoostAlbLib:BOOL=ON \
          -D Boost_INCLUDE_DIRS:PATH=$BOOST_DIR/include \
          -D Boost_LIBRARY_DIRS:PATH=$BOOST_DIR/lib \
          -D BoostLib_INCLUDE_DIRS:PATH=$BOOST_DIR/include \
          -D BoostLib_LIBRARY_DIRS:PATH=$BOOST_DIR/lib \
          -D BoostAlbLib_INCLUDE_DIRS:PATH=$BOOST_DIR/include \
          -D BoostAlbLib_LIBRARY_DIRS:PATH=$BOOST_DIR/lib \
      \
          -D TPL_ENABLE_Netcdf:STRING=ON \
          -D Netcdf_INCLUDE_DIRS:PATH=$NETCDF/include \
          -D Netcdf_LIBRARY_DIRS:PATH=$NETCDF/lib \
          -D TPL_ENABLE_HDF5:STRING=ON \
          -D HDF5_INCLUDE_DIRS:PATH="${HDFDIR}/include" \
          -D TPL_HDF5_LIBRARIES:PATH="${HDFDIR}/lib/libhdf5_hl.a;${HDFDIR}/lib/libhdf5.a;${HDFDIR}/lib/libz.a" \
          -D Trilinos_EXTRA_LINK_FLAGS="-L${HDFDIR}/lib -ldl -lhdf5_hl -lhdf5 -lz -lm" \
      \
          -D TPL_ENABLE_Zlib:STRING=ON \
          -D Zlib_INCLUDE_DIRS:PATH=$HDFDIR/include \
          -D TPL_Zlib_LIBRARIES:PATH="$HDFDIR/lib/libz.a" \
      \
          -D TPL_ENABLE_BLAS:STRING=ON \
          -D TPL_ENABLE_LAPACK:STRING=ON \
      \
          -D Trilinos_ASSERT_MISSING_PACKAGES:BOOL=OFF \
          -D Trilinos_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=OFF \
          -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF \
          -D Trilinos_ENABLE_CXX11:BOOL=ON \
          -D Trilinos_ENABLE_EXAMPLES:BOOL=OFF \
          -D Trilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON \
          -D Trilinos_VERBOSE_CONFIGURE:BOOL=OFF \
          -D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING="" \
      \
          -D HAVE_INTREPID_KOKKOSCORE:BOOL=ON \
          -D Kokkos_ENABLE_CXX11:BOOL=ON \
          -D Kokkos_ENABLE_Cuda_UVM=OFF \
          -D Kokkos_ENABLE_EXAMPLES:BOOL=OFF \
          -D Kokkos_ENABLE_OpenMP:BOOL=OFF \
          -D Kokkos_ENABLE_Pthread:BOOL=OFF \
          -D Kokkos_ENABLE_Serial:BOOL=ON \
          -D Kokkos_ENABLE_TESTS:BOOL=ON \
          -D TPL_ENABLE_CUDA:STRING=OFF \
          -D TPL_ENABLE_CUSPARSE:BOOL=OFF \
      \
          -D Amesos2_ENABLE_KLU2:BOOL=ON \
          -D EpetraExt_USING_HDF5:BOOL=OFF \
          -D Intrepid_ENABLE_TESTS:BOOL=OFF \
          -D Phalanx_INDEX_SIZE_TYPE:STRING="INT" \
          -D Phalanx_KOKKOS_DEVICE_TYPE:STRING="SERIAL" \
          -D Phalanx_SHOW_DEPRECATED_WARNINGS:BOOL=OFF \
          -D Sacado_ENABLE_COMPLEX:BOOL=ON \
          -D Teuchos_ENABLE_COMPLEX:BOOL=ON \
          -D Tpetra_ENABLE_Kokkos_Refactor:BOOL=ON \
          -D Tpetra_INST_PTHREAD:BOOL=OFF \
      \
          -D Trilinos_ENABLE_Amesos2:BOOL=ON \
          -D Trilinos_ENABLE_Amesos:BOOL=ON \
          -D Trilinos_ENABLE_Anasazi:BOOL=ON \
          -D Trilinos_ENABLE_AztecOO:BOOL=ON \
          -D Trilinos_ENABLE_Belos:BOOL=ON \
          -D Trilinos_ENABLE_EXAMPLES:BOOL=OFF \
          -D Trilinos_ENABLE_Epetra:BOOL=ON \
          -D Trilinos_ENABLE_EpetraExt:BOOL=ON \
          -D Trilinos_ENABLE_Ifpack2:BOOL=ON \
          -D Trilinos_ENABLE_Ifpack:BOOL=ON \
          -D Trilinos_ENABLE_Intrepid:BOOL=ON \
          -D Trilinos_ENABLE_Intrepid2:BOOL=ON \
          -D Trilinos_ENABLE_Kokkos:BOOL=ON \
          -D Trilinos_ENABLE_KokkosAlgorithms:BOOL=ON \
          -D Trilinos_ENABLE_KokkosContainers:BOOL=ON \
          -D Trilinos_ENABLE_KokkosCore:BOOL=ON \
          -D Trilinos_ENABLE_KokkosExample:BOOL=OFF \
          -D Trilinos_ENABLE_ML:BOOL=ON \
          -D Trilinos_ENABLE_MOOCHO:BOOL=OFF \
          -D Trilinos_ENABLE_OpenMP:BOOL=OFF \
          -D Trilinos_ENABLE_MueLu:BOOL=ON \
          -D Trilinos_ENABLE_NOX:BOOL=ON \
          -D Trilinos_ENABLE_Pamgen:BOOL=ON \
          -D Trilinos_ENABLE_Phalanx:BOOL=ON \
          -D Trilinos_ENABLE_Piro:BOOL=ON \
          -D Trilinos_ENABLE_Rythmos:BOOL=ON \
          -D Trilinos_ENABLE_SEACAS:BOOL=ON \
          -D Trilinos_ENABLE_STK:BOOL=ON \
          -D Trilinos_ENABLE_STKClassic:BOOL=OFF \
          -D Trilinos_ENABLE_STKDoc_tests:BOOL=OFF \
          -D Trilinos_ENABLE_STKIO:BOOL=ON \
          -D Trilinos_ENABLE_STKMesh:BOOL=ON \
          -D Trilinos_ENABLE_STKSearch:BOOL=OFF \
          -D Trilinos_ENABLE_STKSearchUtil:BOOL=OFF \
          -D Trilinos_ENABLE_STKTopology:BOOL=ON \
          -D Trilinos_ENABLE_STKTransfer:BOOL=ON \
          -D Trilinos_ENABLE_STKUnit_tests:BOOL=OFF \
          -D Trilinos_ENABLE_STKUtil:BOOL=ON \
          -D Trilinos_ENABLE_Sacado:BOOL=ON \
          -D Trilinos_ENABLE_Shards:BOOL=ON \
          -D Trilinos_ENABLE_Stokhos:BOOL=ON \
          -D Trilinos_ENABLE_Stratimikos:BOOL=ON \
          -D Trilinos_ENABLE_TESTS:BOOL=OFF \
          -D Trilinos_ENABLE_Teko:BOOL=ON \
          -D Trilinos_ENABLE_Teuchos:BOOL=ON \
          -D Trilinos_ENABLE_ThreadPool:BOOL=ON \
          -D Trilinos_ENABLE_Thyra:BOOL=ON \
          -D Trilinos_ENABLE_Tpetra:BOOL=ON \
          -D Trilinos_ENABLE_Zoltan2:BOOL=ON \
          -D Trilinos_ENABLE_Zoltan:BOOL=ON \
      \
          -D CMAKE_INSTALL_PREFIX:PATH=$INSTALL_DIR \
      \
          -D Trilinos_ENABLE_TriKota:BOOL=OFF \
      \
      $EXTRA_ARGS \
      ${TRILINOS_HOME}
      
      exit 0
    
  • Example trilinos-config.sh to execute if building with the SCOREC tools. WARNING: Needs to be updated.

      #!/bin/sh
      #
      export TRILINOS_HOME=/ascldap/users/gahanse/src/Trilinos
      BUILD_DIR=`pwd`
      INSTALL_DIR=/ascldap/users/gahanse/trilinos/MPI_REL
      BOOST_DIR=/ascldap/users/gahanse
      LIB_DIR=$BOOST_DIR
      MPI_BASE_DIR=/opt/openmpi-1.4-intel
      NETCDF=/ascldap/users/gahanse
      HDFDIR=/ascldap/users/gahanse
      PARMETISDIR=$BOOST_DIR
      SUPERLUDIR=$BOOST_DIR/SuperLU_4.3
      MKL_PATH=/opt/intel-12.1
      LABLAS_LIBRARIES="-L$MKL_PATH/lib/intel64 -Wl,--start-group $MKL_PATH/mkl/lib/intel64/libmkl_intel_lp64.a $MKL_PATH/mkl/lib/intel64/libmkl_core.a $MKL_PATH/mkl/lib/intel64/libmkl_sequential.a -Wl,--end-group -lpthread"
      
      cmake \
          -Wno-dev \
          -D Trilinos_CONFIGURE_OPTIONS_FILE:FILEPATH=$TRILINOS_HOME/sampleScripts/AlbanySettings.cmake \
          -D Trilinos_EXTRA_REPOSITORIES:STRING="SCOREC" \
          -D Trilinos_ENABLE_SCOREC:BOOL=ON \
          -D SCOREC_DISABLE_STRONG_WARNINGS:BOOL=ON \
          -D CMAKE_BUILD_TYPE:STRING=NONE \
          -D CMAKE_CXX_FLAGS:STRING="-O3 -xAVX -DNDEBUG" \
          -D CMAKE_C_FLAGS:STRING="-O3 -xAVX -DNDEBUG" \
          -D CMAKE_Fortran_FLAGS:STRING="-O3 -xAVX -DNDEBUG" \
          -D Rythmos_ENABLE_DEBUG:BOOL=ON \
      \
          -D TPL_ENABLE_MPI:BOOL=ON \
          -D MPI_BASE_DIR:PATH=$MPI_BASE_DIR \
      \
      	-D TPL_ENABLE_Pthread:BOOL=ON \
      \
          -D TPL_ENABLE_Boost:BOOL=ON \
          -D TPL_ENABLE_BoostLib:BOOL=ON \
          -D TPL_ENABLE_BoostAlbLib:BOOL=ON \
      	-D Boost_INCLUDE_DIRS:PATH=$BOOST_DIR/include \
      	-D Boost_LIBRARY_DIRS:PATH=$BOOST_DIR/lib \
      	-D BoostLib_INCLUDE_DIRS:PATH=$BOOST_DIR/include \
      	-D BoostLib_LIBRARY_DIRS:PATH=$BOOST_DIR/lib \
      	-D BoostAlbLib_INCLUDE_DIRS:PATH=$BOOST_DIR/include \
      	-D BoostAlbLib_LIBRARY_DIRS:PATH=$BOOST_DIR/lib \
      \
          -D TPL_ENABLE_Netcdf:STRING=ON \
      	-D Netcdf_INCLUDE_DIRS:PATH=$NETCDF/include \
      	-D Netcdf_LIBRARY_DIRS:PATH=$NETCDF/lib \
          -D TPL_ENABLE_HDF5:STRING=ON \
          -D HDF5_INCLUDE_DIRS:PATH="${HDFDIR}/include" \
          -D TPL_HDF5_LIBRARIES:PATH="${HDFDIR}/lib/libhdf5_hl.a;${HDFDIR}/lib/libhdf5.a;${HDFDIR}/lib/libz.a" \
           -D Trilinos_EXTRA_LINK_FLAGS="-L${HDFDIR}/lib -lhdf5_hl -lhdf5 -lz -lm" \
      \
          -D TPL_ENABLE_Zlib:STRING=ON \
          -D Zlib_INCLUDE_DIRS:PATH=$HDFDIR/include \
          -D TPL_Zlib_LIBRARIES:PATH="$HDFDIR/lib/libz.a" \
      \
          -D TPL_ENABLE_BLAS:STRING=ON \
          -D TPL_ENABLE_LAPACK:STRING=ON \
          -D TPL_BLAS_LIBRARIES:STRING="$LABLAS_LIBRARIES" \
          -D TPL_LAPACK_LIBRARIES:STRING="$LABLAS_LIBRARIES" \
      \
          -D TPL_ENABLE_ParMETIS:STRING=ON \
          -D ParMETIS_INCLUDE_DIRS:PATH="${PARMETISDIR}/include" \
          -D ParMETIS_LIBRARY_DIRS:PATH="${PARMETISDIR}/lib" \
      \
      	-D CMAKE_INSTALL_PREFIX:PATH=$INSTALL_DIR \
      \
          -D Trilinos_ENABLE_TriKota:BOOL=OFF \
          -D DAKOTA_ENABLE_TESTS:BOOL=OFF \
      \
      $EXTRA_ARGS \
      ${TRILINOS_HOME}
      
      exit 0
    
  • Build Trilinos

      make -j 8
      make install
    

Build Albany

  • Clone the repository

      cd /ascldap/users/$USER/src
      git clone git@github.com:SNLComputation/Albany.git
      cd Albany
    
  • Configure the Albany build

      cd /ascldap/users/$USER
      mkdir albany-build-gcc-release
      cd albany-build-gcc-release
      ./albany-config.sh
    
  • CMake configure script ./albany-config.sh:

      #!/bin/bash
      
      if [ -f ./CMakeCache.txt ]; then
          rm CMakeCache.txt
      fi
      
      # The Trilinos Dir is the same as the PREFIX entry from the
      # Trilinos configuration script
      
      cmake \
       -D ALBANY_TRILINOS_DIR:FILEPATH=~/trilinos-install-gcc-release \
       -D CMAKE_VERBOSE_MAKEFILE:BOOL=OFF \
       -D ENABLE_LCM:BOOL=ON \
       -D ENABLE_ATO:BOOL=OFF \
       -D ENABLE_QCAD:BOOL=OFF \
       -D ENABLE_MOR:BOOL=OFF \
       -D ENABLE_SG:BOOL=OFF \
       -D ENABLE_ENSEMBLE:BOOL=OFF \
       -D ENABLE_FELIX:BOOL=OFF \
       -D ENABLE_LAME:BOOL=OFF \
       -D ENABLE_LAMENT:BOOL=OFF \
       -D ENABLE_CHECK_FPE:BOOL=OFF \
       -D ENABLE_KOKKOS_UNDER_DEVELOPMENT:BOOL=OFF \
       -D ALBANY_ENABLE_FORTRAN:BOOL=OFF \
       -D ENABLE_SLFAD:BOOL=OFF \
        \
       ~/src/Albany
    
  • CMake configure script for building Albany with SCOREC tools. WARNING: Needs to be updated.

      #!/bin/sh
      
      export ALB_64BIT_INT=ON
      export ALB_EPETRA=OFF
      export ALB_SEE=OFF
      export ALB_ENABLE_SCOREC=ON
      export ALB_ENABLE_LCM=ON
      export ALB_ENABLE_LAME=ON
      export ALB_ENABLE_HYDRIDE=OFF
      export ALB_ENABLE_QCAD=OFF
      export ALB_ENABLE_MOR=OFF
      export ALB_ENABLE_ASCR=OFF
      export ALB_ENABLE_AERAS=OFF
      export ALB_ENABLE_FELIX=OFF
      export ALB_ENABLE_AlbanyCI=OFF
      export ALB_DEBUG=OFF
      export ALB_ENABLE_CHECK_FPE=ON
      export ALB_ENABLE_SPECULATIVE=OFF
      export ALB_ENABLE_SG_MP=OFF
      export ALB_ENABLE_PERF_TESTS=ON
      export TRILINOS_INSTALL_DIR=/ascldap/users/gahanse/trilinos/MPI_REL
      export ALB_LAME_INC_DIR=/ascldap/users/gahanse/src/lame-4.24.1/lame/include
      export ALB_LAME_LIB_DIR=/ascldap/users/gahanse/src/lame-4.24.1/lame/build_intel
      export ALB_VERBOSE=OFF
      
      cmake \
      -D ALBANY_TRILINOS_DIR:FILEPATH="$TRILINOS_INSTALL_DIR" \
      -D ENABLE_LCM:BOOL=${ALB_ENABLE_LCM} \
      -D ENABLE_AERAS:BOOL=${ALB_ENABLE_AERAS} \
      -D ENABLE_QCAD:BOOL=${ALB_ENABLE_QCAD} \
      -D ENABLE_HYDRIDE:BOOL=${ALB_ENABLE_HYDRIDE} \
      -D ENABLE_LCM_SPECULATIVE:BOOL=${ALB_ENABLE_SPECULATIVE} \
      -D ENABLE_LAME:BOOL=${ALB_ENABLE_LAME} \
      -D CMAKE_VERBOSE_MAKEFILE:BOOL=${ALB_VERBOSE} \
      -D ENABLE_DEBUGGING:BOOL=${ALB_DEBUG} \
      -D ENABLE_CHECK_FPE:BOOL=${ALB_ENABLE_CHECK_FPE} \
      -D ENABLE_SCOREC:BOOL=${ALB_ENABLE_SCOREC} \
      -D ENABLE_FELIX:BOOL=${ALB_ENABLE_FELIX} \
      -D ENABLE_MOR:BOOL=${ALB_ENABLE_MOR} \
      -D ENABLE_ALBANY_CI:BOOL=${ALB_ENABLE_AlbanyCI} \
      -D ENABLE_ASCR:BOOL=${ALB_ENABLE_ASCR} \
      -D ENABLE_SG_MP:BOOL=${ALB_ENABLE_SG_MP} \
      -D ENABLE_PERFORMANCE_TESTS:BOOL=${ALB_ENABLE_PERF_TESTS} \
      -D LAME_INCLUDE_DIR:FILEPATH="$ALB_LAME_INC_DIR" \
      -D LAME_LIBRARY_DIR:FILEPATH="$ALB_LAME_LIB_DIR" \
      -D ALBANY_CTEST_TIMEOUT:INTEGER=70 \
      -D ENABLE_64BIT_INT:BOOL=${ALB_64BIT_INT} \
      -D ENABLE_ALBANY_EPETRA_EXE:BOOL=${ALB_EPETRA} \
      -D ENABLE_SEE:BOOL=${ALB_SEE} \
      -D ALBANY_MPI_OPTIONS:BOOL=ON \
      -D ALBANY_MPI_EXEC:STRING="mpiexec" \
      -D ALBANY_MPI_EXEC_NUMPROCS_FLAG:STRING="-n" \
      -D ALBANY_MPI_EXEC_MAX_NUMPROCS:STRING="4" \
      -D ALBANY_MPI_LEADING_OPTIONS:STRING="" \
       \
      ..
    
  • Build Albany

      make -j 8
    
Clone this wiki locally