[Dune] a problem with ALUGrid and Metis

Simon Praetorius simon.praetorius at tu-dresden.de
Sat Jul 3 20:49:07 CEST 2021


Dear Arya,

in ALUGrid, METIS is disabled additionally by a variable 
ALUGRID_DISABLE_METIS that is set to true by default (I don't know why, 
maybe the developers can answer) and also you have to set METIS flags on 
your cmake target to get it properly enabled, by using 
`dune_add_mets_flags(<target>)`with `<target` your cmake target name 
(e.g. an executable).

I suggest, you try out the branch bugfix/cmake-add-metis-flags that I 
have uploaded quiet recently, so solve these shortcoming with METIS in 
ALUGrid.

Best regards,
Simon


Am 02.07.21 um 19:16 schrieb Arya Fallahi:
> Dear Dune,
>
> I am having a trouble with installing ALUGrid with support metis. In 
> my opts file I write the following to tell ALUGrid the location of metis:
>
> CMAKE_FLAGS="
>
> -DCMAKE_CXX_COMPILER=/Users/afallahi/Documents/library/gcc-9.2/bin/g++ \
>
> -DCMAKE_CXX_FLAGS='-O3' \
>
> -DCMAKE_C_COMPILER=/Users/afallahi/Documents/library/gcc-9.2/bin/gcc \
>
> -DCMAKE_C_FLAGS='-O3' \
>
> -DDUNE_GRID_GRIDTYPE_SELECTOR=ON \
>
> -DMETIS_DIR=/usr/local/Cellar/metis/5.1.0
>
> "
>
>
> then, during the compilation it seems metis is found:
>
> --- calling all for dune-alugrid ---
>
> --- calling vcsetup for dune-alugrid ---
>
> --- calling cmake for dune-alugrid ---
>
> ----- using default flags $CMAKE_FLAGS from 
> /Users/afallahi/Documents/codes/leist.opts -----
>
> WARNING: could not find module 'dune-uggrid',
>
> module is also unknown to pkg-config.
>
> Maybe you need to adjust PKG_CONFIG_PATH!
>
> 'dune-uggrid' is suggested by dune-grid
>
> Skipping 'dune-uggrid'!
>
> cmake 
> -DCMAKE_CXX_COMPILER=/Users/afallahi/Documents/library/gcc-9.2/bin/g++ 
> -DCMAKE_CXX_FLAGS='-O3' 
> -DCMAKE_C_COMPILER=/Users/afallahi/Documents/library/gcc-9.2/bin/gcc 
> -DCMAKE_C_FLAGS='-O3' -DDUNE_GRID_GRIDTYPE_SELECTOR=ON 
> -DMETIS_DIR=/usr/local/Cellar/metis/5.1.0 
> "-Ddune-common_DIR=/Users/afallahi/Documents/codes/dune-common/build-cmake" 
> "-Ddune-geometry_DIR=/Users/afallahi/Documents/codes/dune-geometry/build-cmake" 
> "-Ddune-grid_DIR=/Users/afallahi/Documents/codes/dune-grid/build-cmake" 
> -DCMAKE_CXX_COMPILER=/Users/afallahi/Documents/library/gcc-9.2/bin/g++ 
> -DCMAKE_CXX_FLAGS='-O3' 
> -DCMAKE_C_COMPILER=/Users/afallahi/Documents/library/gcc-9.2/bin/gcc 
> -DCMAKE_C_FLAGS='-O3' -DDUNE_GRID_GRIDTYPE_SELECTOR=ON 
> -DMETIS_DIR=/usr/local/Cellar/metis/5.1.0 
> "/Users/afallahi/Documents/codes/dune-alugrid"
>
> -- Dependencies for dune-alugrid: dune-grid (>= 2.8)
>
> -- Dependencies for dune-grid: dune-geometry (>= 2.8)
>
> -- Suggestions for dune-grid: dune-uggrid (>=2.8)
>
> -- Dependencies for dune-geometry: dune-common (>= 2.8)
>
> -- Could NOT find dune-uggrid (missing: dune-uggrid_DIR)
>
> -- No full CMake package configuration support available. Falling back 
> to pkg-config.
>
> -- Checking for module 'dune-uggrid>=2.8'
>
> -- No package 'dune-uggrid' found
>
> -- Could NOT find Sphinx (missing: SPHINX_EXECUTABLE)
>
> -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
>
> -- Searching for macro file 'DuneCommonMacros' for module 'dune-common'.
>
> -- Performing tests specific to dune-common from file 
> /Users/afallahi/Documents/codes/dune-common/cmake/modules/DuneCommonMacros.cmake.
>
> -- Set Minimal Debug Level to 4
>
> -- Could NOT find GMP (missing: GMPXX_LIB GMPXX_INCLUDE_DIR 
> GMP_INCLUDE_DIR GMP_LIB)
>
> -- Found MPI_C: 
> /Users/afallahi/Documents/library/openmpi-4.0/lib/libmpi.dylib (found 
> suitable version "3.1", minimum required is "3.0")
>
> -- Found MPI: TRUE (found suitable version "3.1", minimum required is 
> "3.0") found components: C
>
> -- Could NOT find TBB (set TBB_DIR to path containing TBBConfig.cmake 
> or set PKG_CONFIG_PATH to include the location of the tbb.pc file) 
> (missing: PkgConfigTBB_LINK_LIBRARIES PkgConfigTBB_FOUND) (found 
> version "")
>
> -- Could NOT find PTScotch (missing: SCOTCH_LIBRARY SCOTCHERR_LIBRARY 
> SCOTCH_INCLUDE_DIR)
>
> -- Found MPI_C: 
> /Users/afallahi/Documents/library/openmpi-4.0/lib/libmpi.dylib (found 
> version "3.1")
>
> -- Found MPI: TRUE (found version "3.1") found components: C
>
> -- Could NOT find ParMETIS (missing: PARMETIS_LIBRARY 
> PARMETIS_INCLUDE_DIR) (Required is at least version "4.0")
>
> -- Could NOT find Vc (missing: Vc_DIR)
>
> -- Setting 
> dune-common_INCLUDE_DIRS=/Users/afallahi/Documents/codes/dune-common
>
> -- Setting dune-common_LIBRARIES=dunecommon
>
> -- Searching for macro file 'DuneUggridMacros' for module 'dune-uggrid'.
>
> -- No module specific tests performed for module 'dune-uggrid' because 
> macro file 'DuneUggridMacros.cmake' not found in 
> /Users/afallahi/Documents/codes/dune-alugrid/cmake/modules;/Users/afallahi/Documents/codes/dune-grid/cmake/modules;/Users/afallahi/Documents/codes/dune-geometry/cmake/modules;/Users/afallahi/Documents/codes/dune-common/cmake/modules.
>
> -- Searching for macro file 'DuneGeometryMacros' for module 
> 'dune-geometry'.
>
> -- No module specific tests performed for module 'dune-geometry' 
> because macro file 'DuneGeometryMacros.cmake' not found in 
> /Users/afallahi/Documents/codes/dune-alugrid/cmake/modules;/Users/afallahi/Documents/codes/dune-grid/cmake/modules;/Users/afallahi/Documents/codes/dune-geometry/cmake/modules;/Users/afallahi/Documents/codes/dune-common/cmake/modules.
>
> -- Setting 
> dune-geometry_INCLUDE_DIRS=/Users/afallahi/Documents/codes/dune-geometry
>
> -- Setting dune-geometry_LIBRARIES=dunegeometry
>
> -- Searching for macro file 'DuneGridMacros' for module 'dune-grid'.
>
> -- Performing tests specific to dune-grid from file 
> /Users/afallahi/Documents/codes/dune-grid/cmake/modules/DuneGridMacros.cmake.
>
> -- Could NOT find ParMETIS (missing: PARMETIS_LIBRARY 
> PARMETIS_INCLUDE_DIR)
>
> -- Checking for module 'alberta-grid_1d>=3.0'
>
> -- No package 'alberta-grid_1d' found
>
> -- Checking for module 'alberta-grid_2d>=3.0'
>
> -- No package 'alberta-grid_2d' found
>
> -- Checking for module 'alberta-grid_3d>=3.0'
>
> -- No package 'alberta-grid_3d' found
>
> -- Checking for module 'alberta-grid_4d>=3.0'
>
> -- No package 'alberta-grid_4d' found
>
> -- Checking for module 'alberta-grid_5d>=3.0'
>
> -- No package 'alberta-grid_5d' found
>
> -- Checking for module 'alberta-grid_6d>=3.0'
>
> -- No package 'alberta-grid_6d' found
>
> -- Checking for module 'alberta-grid_7d>=3.0'
>
> -- No package 'alberta-grid_7d' found
>
> -- Checking for module 'alberta-grid_8d>=3.0'
>
> -- No package 'alberta-grid_8d' found
>
> -- Checking for module 'alberta-grid_9d>=3.0'
>
> -- No package 'alberta-grid_9d' found
>
> -- Could NOT find Alberta (set PKG_CONFIG_PATH to include the location 
> of the alberta-grid_[n]d.pc files) (missing: ALBERTA_GRID_PREFIX) 
> (Required is at least version "3.0")
>
> CMake Warning (dev) at 
> /Applications/CMake.app/Contents/share/cmake-3.20/Modules/FindPackageHandleStandardArgs.cmake:438 
> (message):
>
> The package name passed to `find_package_handle_standard_args` (PkgConfig)
>
> does not match the name of the calling package (Psurface).This can lead
>
> to problems in calling code that expects `find_package` result variables
>
> (e.g., `_FOUND`) to follow a certain pattern.
>
> Call Stack (most recent call first):
>
> /Applications/CMake.app/Contents/share/cmake-3.20/Modules/FindPkgConfig.cmake:70 
> (find_package_handle_standard_args)
>
> /Users/afallahi/Documents/codes/dune-grid/cmake/modules/FindPsurface.cmake:63 
> (include)
>
> /Users/afallahi/Documents/codes/dune-grid/cmake/modules/DuneGridMacros.cmake:20 
> (find_package)
>
> /Users/afallahi/Documents/codes/dune-common/cmake/modules/DuneMacros.cmake:614 
> (include)
>
> /Users/afallahi/Documents/codes/dune-common/cmake/modules/DuneMacros.cmake:704 
> (dune_process_dependency_macros)
>
> CMakeLists.txt:48 (dune_project)
>
> This warning is for project developers.Use -Wno-dev to suppress it.
>
>
> -- Checking for one of the modules 'psurface'
>
> -- Checking for module 'psurface'
>
> -- No package 'psurface' found
>
> -- Could NOT find Psurface (missing: PSURFACE_INCLUDE_DIR 
> PSURFACE_LIBRARY)
>
> -- Could NOT find AmiraMesh (missing: AMIRAMESH_INCLUDE_DIR 
> AMIRAMESH_LIBRARY)
>
> -- Setting 
> dune-grid_INCLUDE_DIRS=/Users/afallahi/Documents/codes/dune-grid
>
> -- Setting dune-grid_LIBRARIES=dunegrid
>
> -- Searching for macro file 'DuneAlugridMacros' for module 'dune-alugrid'.
>
> -- Performing tests specific to dune-alugrid from file 
> /Users/afallahi/Documents/codes/dune-alugrid/cmake/modules/DuneAlugridMacros.cmake.
>
> -- Could NOT find SIONlib (missing: SIONLIB_INCLUDE_DIR 
> SIONLIB_LIBRARY SIONLIB_HEADER_USABLE SIONLIB_LIB_WORKS 
> SIONLIB_LIB_SIONSER_WORKS)
>
> -- Could NOT find DLMalloc (missing: DLMALLOC_INCLUDE_DIR 
> DLMALLOC_SOURCE_INCLUDE)
>
> -- Could NOT find PTScotch (missing: SCOTCH_LIBRARY SCOTCHERR_LIBRARY 
> SCOTCH_INCLUDE_DIR)
>
> Found ZOLTAN_INCLUDE_DIRS-NOTFOUND
>
> Found ZOLTAN_LIBRARIES-NOTFOUND
>
> -- Not enabling torture-tests
>
> -- Using scripts from 
> /Users/afallahi/Documents/codes/dune-common/cmake/scripts for creating 
> doxygen stuff.
>
> CMake Deprecation Warning at 
> /Users/afallahi/Documents/codes/dune-common/cmake/modules/DuneMacros.cmake:168 
> (message):
>
> Calling target_link_libraries without the <scope> argument is deprecated.
>
> Call Stack (most recent call first):
>
> /Users/afallahi/Documents/codes/dune-common/cmake/modules/DuneMacros.cmake:159 
> (target_link_libraries_helper)
>
> lib/CMakeLists.txt:28 (target_link_libraries)
>
>
>
> CMake Deprecation Warning at 
> /Users/afallahi/Documents/codes/dune-common/cmake/modules/DuneMacros.cmake:168 
> (message):
>
> Calling target_link_libraries without the <scope> argument is deprecated.
>
> Call Stack (most recent call first):
>
> /Users/afallahi/Documents/codes/dune-common/cmake/modules/DuneMacros.cmake:159 
> (target_link_libraries_helper)
>
> lib/CMakeLists.txt:32 (target_link_libraries)
>
>
>
> CMake Deprecation Warning at 
> /Users/afallahi/Documents/codes/dune-common/cmake/modules/DuneMacros.cmake:168 
> (message):
>
> Calling target_link_libraries without the <scope> argument is deprecated.
>
> Call Stack (most recent call first):
>
> /Users/afallahi/Documents/codes/dune-common/cmake/modules/DuneMacros.cmake:159 
> (target_link_libraries_helper)
>
> lib/CMakeLists.txt:44 (target_link_libraries)
>
>
>
> -- Adding custom target for config.h generation
>
> -- The following OPTIONAL packages have been found:
>
>
> * LATEX
>
> * LatexMk
>
> * BLAS, fast linear algebra routines
>
> * LAPACK, fast linear algebra routines
>
> * QuadMath, GCC Quad-Precision Math Library, 
> <https://gcc.gnu.org/onlinedocs/libquadmath 
> <https://gcc.gnu.org/onlinedocs/libquadmath>>
>
> * Inkscape, converts SVG images, <www.inkscape.org 
> <http://www.inkscape.org>>
>
> To generate the documentation with LaTeX
>
> * Threads, Multi-threading library
>
> * Python3
>
> * PkgConfig, Unified interface for querying installed libraries
>
> To find Dune module dependencies
>
> * ZLIB
>
> * METIS, Serial Graph Partitioning
>
>
> -- The following REQUIRED packages have been found:
>
>
> * dune-common
>
> * dune-grid
>
> * dune-geometry
>
>
> -- The following OPTIONAL packages have not been found:
>
>
> * dune-uggrid
>
> * Sphinx, Documentation generator, <www.sphinx-doc.org 
> <http://www.sphinx-doc.org>>
>
> To generate the documentation from CMake and Python sources
>
> * Doxygen, Class documentation generator, <www.doxygen.org 
> <http://www.doxygen.org>>
>
> To generate the class documentation from C++ sources
>
> * GMP, GNU multi-precision library, <https://gmplib.org 
> <https://gmplib.org>>
>
> * TBB, Intel's Threading Building Blocks
>
> * Vc, C++ Vectorization library, <https://github.com/VcDevel/Vc 
> <https://github.com/VcDevel/Vc>>
>
> For use of SIMD instructions
>
> * ParMETIS, Parallel Graph Partitioning
>
> * Alberta (required version >= 3.0), An adaptive hierarchical finite 
> element toolbox and grid manager
>
> * Psurface, Piecewise linear bijections between triangulated surfaces
>
> * AmiraMesh
>
> * SIONlib
>
> * DLMalloc
>
> * PTScotch, Sequential and Parallel Graph Partitioning
>
> * ZOLTAN
>
>
> -- Configuring done
>
> CMake Warning (dev) in CMakeLists.txt:
>
> Policy CMP0087 is not set: Install CODE|SCRIPT allow the use of generator
>
> expressions.Run "cmake --help-policy CMP0087" for policy details.Use
>
> the cmake_policy command to set the policy and suppress this warning.
>
> This warning is for project developers.Use -Wno-dev to suppress it.
>
>
> -- Generating done
>
> -- Build files have been written to: 
> /Users/afallahi/Documents/codes/dune-alugrid/build-cmake
>
> --- calling make for dune-alugrid ---
>
> build directory: build-cmake
>
> cmake --build . --
>
> Consolidate compiler generated dependencies of target dunealugrid
>
> [4%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/binaryio.cc.o
>
> [8%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/macrofileheader.cc.o
>
> [ 12%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/serial/ghost_info.cc.o
>
> [ 16%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/serial/gitter_geo.cc.o
>
> [ 20%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/serial/gitter_hexa_top.cc.o
>
> [ 24%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/serial/gitter_impl.cc.o
>
> [ 28%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/serial/gitter_mgb.cc.o
>
> [ 32%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/serial/gitter_sti.cc.o
>
> [ 32%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/serial/gitter_tetra_top.cc.o
>
> [ 36%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/serial/mapp_cube_3d.cc.o
>
> [ 40%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/serial/mapp_tetra_3d.cc.o
>
> [ 44%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/serial/myalloc.cc.o
>
> [ 48%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/duneinterface/gitter_dune_impl.cc.o
>
> [ 52%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/serial/ghost_elements.cc.o
>
> [ 56%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/duneinterface/gitter_dune_pll_impl.cc.o
>
> [ 60%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/parallel/mpAccess.cc.o
>
> [ 64%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/parallel/gitter_hexa_top_pll.cc.o
>
> [ 68%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/parallel/gitter_pll_impl.cc.o
>
> [ 68%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/parallel/gitter_pll_idn.cc.o
>
> [ 72%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/parallel/gitter_pll_ldb.cc.o
>
> [ 76%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/parallel/gitter_pll_mgb.cc.o
>
> [ 80%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/parallel/gitter_pll_sti.cc.o
>
> [ 84%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/impl/parallel/gitter_tetra_top_pll.cc.o
>
> [ 88%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/3d/faceutility.cc.o
>
> [ 92%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/3d/mappings.cc.o
>
> [ 96%] Building CXX object 
> lib/CMakeFiles/dunealugrid.dir/__/dune/alugrid/3d/topology.cc.o
>
> [100%] Linking CXX static library libdunealugrid.a
>
> [100%] Built target dunealugrid
>
> --- dune-alugrid done ---
>
>
> but when I run my code at the point I call loadBalance(), I still get 
> the following error message:
>
> **ERROR The use of METIS_PartGraphRecursive is not supported, when the 
> METIS library is missing!in: 
> /Users/afallahi/Documents/codes/dune-alugrid/dune/alugrid/impl/parallel/alumetis.hh 
> line: 137
>
> **INFO Due to license reasons the library METIS is
>
> not part of the ALUGrid library distribution.
>
> To use this feature get a copy of the METIS library
>
> (see http://www-users.cs.umn.edu/~karypis/metis/metis/ 
> <http://www-users.cs.umn.edu/~karypis/metis/metis/> )
>
> and re-configure the ALUGrid library with the
>
> --with-metis=PATH_TO_METIS option,
>
> or choose another Graph partitioning method.
>
> Exiting program, bye!
>
>
> I am stuck since several days in the problem, I will be thankful if 
> you give me a hint how to resolve the issue.
>
> Best regards
>
> _______________________________________________
> Dune mailing list
> Dune at lists.dune-project.org
> https://lists.dune-project.org/mailman/listinfo/dune

-- 
Dr. Simon Praetorius
Technische Universität Dresden
Institute of Scientific Computing
phone: +49 351 463-34432
mail: simon.praetorius at tu-dresden.de
web: https://tu-dresden.de/mn/math/wir/das-institut/beschaeftigte/simon-praetorius

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.dune-project.org/pipermail/dune/attachments/20210703/c168a352/attachment.htm>


More information about the Dune mailing list