ROCm / rocALUTION

Next generation library for iterative sparse solvers for ROCm platform
https://rocm.docs.amd.com/projects/rocALUTION/en/latest/
MIT License
74 stars 38 forks source link

Sample cg-rsamg_mpi crashes in parallel (RugeStuebenAMG) #196

Closed pledac closed 9 months ago

pledac commented 9 months ago

Hello, I want to use the RugeStuebenAMG as a global precontioner in my code, but the sample in /clients/staging directory seems not working:

mpirun -np 2 ./cg-rsamg_mpi gr_30_30.mtx
No OpenMP support
rocALUTION ver 3.0.3-59debfadc-dirty
rocALUTION platform is initialized
Accelerator backend: None
No OpenMP support
MPI rank: 0
MPI size: 2
ReadFileMTX: filename=gr_30_30.mtx; reading...
ReadFileMTX: filename=gr_30_30.mtx; done
Fatal error - the program will be terminated 
File: /export/home/catA/pl254994/trust/amgx_openmp/ThirdPart/src/LIBROCALUTION/rocALUTION/src/base/global_matrix.cpp; line: 132

It is OK on 1 core:

mpirun -np 1 ./cg-rsamg_mpi gr_30_30.mtx
No OpenMP support
rocALUTION ver 3.0.3-59debfadc-dirty
rocALUTION platform is initialized
Accelerator backend: None
No OpenMP support
MPI rank: 0
MPI size: 1
ReadFileMTX: filename=gr_30_30.mtx; reading...
ReadFileMTX: filename=gr_30_30.mtx; done
Building took: 0.002036 sec
GlobalMatrix name=mat; rows=900; cols=900; nnz=7744; prec=64bit; format=CSR(32,32)/CSR; subdomains=1; host backend={CPU}; accelerator backend={None}; current=CPU
PCG solver starts, with preconditioner:
AMG solver
AMG number of levels 4
AMG Ruge-Stuben using PMIS coarsening with Ext+i interpolation
AMG coarsest operator size = 6
AMG coarsest level nnz = 36
AMG with smoother:
Fixed Point Iteration solver, with preconditioner:
Jacobi preconditioner
IterationControl criteria: abs tol=1e-08; rel tol=1e-08; div tol=1e+08; max iter=10000
IterationControl initial residual = 33.2866
IterationControl iter=1; residual=4.00468
IterationControl iter=2; residual=0.398823
IterationControl iter=3; residual=0.0550094
IterationControl iter=4; residual=0.00882675
IterationControl iter=5; residual=0.00128995
IterationControl iter=6; residual=0.000164629
IterationControl iter=7; residual=2.62883e-05
IterationControl iter=8; residual=4.17153e-06
IterationControl iter=9; residual=6.8288e-07
IterationControl iter=10; residual=1.03234e-07
IterationControl RELATIVE criteria has been reached: res norm=1.03234e-07; rel val=3.10135e-09; iter=10
PCG ends
Solver took: 0.000405 sec
||e - x||_2 = 2.67775e-08

Thanks for any advice,

Pierre

ntrost57 commented 9 months ago

Multi-node AMG other than pairwise is not yet supported. This will be added in a future release.