Installation

CMake is the recommended build system for hypredrive. It handles dependency discovery and optional feature configuration through a single, consistent interface. An Autotools path is also available for environments where CMake is not suitable; see Autotools (Alternative) at the end of this page.

Prerequisites

  • CMake 3.23 or newer.

  • hypre 2.20.0 or newer — or no pre-installed copy at all: CMake can fetch and build HYPRE automatically.

Verifying the Installation

Run the smoke test:

$ cmake --build build --target check

For the full CTest-based suite (requires -DHYPREDRV_ENABLE_TESTING=ON):

$ ctest --test-dir build --output-on-failure

A passing smoke test looks like:

Running tests (equivalent to autotools make check)
Test project /path/to/hypredrive/build
    Start 1: test_ex1_1proc
1/2 Test #1: test_ex1_1proc ....................   Passed
    Start 2: test_ex2_4proc
2/2 Test #2: test_ex2_4proc ....................   Passed

100% tests passed, 2 tests passed out of 2

Troubleshooting

If you encounter any issues, open a GitHub issue and include the output from cmake and cmake --build.

Autotools (Alternative)

Note

Autotools support is provided for environments where CMake is unavailable. The CMake path is preferred for all other cases.

Prerequisites

In addition to HYPRE, the following GNU tools are required:

These are typically pre-installed on Linux. On macOS, GNU libtool is installed as glibtool by Homebrew/MacPorts to avoid conflicting with the native libtool binary.

Build steps

  1. Download the source (same as CMake step 1).

  2. Generate the configure script:

    $ cd hypredrive
    $ autoreconf -i
    
  3. Configure:

    $ ./configure --prefix=${HYPREDRIVE_INSTALL_DIR} \
                  --with-hypre-dir=${HYPRE_INSTALL_DIR}
    

    If --with-hypre-dir is not used, provide both:

    • --with-hypre-include=${HYPRE_INCLUDE_DIR}

    • --with-hypre-lib=${HYPRE_LIBRARY_DIR}

    Common options:

    • --with-cuda / --with-cuda-home=${CUDA_HOME} — Enable CUDA.

    • --with-hip / --with-rocm-path=${ROCM_PATH} — Enable HIP.

    • --enable-doxygen — Enable Doxygen generation. Default: no.

    --with-cuda and --with-hip are mutually exclusive.

  4. Build and install:

    $ make -j
    $ make install
    
  5. Verify:

    $ make check