Hi Matt,
I have a related question. In my code I have many matrices and I only
want to have one living on GPU, the others still staying on CPU mem.
I wonder if there is an easier way to copy a mpiaij matrix to
mpiaijcusparse (in other words, copy data to GPUs). I can think of
creating a new mpiaijcusparse matrix, and copying the data line by line.
But I wonder if there is a better option.
I have tried MatCopy and MatConvert but neither work.
Chang
On 10/17/21 7:50 PM, Matthew Knepley wrote:
On Sun, Oct 17, 2021 at 7:12 PM Swarnava Ghosh <[email protected]
<mailto:[email protected]>> wrote:
Do I need convert the MATSEQBAIJ to a cuda matrix in code?
You would need a call to MatSetFromOptions() to take that type from the
command line, and not have
the type hard-coded in your application. It is generally a bad idea to
hard code the implementation type.
If I do it from command line, then are the other MatVec calls are
ported onto CUDA? I have many MatVec calls in my code, but I
specifically want to port just one call.
You can give that one matrix an options prefix to isolate it.
Thanks,
Matt
Sincerely,
Swarnava
On Sun, Oct 17, 2021 at 7:07 PM Junchao Zhang
<[email protected] <mailto:[email protected]>> wrote:
You can do that with command line options -mat_type aijcusparse
-vec_type cuda
On Sun, Oct 17, 2021, 5:32 PM Swarnava Ghosh
<[email protected] <mailto:[email protected]>> wrote:
Dear Petsc team,
I had a query regarding using CUDA to accelerate a matrix
vector product.
I have a sequential sparse matrix (MATSEQBAIJ type). I want
to port a MatVec call onto GPUs. Is there any code/example I
can look at?
Sincerely,
SG
--
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which
their experiments lead.
-- Norbert Wiener
https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
--
Chang Liu
Staff Research Physicist
+1 609 243 3438
[email protected]
Princeton Plasma Physics Laboratory
100 Stellarator Rd, Princeton NJ 08540, USA