Skip to content

Requirements

Wayne Mitchell edited this page Dec 8, 2023 · 5 revisions

** WORK IN PROGRESS **

This document lists various requirements for building and writing code in hypre.

Autoconf 2.71

The autoconf-based build system in hypre involves running a configure script that is generated by developers ahead of time with the autoconf tool (users do not need to run autoconf). Developers should use version 2.71, which can be installed on Linux systems as follows:

  • Download the source from here
  • Create the directory $HOME/local. This is where autoconf will be installed. Feel free to choose a different place.
  • Untar the source somewhere and build/install it by doing:
configure --prefix=/path-to-my-home-directory/local
make
make install
  • Put $HOME/local/bin in your path and make sure that this is the version of autoconf you find

Standards

To ease portability and maintenance, standards are used as much as possible (some regression testing is also done to ensure this). The following are currently assumed:

  • CPU code: C99
  • GPU code: C++11
  • Fortran interface: F90
  • MPI-3 (most of the code is MPI-1; developers should minimize MPI feature use)

GPU support

This section outlines the minimum requirements for GPU support to ensure optimal performance and compatibility in hypre.

Compiler Minimum version Tested versions
nvcc (CUDA) 10.1.243 10.1.243, 12.0
hipcc (ROCM) 5.2 5.2
icpx (SYCL) 2023.1.0 2024.0.0

Additional notes:

  • Always ensure that your system's software and drivers are up to date to avoid compatibility issues.
  • For detailed installation guides and troubleshooting, refer to the respective official documentation of CUDA, ROCm, or SYCL.
  • For optimal performance, consider using the latest hardware and software that exceed the minimum requirements.

Other

  • ...
Clone this wiki locally