Hello,
I am trying to use the AmgX solver on a symmetric positive-definite matrix generated by some Fortran code. I am able to solve the system using plain conjugate gradient without preconditioning (as in the config file PCG_NOPREC.json); however, when I try to use a preconditioner (as in config files like PCG_CLASSICAL_V_JACOBI.json and many others) I get a runtime error as follows:
Caught amgx exception: Cuda failure: 'an illegal memory access was encountered'
at: /home/omer/AMGX/src/solvers/dense_lu_solver.cu:562
This config runs fine with the example matrix that comes in the repository, but of course, that is a dummy matrix. Any insight about why it might be crashing on my matrix and what config parameters I should use so that I can add preconditioning to conjugate gradient without crashing would be greatly appreciated.
I will paste the rel
createf90.txt (28.2 KB)
evant section of my .bashrc file and attach the main Fortran file used for matrix generation. Please do not hesitate to ask for additional information about my system if it would be helpful.
My .bashrc file:
#-------------------NVIDIA--HPC--SDK--TOOLKIT-------------------------
export NVARCH='Linux'_'x86_64'
export NVCOMPILERS=/home/omer/nvidia/hpc_sdk
export HPC_VERSION=25.5
export MANPATH=$NVCOMPILERS/$NVARCH/$HPC_VERSION/compilers/man:$MANPATH
export PATH=$NVCOMPILERS/$NVARCH/$HPC_VERSION/compilers/bin:$PATH
export PATH=$NVCOMPILERS/$NVARCH/$HPC_VERSION/comm_libs/mpi/bin:$PATH
export MANPATH=$MANPATH:$NVCOMPILERS/$NVARCH/$HPC_VERSION/comm_libs/mpi/man
# For running AmgX
export LD_LIBRARY_PATH=$NVCOMPILERS/$NVARCH/$HPC_VERSION/cuda/lib64:$LD_LIBRARY_PATH
#export LD_LIBRARY_PATH=/home/omer/nvidia/hpc_sdk/Linux_x86_64/25.5/math_libs/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$NVCOMPILERS/$NVARCH/$HPC_VERSION/compilers/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$NVCOMPILERS/$NVARCH/$HPC_VERSION/comm_libs/mpi/lib:$LD_LIBRARY_PATH