to a new function, mfem::hypre_forall(...) that matches the hypre
execution (and memory location) policy. This way, if MFEM uses CPU and
hypre uses GPU, mfem::hypre_forall() will run on GPU, as expected, and
not on CPU as does mfem::forall_switch(HypreUsingGPU(), ...).
constructors that wrap external data (SparseMatrix or Table) and
reorder it to make the diagonal entry first in each row.
The issue only appears when using HYPRE + CUDA/ROCM build.
This commit can be used to see the issue by running either of
the unit tests, 'punit_tests' or 'pcunit_tests'.
The issue will be resolved in the next commit to this branch.
Memory<real_t>::CompareHostAndDevice() for T = real_t
instead of T = double.
Extend Vector and DenseMatrix constructors from fixed size
arrays of type real_t to any type T -- this was one simple way
to get the tests to build with nvcc with single precision.
Fix the building of tests/unit/linalg/test_matrix_hypre.cpp with
single precision when using hypre built with GPU support.
Fix a warning from nvcc in miniapps/tools/tmop-check-metric.cpp.
support provided by the ROCm installation.
Added a number of smaller fixes and tweaks related to HYPRE + HIP
support and the CMake build system.
Added support out-of-source GNU make builds in miniapps/shifted.
In the Gitlab CI for Lassen, added a job that tests a build where
both MFEM and HYPRE are built with CUDA.