On Mon, Oct 18, 2021 at 8:47 PM Swarnava Ghosh <[email protected]> wrote:
> Hi Junchao, > > If I want to pass command line options as -mymat_mat_type aijcusparse, > should it be MatSetOptionsPrefix(A,"mymat"); or > MatSetOptionsPrefix(A,"mymat_"); ? Could you please clarify? > my fault, it should be MatSetOptionsPrefix(A,"mymat_"), as seen in mat/tests/ex62.c Thanks > > Sincerely, > Swarnava > > On Mon, Oct 18, 2021 at 9:23 PM Junchao Zhang <[email protected]> > wrote: > >> MatSetOptionsPrefix(A,"mymat") >> VecSetOptionsPrefix(v,"myvec") >> >> --Junchao Zhang >> >> >> On Mon, Oct 18, 2021 at 8:04 PM Chang Liu <[email protected]> wrote: >> >>> 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? >>> >> As Matt suggested, you could single out the matrix and vector with >> options prefix and set their type on command line >> >> MatSetOptionsPrefix(A,"mymat"); >> VecSetOptionsPrefix(v,"myvec"); >> >> Then, -mymat_mat_type aijcusparse -myvec_vec_type cuda >> >> A simpler code is to have the vector type automatically set by >> MatCreateVecs(A,&v,NULL) >> >> >>> 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 >>> >>
