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
$ 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
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.
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