Zoltan2 Complains about ParMETIS Version (4.0.3) but this is Installed?
Created by: nmhamster
@kddevin @vjleung - seem to be having some trouble with Zoltan2 on the Bowman KNL test bed on Trilinos VOTD for 2017-FEB-26.
I am getting an error during CMake configure:
Processing enabled package: Zoltan2 (Libs, Tests)
CMake Error at packages/zoltan2/CMakeLists.txt:8 (MESSAGE):
Zoltan2 requires ParMETIS_version 4.0.3 or later. Upgrade or set
TPL_ENABLE_ParMETIS OFF or set Zoltan2_ENABLE_ParMETIS OFF.
But I have the ParMETIS 4.0.3 module loaded and it is pointing to a 4.0.3 install.
Here is my configure script (see below) which I am running with the devpack-sparc/openmpi/1.10.4/intel/17.0.098
module loaded (this should load everything we need including METIS, ParMETIS, SuperLUDist etc). Right now, I need to have ParMETIS working because SuperLUDist is required for the upstream customers.
I am probably missing something in the configure but, if that is the case, I guess this is not a good error message? I am going to proceed by disable ParMETIS for Zoltan2 and see if the build will continue. I guess one possible issue is that the code must cross compile successfully.
Appreciate any help or advice you might have on the configure.
INSTALL_DIR=/home/sdhammo/trilinos-sparc/20170226/openmpi/1.10.4/intel/17.0.098
ZLIB_DIR=${ZLIB_ROOT}
BOOST_ROOT=${BOOST_ROOT}
TRILINOS_HOME=/home/sdhammo/git/trilinos-github-repo
MPI_HOME=${MPI_ROOT}
HDF5_DIR=${HDF5_ROOT}
NETCDF_DIR=${NETCDF_ROOT}
PNETCDF_DIR=${PNETCDF_ROOT}
C_COMPILE_FLAGS="-O3 -g -xMIC-AVX512 -mkl=parallel -qopt-report=5"
FORTRAN_COMPILE_FLAGS="-O3 -g -xMIC-AVX512 -mkl=parallel -qopt-report=5"
LINK_FLAGS="-O3 -g -xMIC-AVX512 -ldl -mkl=parallel"
BUILD_OPENMP=ON
BUILD_PTHREADS=OFF
rm CMakeCache.txt
rm -fr CMakeFiles
cmake \
-D Trilinos_USE_ATTB_DEV_ENV:BOOL=OFF \
-D Trilinos_ENABLE_OpenMP:BOOL=$BUILD_OPENMP \
-D MPI_EXEC_POST_NUMPROCS_FLAGS:STRING="--map-by;numa:PE=4" \
-D Trilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=ON \
-D Trilinos_ENABLE_INSTALL_CMAKE_CONFIG_FILES:BOOL=ON \
-D Trilinos_ENABLE_EXAMPLES:BOOL=OFF \
-D Trilinos_ENABLE_TESTS:BOOL=ON \
-D Trilinos_ENABLE_ALL_OPTIONAL_PACKAGES=OFF \
-D Trilinos_ASSERT_MISSING_PACKAGES=OFF \
-D Trilinos_ALLOW_NO_PACKAGES:BOOL=OFF \
-D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF \
-D Trilinos_ENABLE_Shards:BOOL=ON \
-D Trilinos_ENABLE_Pamgen:BOOL=ON \
-D Pamgen_ENABLE_TESTS:BOOL=ON \
-D Pamgen_ENABLE_EXAMPLES:BOOL=ON \
-D Trilinos_ENABLE_Intrepid:BOOL=ON \
-D Intrepid_ENABLE_TESTS:BOOL=OFF \
-D Intrepid_ENABLE_EXAMPLES:BOOL=ON \
-D Trilinos_ENABLE_Tpetra:BOOL=ON \
-D Trilinos_ENABLE_Epetra:BOOL=ON \
-D Trilinos_ENABLE_ML:BOOL=ON \
-D Trilinos_ENABLE_MueLu:BOOL=ON \
-D Trilinos_ENABLE_EpetraExt:BOOL=ON \
-D Trilinos_ENABLE_Teuchos:BOOL=ON \
-D Trilinos_ENABLE_AztecOO:BOOL=ON \
-D Trilinos_ENABLE_Belos:BOOL=ON \
-D Trilinos_ENABLE_aristos:BOOL=OFF \
-D Trilinos_ENABLE_FEApp:BOOL=OFF \
-D Trilinos_ENABLE_Claps:BOOL=OFF \
-D Trilinos_ENABLE_Ifpack2:BOOL=ON \
-D Trilinos_ENABLE_Amesos2:BOOL=ON \
-D Trilinos_ENABLE_Zoltan2:BOOL=ON \
-D Trilinos_ENABLE_Ifpack:BOOL=ON \
-D Trilinos_ENABLE_Amesos:BOOL=ON \
-D Trilinos_ENABLE_Zoltan:BOOL=ON \
-D Trilinos_ENABLE_STKMesh:BOOL=ON \
-D Trilinos_ENABLE_STKIO:BOOL=ON \
-D Trilinos_ENABLE_STKTransfer:BOOL=ON \
-D Trilinos_ENABLE_STKSearch:BOOL=ON \
-D Trilinos_ENABLE_STKUtil:BOOL=ON \
-D Trilinos_ENABLE_STKTopology:BOOL=ON \
-D Trilinos_ENABLE_Gtest:BOOL=ON \
-D Trilinos_ENABLE_STKClassic:BOOL=OFF \
-D Trilinos_ENABLE_SEACASExodus:BOOL=ON \
-D Trilinos_ENABLE_SEACASEpu:BOOL=ON \
-D Trilinos_ENABLE_SEACASExodiff:BOOL=ON \
-D Trilinos_ENABLE_SEACASNemspread:BOOL=ON \
-D Trilinos_ENABLE_SEACASNemslice:BOOL=ON \
-D Trilinos_ENABLE_KokkosAlgorithms:BOOL=ON \
-D Trilinos_ENABLE_KokkosCore:BOOL=ON \
-D Trilinos_ENABLE_KokkosCompat:BOOL=ON \
-D Trilinos_ENABLE_KokkosLinAlg:BOOL=ON \
-D Trilinos_ENABLE_KokkosContainers:BOOL=ON \
-D Trilinos_ENABLE_KokkosAlgorithms:BOOL=ON \
-D Trilinos_ENABLE_KokkosMpiComm:BOOL=ON \
-D Trilinos_ENABLE_TriKota:BOOL=OFF \
-D Trilinos_ENABLE_PyTrilinos:BOOL=OFF \
-D Kokkos_ENABLE_Pthread:BOOL=$BUILD_PTHREADS \
-D Kokkos_ENABLE_OpenMP:BOOL=$BUILD_OPENMP \
-D Kokkos_ENABLE_HWLOC:BOOL=OFF \
-D Kokkos_ENABLE_Profiling:BOOL=ON \
-D Trilinos_ENABLE_Tpetra:BOOL=ON \
-D Tpetra_ENABLE_Kokkos_Refactor:BOOL=ON \
\
-D TPL_ENABLE_Netcdf:BOOL=ON \
-D Netcdf_INCLUDE_DIRS:FILEPATH="$NETCDF_DIR/include" \
-D Netcdf_LIBRARY_DIRS:FILEPATH="$NETCDF_DIR/lib" \
-D TPL_Netcdf_PARALLEL:BOOL=ON \
-D TPL_Netcdf_LIBRARIES:PATH="$NETCDF_DIR/lib/libnetcdf.a;$HDF5_DIR/lib/libhdf5_hl.a;$HDF5_DIR/lib/libhdf5.a;$ZLIB_DIR/lib/libz.a;$PNETCDF_DIR/lib/libpnetcdf.a" \
-D TPL_ENABLE_HDF5:BOOL=ON \
-D HDF5_INCLUDE_DIRS:FILEPATH="$HDF5_DIR/include" \
-D TPL_HDF5_LIBRARIES:PATH="$HDF5_DIR/lib/libhdf5_hl.a;$HDF5_DIR/lib/libhdf5.a;$ZLIB_DIR/lib/libz.a" \
-D TPL_ENABLE_Zlib:STRING=ON \
-D Zlib_INCLUDE_DIRS:PATH="$ZLIB_DIR/include" \
-D TPL_Zlib_LIBRARIES:PATH="$ZLIB_DIR/lib/libz.a" \
-D TPL_Netcdf_Enables_PNetcdf:BOOL=TRUE \
-D TPL_Netcdf_Enables_Netcdf4:BOOL=TRUE \
-D TPL_ENABLE_Pnetcdf:BOOL=ON \
-D Pnetcdf_LIBRARY_DIRS:STRING="$PNETCDF_DIR/lib" \
-D Pnetcdf_INCLUDE_DIRS:STRING="$PNETCDF_DIR/include" \
-D Tpetra_INST_COMPLEX_FLOAT:BOOL=OFF \
-D Tpetra_INST_COMPLEX_DOUBLE:BOOL=OFF \
-D Tpetra_INST_INT_LONG_LONG:BOOL=ON \
-D Tpetra_INST_INT_INT:BOOL=ON \
-D Tpetra_INST_INT_LONG:BOOL=ON \
\
-D TPL_ENABLE_HWLOC:BOOL=ON \
-D TPL_HWLOC_LIBRARIES:STRING="$HWLOC_ROOT/lib/libhwloc.a;$NUMA_ROOT/lib/libnuma.a" \
-D HWLOC_INCLUDE_DIRS:STRING="$HWLOC_ROOT/include" \
\
-D CMAKE_C_COMPILER="$MPI_HOME/bin/mpicc" \
-D CMAKE_CXX_COMPILER="$MPI_HOME/bin/mpicxx" \
-D CMAKE_Fortran_COMPILER="$MPI_HOME/bin/mpif90" \
-D CMAKE_CXX_FLAGS:STRING="$C_COMPILE_FLAGS" \
-D CMAKE_C_FLAGS:STRING="$C_COMPILE_FLAGS" \
-D CMAKE_Fortran_FLAGS:STRING="$FORTRAN_COMPILE_FLAGS" \
-D CMAKE_EXE_LINKER_FLAGS="$LINK_FLAGS" \
-D CMAKE_SKIP_RULE_DEPENDENCY=ON \
-D TPL_ENABLE_MPI:BOOL=ON \
-D MPI_BASE_DIR:PATH="$MPI_HOME" \
-D MPI_BIN_DIR:FILEPATH="$MPI_HOME/bin" \
-D MPI_EXEC_MAX_NUMPROCS:STRING=4 \
-D CMAKE_BUILD_TYPE=NONE \
-D CMAKE_INSTALL_PREFIX:PATH=${INSTALL_DIR} \
-D TPL_ENABLE_BLAS:BOOL=ON \
-D TPL_ENABLE_LAPACK:BOOL=ON \
-D Teuchos_ENABLE_COMPLEX:BOOL=OFF \
-D Teuchos_HAVE_TEUCHOS_LAPACKLARND:BOOL=OFF \
-D HAVE_TEUCHOS_LAPACKLARND:BOOL=OFF \
-D Teuchos_HAVE_CXX_PRAGMA_WEAK:BOOL=OFF \
-D Tpetra_INST_SERIAL:BOOL=ON \
-D TPL_BLAS_LIBRARIES:STRING="${MKLROOT}/lib/intel64/libmkl_intel_thread.a" \
-D TPL_LAPACK_LIBRARIES:STRING="${MKLROOT}/lib/intel64/libmkl_intel_thread.a" \
-D TPL_ENABLE_SuperLUDist:BOOL=ON \
-D SuperLUDist_INCLUDE_DIRS:PATH=${SUPERLUDIST_ROOT}/include \
-D TPL_SuperLUDist_LIBRARIES="${SUPERLUDIST_ROOT}/lib/libsuperlu_dist_4.3.a;${MKLROOT}/lib/intel64/libmkl_intel_thread.a" \
-D TPL_ENABLE_ParMETIS:BOOL=ON \
-D ParMETIS_INCLUDE_DIRS:PATH="${PARMETIS_ROOT}/include" \
-D ParMETIS_LIBRARY_DIRS:PATH="${PARMETIS_ROOT}/lib" \
-D TPL_ENABLE_METIS:BOOL=ON \
-D METIS_INCLUDE_DIRS:PATH="${METIS_ROOT}/include" \
-D METIS_LIBRARY_DIRS:PATH="${METIS_ROOT}/lib" \
-D TPL_ENABLE_BoostLib:BOOL=ON \
-D BoostLib_INCLUDE_DIRS:PATH="${BOOST_ROOT}/include" \
-D BoostLib_LIBRARY_DIRS:PATH="${BOOST_ROOT}/lib" \
-D TPL_ENABLE_Boost:BOOL=ON \
-D Boost_INCLUDE_DIRS:PATH="${BOOST_ROOT}/include" \
-D Boost_LIBRARY_DIRS:PATH="${BOOST_ROOT}/lib" \
-D HAVE_CXX_PRAGMA_WEAK:BOOL=OFF \
-D MueLu_ENABLE_EXAMPLES=ON \
${EXTRA-ARGS} \
${TRILINOS_HOME}