You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, I plan to run the hypre gpu example of amrex-tutorials/ExampleCodes/LinearSolvers/ABecLaplacian_C. I use the latest AMReX, amrex-tutorials, and hypre. Here are my detailed steps, followed by some questions.
I build the hypre library without using the unified memory, MPI, OpenMP. I use CUDA and SINGLE precision.
Initializing AMReX (24.03-37-g2a9e992fce9b)...
Initializing CUDA...
CUDA initialized with 1 device.
AMReX (24.03-37-g2a9e992fce9b) initialized
MLMG: # of AMR levels: 1
# of MG levels on the coarsest AMR level: 1
MLMG: Initial rhs = 2347.400635
MLMG: Initial residual (resid0) = 2347.400635
Erroneous arithmetic operation
See Backtrace.0 file for details
And here is the Backtrace file:
0: ./ABecLaplacian_C() [0x4e50e6]
amrex::BLBackTrace::print_backtrace_info(_IO_FILE*) at ??:?
1: ./ABecLaplacian_C() [0x4e77c2]
amrex::BLBackTrace::handler(int) at ??:?
2: /lib64/libc.so.6(+0x4ad50) [0x7fe7a0419d50]
3: ./ABecLaplacian_C() [0x94a3bd]
hypre_BoomerAMGSolve at ??:?
4: ./ABecLaplacian_C() [0x8de441]
amrex::HypreIJIface::solve(float, float, int) at ??:?
5: ./ABecLaplacian_C() [0x8bfd1e]
amrex::HypreABecLap3::solve(amrex::MultiFab&, amrex::MultiFab const&, float, float, int, amrex::BndryDataT<amrex::MultiFab> const&, int) at ??:?
6: ./ABecLaplacian_C() [0x753df6]
void amrex::MLMGT<amrex::MultiFab>::bottomSolveWithHypre<amrex::MultiFab, 0>(amrex::MultiFab&, amrex::MultiFab const&) at ??:?
7: ./ABecLaplacian_C() [0x75467e]
amrex::MLMGT<amrex::MultiFab>::actualBottomSolve() at ??:?
8: ./ABecLaplacian_C() [0x754c50]
amrex::MLMGT<amrex::MultiFab>::mgVcycle(int, int) at ??:?
9: ./ABecLaplacian_C() [0x75660c]
amrex::MLMGT<amrex::MultiFab>::oneIter(int) at ??:?
10: ./ABecLaplacian_C() [0x45a636]
float amrex::MLMGT<amrex::MultiFab>::solve<amrex::MultiFab>(amrex::Vector<amrex::MultiFab*, std::allocator<amrex::MultiFab*> > const&, amrex::Vector<amrex::MultiFab const*, std::allocator<amrex::MultiFab const*> > const&, float, float, char const*) at ??:?
11: ./ABecLaplacian_C() [0x45b724]
float amrex::MLMGT<amrex::MultiFab>::solve<amrex::MultiFab>(std::initializer_list<amrex::MultiFab*>, std::initializer_list<amrex::MultiFab const*>, float, float, char const*) at ??:?
12: ./ABecLaplacian_C() [0x44ce3e]
MyTest::solveABecLaplacian() at ??:?
13: ./ABecLaplacian_C() [0x426f59]
main at ??:?
14: /lib64/libc.so.6(__libc_start_main+0xef) [0x7fe7a040429d]
15: ./ABecLaplacian_C() [0x44868a]
_start
../sysdeps/x86_64/start.S:122
Can someone help to give me some suggestions? I will be happy to provide info if needed.
The text was updated successfully, but these errors were encountered:
The above errors still appear even if I compile and build the hypre with -DHYPRE_ENABLE_UNIFIED_MEMORY=ON and add the amrex.the_arena_is_managed = 1 in the inputs file.
I can reproduce the failure. It might be that the particular problem is simply too hard in single precision. The relative tolerance in the setup is hard wired to 1.e-10. I changed them all to 1.e-4. Then if I run with prob_type=1 (i.e., Poisson), it seems to work. If I run with prob_type=2 n_cell=32, it runs for a number of iterations and the residual blows up.
Hi, I plan to run the hypre gpu example of amrex-tutorials/ExampleCodes/LinearSolvers/ABecLaplacian_C. I use the latest AMReX, amrex-tutorials, and hypre. Here are my detailed steps, followed by some questions.
export HYPRE_DIR=/home/zengx372/Codes/hypre/src/hypre_gpu_wounifiedmemory
The compiling error is:
It seems that there are some mismatches of the datatype in the above output.
The build works as
But when I run the example with:
./ABecLaplacian_C inputs.hypre
It shows the error:
And here is the Backtrace file:
Can someone help to give me some suggestions? I will be happy to provide info if needed.
The text was updated successfully, but these errors were encountered: