Hello,

I am trying to install deal.II on a cray XC50 machine. I had posted a 
question related to MPI 
here https://groups.google.com/forum/#!topic/dealii/EJm6ePrI81w.

1. Configuring with MPI was "successful" with the following cmake 
invocation.
cmake -DCMAKE_INSTALL_PREFIX=~/bin/dealii-9.1.1/ \
        -DWITH_64BIT_INDICES=ON \
-DCMAKE_PREFIX_PATH=/opt/cray/pe/lib64 \
-DWITH_MPI=ON \
                -DMPI_DIR=/opt/cray/pe/mpt/default/gni/mpich-gnu/5.1/ \
                
-DMPI_CXX_INCLUDE_PATH=/opt/cray/pe/mpt/default/gni/mpich-gnu/5.1/include/ \
                -DCMAKE_CXX_COMPILER=/opt/cray/pe/craype/2.5.13/bin/CC \
                -DCMAKE_C_COMPILER=/opt/cray/pe/craype/2.5.13/bin/cc \
                -DCMAKE_Fortran_COMPILER=/opt/cray/pe/craype/2.5.13/bin/ftn 
\
        -DWITH_BLAS=OFF \
        -DWITH_LAPACK=OFF \
        -DWITH_SCALAPACK=OFF \
        -DWITH_PETSC=OFF \
-DWITH_P4EST=OFF -DP4EST_DIR=~/bin/p4est-2.2/ \
~/source/dealii-9.1.1

2. Configuring with PETSC was also successful, but I had to make the 
following change in cmake/modules/FindPETSC.cmake because the petsc 
libraries had a different name.
DEAL_II_FIND_LIBRARY(PETSC_LIBRARY
  #NAMES petsc libpetsc
  NAMES craypetsc_gnu_real-64 craypetsc_gnu_53_real-64
  HINTS ${PETSC_DIR} ${PETSC_DIR}/${PETSC_ARCH}
  PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib
  )
With -DWITH_PETSC=ON option, configuring with petsc was also "successful" 
but the libraries optionally used by petsc were not detected, as stated in 
this snippet of the output:
-- Include 
/home/ComptGasDynLab/vachanpotluri/source/dealii-9.1.1/cmake/configure/configure_3_petsc.cmake
-- Found PETSC_LIBRARY
-- Found PETSC_INCLUDE_DIR_ARCH
-- Found PETSC_INCLUDE_DIR_COMMON
-- Found PETSC_PETSCVARIABLES
-- PETSC_LIBRARY_superlu_dist-64 not found! Call:
--     FIND_LIBRARY(PETSC_LIBRARY_superlu_dist-64 NAMES superlu_dist-64 
HINTS /opt/cray/pe/petsc/3.7.6.2/real/GNU64/5.3/x86_64/lib 
/opt/cray/pe/hdf5-parallel/1.10.1.1/GNU/5.1/lib)
-- PETSC_LIBRARY_parmetis-64 not found! Call:
--     FIND_LIBRARY(PETSC_LIBRARY_parmetis-64 NAMES parmetis-64 HINTS 
/opt/cray/pe/petsc/3.7.6.2/real/GNU64/5.3/x86_64/lib 
/opt/cray/pe/hdf5-parallel/1.10.1.1/GNU/5.1/lib)
-- PETSC_LIBRARY_metis-64 not found! Call:
--     FIND_LIBRARY(PETSC_LIBRARY_metis-64 NAMES metis-64 HINTS 
/opt/cray/pe/petsc/3.7.6.2/real/GNU64/5.3/x86_64/lib 
/opt/cray/pe/hdf5-parallel/1.10.1.1/GNU/5.1/lib)
-- PETSC_LIBRARY_HYPRE-64 not found! Call:
--     FIND_LIBRARY(PETSC_LIBRARY_HYPRE-64 NAMES HYPRE-64 HINTS 
/opt/cray/pe/petsc/3.7.6.2/real/GNU64/5.3/x86_64/lib 
/opt/cray/pe/hdf5-parallel/1.10.1.1/GNU/5.1/lib)
-- PETSC_LIBRARY_sci_gnu_mpi_mp not found! Call:
--     FIND_LIBRARY(PETSC_LIBRARY_sci_gnu_mpi_mp NAMES sci_gnu_mpi_mp HINTS 
/opt/cray/pe/petsc/3.7.6.2/real/GNU64/5.3/x86_64/lib 
/opt/cray/pe/hdf5-parallel/1.10.1.1/GNU/5.1/lib)
-- PETSC_LIBRARY_sci_gnu_mp not found! Call:
--     FIND_LIBRARY(PETSC_LIBRARY_sci_gnu_mp NAMES sci_gnu_mp HINTS 
/opt/cray/pe/petsc/3.7.6.2/real/GNU64/5.3/x86_64/lib 
/opt/cray/pe/hdf5-parallel/1.10.1.1/GNU/5.1/lib)
-- PETSC_LIBRARY_ptscotch-64 not found! Call:
--     FIND_LIBRARY(PETSC_LIBRARY_ptscotch-64 NAMES ptscotch-64 HINTS 
/opt/cray/pe/petsc/3.7.6.2/real/GNU64/5.3/x86_64/lib 
/opt/cray/pe/hdf5-parallel/1.10.1.1/GNU/5.1/lib)
-- PETSC_LIBRARY_scotch-64 not found! Call:
--     FIND_LIBRARY(PETSC_LIBRARY_scotch-64 NAMES scotch-64 HINTS 
/opt/cray/pe/petsc/3.7.6.2/real/GNU64/5.3/x86_64/lib 
/opt/cray/pe/hdf5-parallel/1.10.1.1/GNU/5.1/lib)
-- PETSC_LIBRARY_ptscotcherr-64 not found! Call:
--     FIND_LIBRARY(PETSC_LIBRARY_ptscotcherr-64 NAMES ptscotcherr-64 HINTS 
/opt/cray/pe/petsc/3.7.6.2/real/GNU64/5.3/x86_64/lib 
/opt/cray/pe/hdf5-parallel/1.10.1.1/GNU/5.1/lib)
-- PETSC_LIBRARY_scotcherr-64 not found! Call:
--     FIND_LIBRARY(PETSC_LIBRARY_scotcherr-64 NAMES scotcherr-64 HINTS 
/opt/cray/pe/petsc/3.7.6.2/real/GNU64/5.3/x86_64/lib 
/opt/cray/pe/hdf5-parallel/1.10.1.1/GNU/5.1/lib)
-- Found PETSC_LIBRARY_hdf5_parallel
-- Found PETSC_LIBRARY_z
-- Performing Test PETSC_LIBRARY_dl
-- Performing Test PETSC_LIBRARY_dl - Success
--   PETSC_VERSION: 3.7.6.0
--   PETSC_LIBRARIES: 
/opt/cray/pe/petsc/3.7.6.2/real/GNU64/5.3/x86_64/lib/libcraypetsc_gnu_real-64.so;/opt/cray/pe/hdf5-parallel/1.10.1.1/GNU/5.1/lib/libhdf5_parallel.so;/usr/lib64/libz.so;dl;dl
--   PETSC_INCLUDE_DIRS: 
/opt/cray/pe/petsc/3.7.6.2/real/GNU64/5.3/x86_64/include;/opt/cray/pe/petsc/3.7.6.2/real/GNU64/5.3/x86_64/include;${PETSC_DIR}/include;${PETSC_DIR}/include;/opt/cray/pe/hdf5-parallel/1.10.1.1/GNU/5.1/include
--   PETSC_USER_INCLUDE_DIRS: 
/opt/cray/pe/petsc/3.7.6.2/real/GNU64/5.3/x86_64/include;/opt/cray/pe/petsc/3.7.6.2/real/GNU64/5.3/x86_64/include;${PETSC_DIR}/include;${PETSC_DIR}/include;/opt/cray/pe/hdf5-parallel/1.10.1.1/GNU/5.1/include
-- Found PETSC
-- DEAL_II_WITH_PETSC successfully set up with external dependencies.
The reason is that these libraries also have different names. For example, 
the GNU compiled metis-64 is named metis-64_gnu_61 and sci_gnu_mpi_mp is 
named sci_gnu_61_mpi_mp. I had a look at FindPETSC.cmake and noticed that 
there is no explicit listing of these libraries where I could change their 
names as I did for petsc itself (see beginning of 2nd point). Is there a 
way I can tackle this issue?

3. With LAPACK, the story is different. I noticed that deal.II's version of 
FindLAPACK.cmake uses the system installed cmake's FindLAPACK.cmake. And 
then I came across this question on 
SO: 
https://stackoverflow.com/questions/54681204/cray-cc-wrapper-cmake-find-package-blas
 
and subsequently to the 
link https://gitlab.kitware.com/cmake/cmake/merge_requests/3451. So on cray 
environments, cmake's version of FindLAPACK.cmake can detect LAPACK library 
only if cmake version is >=3.16. Our system has 3.5.2. Also, the LAPACK 
library is not standalone but a part of cray's libsci module and is present 
in the library sci_gnu_61_mpi_mp along with BLAS, SCALAPACK and others. How 
can I invoke cmake such that it recognises LAPACK library as a part of this 
whole library?

Thanks

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/2a9e889a-9c43-4881-8529-801c68804829%40googlegroups.com.

Reply via email to