Closed jrood-nrel closed 3 months ago
Hi Jon,
the function hypre_BoomerAMGCoarsenFalgout
has not been ported to CUDA and therefore requires unified memory support (--enable-unified-memory
) when running hypre with the execution policy set to device. Could you double-check if hypre was configured with UVM support in your build (look for #define HYPRE_USING_UNIFIED_MEMORY
in ${HYPRE_PATH}/src/HYPRE_Config.h
)?
For a GPU-enabled coarsening technique that doesn't require UVM, I recommend using PMIS. I am working on getting HMIS also working without UVM (however some parts of HMIS still run on the CPU).
Hope this helps!
Well that makes sense then. I have tried with --enable-unified-memory
and it fails in a different place. I will try another algorithm. Thanks!
This was helpful. I took some settings from another case we had that seems to be working: https://github.com/Exawind/exawind-cases/blob/main/single-turbine/nrel5mw_nalu.yaml
Glad it worked, please reach out if you have any problems in the future
Hello, I've been working on a segfault in Exawind when running on GPUs with CUDA. I'm using the latest hypre. I can't tell if we're calling hypre wrong, or if something is wrong in hypre. I have this stacktrace in case anyone has any insight into what could be going wrong. It sure seems to running out of bounds on this array (
num_variables=39732
here):https://github.com/hypre-space/hypre/blob/3caa81955eb8d1b4e35d9b450e27cf6d07b50f6e/src/parcsr_ls/par_coarsen.c#L1056