Skip to content

Commit b9828b2

Browse files
authored
Docs: note HYPRE bigint is CPU-only (#5540)
Document that HYPRE's --enable-bigint option is not currently compatible with --with-cuda, and that CUDA users hitting a 32-bit HYPRE integer overflow do not have a bigint fallback configuration. Close #5509
1 parent 9a0ac55 commit b9828b2

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

Docs/sphinx_documentation/source/LinearSolvers.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,11 @@ To build HYPRE, follow the next steps:
598598
6.- Create an environment variable with the HYPRE directory --
599599
HYPRE_DIR=/hypre_path/hypre/src/hypre
600600

601+
The ``--enable-bigint`` option is for CPU builds of HYPRE. It is not
602+
currently compatible with HYPRE's CUDA build, so it should not be combined with
603+
``--with-cuda``. CUDA users who encounter a HYPRE 32-bit integer overflow do
604+
not currently have a bigint HYPRE configuration available as a fallback.
605+
601606
To use HYPRE with CUDA, the `nvcc` compiler is needed along with all other requirements for the CPU build (e.g., `gcc`, `mpicc`). It is very important that the GPU architecture for HYPRE matches that of AMReX. By default, HYPRE assumes its architecture number to be 70, and it is best to build HYPRE for multiple architectures by specifying multiple compute capability numbers (e.g., 80 and 90). If you see a runtime error similar to
602607
``terminate called after throwing an instance of 'thrust::system::system_error'``, you likely did not build for the correct architecture.
603608

0 commit comments

Comments
 (0)