Currently, the default for Hypre's Boomer AMG parameter "relaxation type" is left to Hypre to decide. I think the default is 3, if I remember right.
To use GPUs, we must use "relaxation type" = 6.
PreconditionerHypre.cc should be smart enough to set "relaxation type" = 6 by default for GPU builds, and "relaxation type" = 3 (or whatever the default is) for CPU builds.
Even better, it would be nice if GPU builds only accepted the relaxation types that work on GPUs, while CPU builds only accepted values valid for CPU. Note, I'm not entirely sure what are the valid values for CPU and/or GPU.
Currently, the default for Hypre's Boomer AMG parameter "relaxation type" is left to Hypre to decide. I think the default is 3, if I remember right.
To use GPUs, we must use "relaxation type" = 6.
PreconditionerHypre.cc should be smart enough to set "relaxation type" = 6 by default for GPU builds, and "relaxation type" = 3 (or whatever the default is) for CPU builds.
Even better, it would be nice if GPU builds only accepted the relaxation types that work on GPUs, while CPU builds only accepted values valid for CPU. Note, I'm not entirely sure what are the valid values for CPU and/or GPU.