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
According to the documentation, GPU support is realized through the magma library. I'm not really familiar with it, but from their website it seems they put more emphasis on CUDA support, therefore NVIDIA devices only.
Is there a way around your magma interface so that I can use any GPU API for eigenvalue problems? My only goal is to use lower level instructions in my matvec (possibly OpenCL, but it's still flexible) and avoid copying to/from the GPU in every call, so PRIMME should work with my vectors on the GPU.
I'm still a newbie in GPU programming, so maybe I'm missing something here. What is the main concept behind your GPU support? The given example is specifically built around magma, at this point I don't see what is behind this choice.
The text was updated successfully, but these errors were encountered:
PRIMME uses MAGMA internally for doing BLAS operations on GPUs. The user is only responsible to call the MAGMA initialization and to pass a handler to PRIMME. The matvec does not need to use MAGMA. The matvec just receives the pointers to the input and output vectors, that for GPUs, they are pointing to device (GPU) memory allocations.
Currently, PRIMME only supports CUDA devices (NVIDIA gpus). And, in the following months, we are going to support AMD gpus with HIP.
If you don't have experience in writing GPU code, I will suggest to try to use a library that makes the heavy lifting for you. In this sense, MAGMA have handy functions for manipulating dense matrices and have some support for sparse matrices. Look also cuSPARSE and hipSPARSE.
If you send us the code for the matvec, we can take a quick look and make more informative suggestions.
According to the documentation, GPU support is realized through the magma library. I'm not really familiar with it, but from their website it seems they put more emphasis on CUDA support, therefore NVIDIA devices only.
Is there a way around your magma interface so that I can use any GPU API for eigenvalue problems? My only goal is to use lower level instructions in my matvec (possibly OpenCL, but it's still flexible) and avoid copying to/from the GPU in every call, so PRIMME should work with my vectors on the GPU.
I'm still a newbie in GPU programming, so maybe I'm missing something here. What is the main concept behind your GPU support? The given example is specifically built around magma, at this point I don't see what is behind this choice.
The text was updated successfully, but these errors were encountered: