PETSc on GPUs

2008-09-18 Thread Barry Smith
In implementing Vec in the GPU a VecScatter would take the entries directly from GPU copy of the vector and put them appropriately into the GPU copy of the other vector, thus it would be completely transparent from the MatMult_MPIAIJ() code. In other words, if you have to modify the MatM

PETSc on GPUs

2008-09-18 Thread Richard Tran Mills
Ahmed, If you take a look in src/mat/impls/aij/mpi/ at mpiaij.h and mpiaij.c, you can see that an MPIAIJ matrix is stored locally as two "sequential" matrics, A and B. A contains the "diagonal" portion of the matrix, and B contains the "off-diagonal" portion. See page 59 of the PETSc Use

PETSc on GPUs

2008-09-18 Thread Matthew Knepley
On Thu, Sep 18, 2008 at 1:34 PM, Ahmed El Zein wrote: > On Thu, 2008-09-18 at 10:20 -0500, Matthew Knepley wrote: >> > A question that I had regarding the PETSc code when I was thinking >> about >> > this was: >> > You have the SeqAIJ matrix type and the the MPIAIJ type built around >> it >> > (or

PETSc on GPUs

2008-09-18 Thread Ahmed El Zein
On Wed, 2008-09-17 at 21:33 -0500, Barry Smith wrote: > Ahmed, > > This is very cool. > On Sep 17, 2008, at 8:05 PM, Ahmed El Zein wrote: > > > Harald, > > I am working on implementing SpMV on a NVIDIA GPU with CUDA for SML > > applications (just about finished actually). > > > > As the SML a

PETSc on GPUs

2008-09-18 Thread Ahmed El Zein
Harald, I am working on implementing SpMV on a NVIDIA GPU with CUDA for SML applications (just about finished actually). As the SML application I am planing to base my work on uses PETSc, I have written some functions that will convert AIJ matrices and Vectors to SP and copy them to the GPU, multi

PETSc on GPUs

2008-09-18 Thread Matthew Knepley
On Wed, Sep 17, 2008 at 10:51 PM, Ahmed El Zein wrote: > On Wed, 2008-09-17 at 21:33 -0500, Barry Smith wrote: >> Ahmed, >> >> This is very cool. >> On Sep 17, 2008, at 8:05 PM, Ahmed El Zein wrote: >> >> > Harald, >> > I am working on implementing SpMV on a NVIDIA GPU with CUDA for SML >> > a