Hi Junchao,
Thank you for your answer. I tried MatConvert and it works. I didn't
make it before because I forgot to convert a vector from mpi to mpicuda
previously.
For vector, there is no VecConvert to use, so I have to do VecDuplicate,
VecSetType and VecCopy. Is there an easier option?
Chang
On 10/18/21 5:23 PM, Junchao Zhang wrote:
On Mon, Oct 18, 2021 at 3:42 PM Chang Liu via petsc-users
<[email protected] <mailto:[email protected]>> wrote:
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.
Did you use MatConvert(mat,matype,MAT_INPLACE_MATRIX,&mat)?
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]>
> <mailto:[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]>
<mailto:[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]>
<mailto:[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/
<https://www.cse.buffalo.edu/~knepley/>
<http://www.cse.buffalo.edu/~knepley/
<http://www.cse.buffalo.edu/~knepley/>>
--
Chang Liu
Staff Research Physicist
+1 609 243 3438
[email protected] <mailto:[email protected]>
Princeton Plasma Physics Laboratory
100 Stellarator Rd, Princeton NJ 08540, USA
--
Chang Liu
Staff Research Physicist
+1 609 243 3438
[email protected]
Princeton Plasma Physics Laboratory
100 Stellarator Rd, Princeton NJ 08540, USA