Hi,
Is it possible to call the MAGMA GPU kernel sgetrf directly on the device from a separate kernel function? Our application is the sparse direct solver PARDISO (www.pardiso-project.org).
We have modified the PARDISO factorization kernel in a way that allows us to call a grid in which each block represents a small matrix of size MxN (eg. M=900, n=80). We would like to use MAGMA SGETRF for this factorization on one block (we typically have hundreds of these independent blocks in one grid, M and N is of different size for these blocks).
Best regards,
Olaf Schenk
device kernel SGETRF
-
Stan Tomov
- Posts: 283
- Joined: Fri Aug 21, 2009 10:39 pm
Re: device kernel SGETRF
Hi Olaf,
As we communicated through emails, no, this is not currently possible with MAGMA. We don't have CUDA kernels to factor panels. Panels are factored on the CPU (in our case) and the matrix updates are done on the GPU, overlapping their work. Actually, we can overlap the panel factorization entirely (asymptoticly) with the matrix updates. Note that in this case we extract from the GPU high-performance throughout the algorithm vs if we used GPU for the panels the performance extracted would be memory bound. We are looking now though in functions like what you need to use them in tiled and variations of "communication-avoiding" algorithms.
Regards,
Stan
As we communicated through emails, no, this is not currently possible with MAGMA. We don't have CUDA kernels to factor panels. Panels are factored on the CPU (in our case) and the matrix updates are done on the GPU, overlapping their work. Actually, we can overlap the panel factorization entirely (asymptoticly) with the matrix updates. Note that in this case we extract from the GPU high-performance throughout the algorithm vs if we used GPU for the panels the performance extracted would be memory bound. We are looking now though in functions like what you need to use them in tiled and variations of "communication-avoiding" algorithms.
Regards,
Stan