Hi guys I'm Franco
I'm an italian student of engineering and I have a problem.
For my thesi I'm writing a Fortran code wich do a simulation, The problem is that the simulation is very slow.
I detect the great part of the time is employed to invert a big square double precision matrix,I would parallelise this inversion and I se that it could be possible using magma routines, but I don't find nothing. For this i ask you help me!
Now I'm using this code to invert the matrix :
subroutine inverti(xm,n,lda)
implicit none
double precision :: xm(n,n),ws(n*n)
INTEGER i,n,pivotArray(n),lda
call dgetrf(n,n,xm,lda,pivotArray,i)
if(i.ne.0)then
write(*,*)'error singular matrix in the function inverti'
call exit(0)
endif
call dgetri(n,xm,lda,pivotArray,ws,n*n,i)
end
It work fine but is serial and so slow .
Please help me to paralelise the code
Inverse of a Square Double precision Matrix
-
Stan Tomov
- Posts: 283
- Joined: Fri Aug 21, 2009 10:39 pm
Re: Inverse of a Square Double precision Matrix
Hi,
Yes, you can use MAGMA to do this computation. Both dgetrf and dgetri are implemented with GPU acceleration. You can see a list of the available in MAGMA 1.1 routines here.
Stan
Yes, you can use MAGMA to do this computation. Both dgetrf and dgetri are implemented with GPU acceleration. You can see a list of the available in MAGMA 1.1 routines here.
Stan