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

Reply via email to