Skip to content

Building with SCOREC core sim

Cameron Smith edited this page Mar 29, 2016 · 4 revisions

On SCOREC Squeeze Workstations

Environment Setup

module load \
mpich3/3.1.2-thread-multiple \
gcc/4.9.2 \
cmake/latest \
git/2.1.0 \
parmetis/mpich3.1.2/4.0.3
load 

Repo Setup

mkdir trilinos
cd trilinos
git clone [email protected]:cwsmith/Trilinos.git src
cd src
git clone [email protected]:SCOREC/core-sim.git SCOREC
cd SCOREC
git checkout tri-core-sim
cd ../../
mkdir build

Configure

#Modify these paths for your system.
TOOLS=/path/to/TPL_install
TRILINSTALLDIR=../install-sim
TRILSRCDIR=../src
MPIDIR=/path/to/mpi/bin
PARMETISDIR=/parmetis/install/dir
BOOSTDIR=$TOOLS
NETCDFDIR=$TOOLS
HDF5DIR=$TOOLS
SUPERLUDIR=$TOOLS
HAVE_LL=ON
SIM_INCLUDE=$SIM_INCLUDE_DIR
SIM_LIB=$SIM_LIB_DIR

#rm -f CMakeCache.txt;

cmake \
\
 -D Trilinos_DISABLE_ENABLED_FORWARD_DEP_PACKAGES=ON \
 -D CMAKE_INSTALL_PREFIX:PATH=$TRILINSTALLDIR \
 -D CMAKE_BUILD_TYPE:STRING=NONE \
 -D TPL_ENABLE_MPI:BOOL=ON \
 -D MPI_BASE_DIR:PATH=$MPIDIR \
 -D CMAKE_C_FLAGS:STRING="-O2 -g" \
 -D CMAKE_CXX_FLAGS:STRING="-O2 -g -Wno-deprecated-declarations -Wno-sign-compare" \
 -D CMAKE_VERBOSE_MAKEFILE:BOOL=OFF \
 -D BUILD_SHARED_LIBS:BOOL=ON \
 -D Trilinos_EXTRA_LINK_FLAGS:STRING="-ldl" \
\
 -D Trilinos_ENABLE_SECONDARY_TESTED_CODE:BOOL=OFF \
\
 -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF \
 -D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING="" \
 -D Trilinos_ENABLE_Teuchos:BOOL=ON \
 -D Trilinos_ENABLE_Shards:BOOL=ON \
 -D Trilinos_ENABLE_Sacado:BOOL=ON \
 -D Trilinos_ENABLE_Epetra:BOOL=ON \
 -D Trilinos_ENABLE_EpetraExt:BOOL=ON \
 -D Trilinos_ENABLE_Ifpack:BOOL=ON \
 -D Trilinos_ENABLE_AztecOO:BOOL=ON \
 -D Trilinos_ENABLE_Amesos:BOOL=ON \
 -D Trilinos_ENABLE_Anasazi:BOOL=ON \
 -D Trilinos_ENABLE_Belos:BOOL=ON \
 -D Trilinos_ENABLE_ML:BOOL=ON \
 -D Trilinos_ENABLE_Intrepid:BOOL=ON \
 -D Trilinos_ENABLE_Intrepid2:BOOL=ON \
 -D Trilinos_ENABLE_NOX:BOOL=ON \
 -D Trilinos_ENABLE_Stratimikos:BOOL=ON \
 -D Trilinos_ENABLE_Thyra:BOOL=ON \
 -D Trilinos_ENABLE_Rythmos:BOOL=ON \
 -D Trilinos_ENABLE_Stokhos:BOOL=ON \
 -D Trilinos_ENABLE_Piro:BOOL=ON \
 -D Trilinos_ENABLE_Teko:BOOL=ON \
 -D Trilinos_ENABLE_STKIO:BOOL=ON \
 -D Trilinos_ENABLE_STKMesh:BOOL=ON \
 -D Trilinos_ENABLE_SEACAS:BOOL=ON \
 -D Trilinos_ENABLE_SEACASIoss:BOOL=ON \
 -D Trilinos_ENABLE_SEACASExodus:BOOL=ON \
 -D Trilinos_ENABLE_Tpetra:BOOL=ON \
 -D Trilinos_ENABLE_Ifpack2:BOOL=ON \
 -D Trilinos_ENABLE_Zoltan2:BOOL=ON \
 -D Trilinos_ENABLE_MueLu:BOOL=ON \
\
 -D Trilinos_ENABLE_Amesos2:BOOL=ON \
 -D Amesos2_ENABLE_KLU2:BOOL=ON \
\
 -D Trilinos_ENABLE_Kokkos:BOOL=ON \
 -D Trilinos_ENABLE_KokkosCore:BOOL=ON \
 -D Kokkos_ENABLE_Serial:BOOL=ON \
 -D Kokkos_ENABLE_OpenMP:BOOL=OFF \
 -D Kokkos_ENABLE_Pthread:BOOL=OFF \
\
 -D Trilinos_ENABLE_Phalanx:BOOL=ON \
 -D Phalanx_INDEX_SIZE_TYPE:STRING="INT" \
 -D Phalanx_SHOW_DEPRECATED_WARNINGS:BOOL=OFF \
 -D Phalanx_KOKKOS_DEVICE_TYPE:STRING="SERIAL" \
\
 -D TPL_ENABLE_Boost:BOOL=ON \
 -D Boost_INCLUDE_DIRS:FILEPATH="$BOOSTDIR/include" \
 -D Boost_LIBRARY_DIRS:FILEPATH="$BOOSTDIR/lib" \
 -D TPL_ENABLE_BoostLib:BOOL=ON \
 -D BoostLib_INCLUDE_DIRS:FILEPATH="$BOOSTDIR/include" \
 -D BoostLib_LIBRARY_DIRS:FILEPATH="$BOOSTDIR/lib" \
\
 -D TPL_ENABLE_Netcdf:BOOL=ON \
 -D Netcdf_INCLUDE_DIRS:PATH="$NETCDFDIR/include" \
 -D Netcdf_LIBRARY_DIRS:PATH="$NETCDFDIR/lib" \
\
 -D TPL_ENABLE_HDF5:BOOL=ON \
 -D HDF5_INCLUDE_DIRS:PATH="$HDF5DIR/include" \
 -D HDF5_LIBRARY_DIRS:PATH="$HDF5DIR/lib" \
\
 -D TPL_ENABLE_SuperLU:BOOL=OFF \
\
 -D TPL_ENABLE_X11:BOOL=OFF \
 -D TPL_ENABLE_Matio:BOOL=OFF \
\
 -D Trilinos_ENABLE_SCOREC:BOOL=ON \
 -D PCU_COMPRESS:BOOL=ON \
 -D TPL_ENABLE_SimModel=ON \
 -D TPL_ENABLE_SimMesh=ON \
 -D TPL_SimMesh_INCLUDE_DIRS=$SIM_INCLUDE \
 -D TPL_SimMesh_LIBRARY_DIRS=$SIM_LIB \
 -D TPL_SimModel_INCLUDE_DIRS=$SIM_INCLUDE \
 -D TPL_SimModel_LIBRARY_DIRS=$SIM_LIB \
 -D SIM_MPI=mpich3.1.2 \
 -D SCOREC_DISABLE_STRONG_WARNINGS:BOOL=ON \
 -D Trilinos_ENABLE_EXPORT_MAKEFILES:BOOL=OFF \
 -D Trilinos_ASSERT_MISSING_PACKAGES:BOOL=OFF \
\
 -D TPL_ENABLE_ParMETIS:STRING=ON \
 -D ParMETIS_INCLUDE_DIRS:PATH="$PARMETISDIR/include" \
 -D ParMETIS_LIBRARY_DIRS:PATH="$PARMETISDIR/lib" \
 -D TPL_ENABLE_METIS:STRING=ON \
 -D METIS_INCLUDE_DIRS:PATH="$PARMETISDIR/include" \
 -D METIS_LIBRARY_DIRS:PATH="$PARMETISDIR/lib" \
 -D Zoltan_ENABLE_ULLONG_IDS:BOOL=ON \
 -D Teuchos_ENABLE_LONG_LONG_INT:BOOL=$HAVE_LL \
\
 -D Trilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON \
 -D Tpetra_INST_FLOAT=OFF \
 -D Tpetra_INST_INT_INT=ON \
 -D Tpetra_INST_DOUBLE=ON \
 -D Tpetra_INST_COMPLEX_FLOAT=OFF \
 -D Tpetra_INST_COMPLEX_DOUBLE=OFF \
 -D Tpetra_INST_INT_LONG=OFF \
 -D Tpetra_INST_INT_UNSIGNED=OFF \
 -D Tpetra_INST_INT_LONG_LONG=$HAVE_LL \
\
$TRILSRCDIR