Skip to content

Latest commit

 

History

History
148 lines (129 loc) · 4.51 KB

BUILD.md

File metadata and controls

148 lines (129 loc) · 4.51 KB

Morpheus-HPCG Build

Setting up the enivronment

$ CXX_COMPILER=/path/to/c++/compiler
$ C_COMPILER=/path/to/c/compiler
$ MORPHEUS_INSTALL_DIR=/path/to/morpheus/installation
$ MPI_DIR=/path/to/mpi/installation

Reference Build

$ mkdir build-MPI-reference && cd build-MPI-reference
$ cmake ..  -DCMAKE_CXX_COMPILER=$CXX_COMPILER \
            -DCMAKE_CXX_EXTENSIONS=Off \
            -DHPCG_MPI_DIR=$MPI_DIR 
$ make

HPCG+Morpheus backend (Serial) Build

$ mkdir build-MPI-Morpheus-serial && cd build-MPI-Morpheus-serial
$ cmake ..  -DCMAKE_CXX_COMPILER=$CXX_COMPILER \
            -DCMAKE_CXX_EXTENSIONS=Off \
            -DHPCG_ENABLE_MORPHEUS=ON \
            -DHPCG_ENABLE_KOKKOS_SERIAL=ON \
            -DHPCG_MPI_DIR=$MPI_DIR \
            -DMorpheus_ROOT=$MORPHEUS_INSTALL_DIR
$ make

CMake Option Listing

HPCG Options

  • HPCG_ENABLE_CONTIGUOUS_ARRAYS: BOOL
    • Whether to enable contiguous arrays for better cache pre-fetch.
    • Default: OFF
  • HPCG_ENABLE_CUBIC_RADICAL_SEARCH: BOOL
    • Whether to enable faster search for optimal 3D process grid.
    • Default: OFF
  • HPCG_ENABLE_DEBUG: BOOL
    • Whether to enable debug build.
    • Default: OFF.
  • HPCG_ENABLE_DETAILED_DEBUG: BOOL
    • Whether to enable detailed debug build.
    • Default: OFF.
  • HPCG_ENABLE_MPI : BOOL
    • Whether to enable MPI support.
    • Default: On.
  • HPCG_ENABLE_LONG_LONG : BOOL
    • Whether to enable use of 'long long' type for global indices.
    • Default: On.
  • HPCG_ENABLE_OPENMP: BOOL
    • Whether to enable OPENMP support.
    • Default: Off.

Morpheus-HPCG Options

  • HPCG_ENABLE_MORPHEUS: BOOL
    • Whether to enable Morpheus Library.
    • Default: OFF
  • HPCG_ENABLE_MORPHEUS_DYNAMIC: BOOL
    • Whether to enable Morpheus Library with dynamic matrix support.
    • Default: OFF
  • HPCG_ENABLE_KOKKOS_SERIAL: BOOL
    • Whether to enable Morpheus Serial Execution Space.
    • Default: OFF
  • HPCG_ENABLE_KOKKOS_OPENMP: BOOL
    • Whether to enable Morpheus OpenMP Execution Space.
    • Default: OFF
  • HPCG_ENABLE_KOKKOS_CUDA: BOOL
    • Whether to enable Morpheus Cuda Execution Space.
    • Default: OFF
  • HPCG_ENABLE_MG: BOOL
    • Whether to enable MG Preconditioner in timing runs.
    • Default: ON
  • HPCG_ENABLE_MULTI_FORMATS: BOOL
    • Whether to enable support for multiple formats across processes and MG levels using the input file.
    • Default: OFF
  • HPCG_ENABLE_SPLIT_DISTRIBUTED: BOOL
    • Whether to enable support for split between on-process and ghost elements of the local matrix.
    • Default: OFF