Skip to content

Chama and Skybridge

Alejandro Mota edited this page Jan 13, 2016 · 10 revisions

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

Trilinos now requires C++11 features, and the newest version of the Intel compiler available in these machines is 14.0, which is not fully C++11 compliant. Therefore 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 [email protected]:Unidata/netcdf-c.git
      cd netcdf-c
    
  • Edit the file include/netcdf.h. Make the following changes near line 232:

      #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 491 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 535 -- 544 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"
      /*typedef int MPI_Comm;
      typedef int MPI_Info;
      #define MPI_COMM_WORLD 0
      #define MPI_INFO_NULL 0 */
    
  • 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 [email protected]:trilinos/Trilinos.git
    
  • Download SCOREC (optional)

      cd /ascldap/users/$USER/src/Trilinos
      git clone [email protected]: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 [email protected]:gahansen/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