ddemidov / amgcl

C++ library for solving large sparse linear systems with algebraic multigrid method
http://amgcl.readthedocs.org/
MIT License
726 stars 111 forks source link

input GPU data directly into CUDA solver #253

Open MakotoChiba opened 1 year ago

MakotoChiba commented 1 year ago

Hi, How can I use my matrix data(I, J, N, val) on CUDA memory to the AMGCL CUDA solver? Currently, I copy those data from CUDA memory to main mamory once time and use make_tuple for initialize. But it is really waist. I want to use GPU data directory for the solver. Can I make it??

ddemidov commented 1 year ago

Unfortunately, this is not possible with amgcl. In the library the setup is done completely on the cpu side and the results are then transferred to gpu memory.

You can try nvidia's amgx, as I believe the setup is done gpu-side there. I have also seen some work done based on amgcl where the setup is done on the gpu-side (https://doi.org/10.1007/978-3-031-11623-0_10), but I am not sure if the work has been open-sourced.

MakotoChiba commented 1 year ago

hi ddemidov, Thank you very much for explain and suggest. I will try to check amgx. But don't you have any plan for it?