PetscCall(PetscInitialize(&argc, &argv, NULL, help)); gives us the args and you run:
a.out -mat_type aijcusparse -vec_type cuda -log_view -options_left Mark On Fri, Jun 30, 2023 at 6:16 AM Matthew Knepley <[email protected]> wrote: > On Fri, Jun 30, 2023 at 1:13 AM Ng, Cho-Kuen via petsc-users < > [email protected]> wrote: > >> Mark, >> >> The application code reads in parameters from an input file, where we can >> put the PETSc runtime options. Then we pass the options to >> PetscInitialize(...). Does that sounds right? >> > > PETSc will read command line argument automatically in PetscInitialize() > unless you shut it off. > > Thanks, > > Matt > > >> Cho >> ------------------------------ >> *From:* Ng, Cho-Kuen <[email protected]> >> *Sent:* Thursday, June 29, 2023 8:32 PM >> *To:* Mark Adams <[email protected]> >> *Cc:* [email protected] <[email protected]> >> *Subject:* Re: [petsc-users] Using PETSc GPU backend >> >> Mark, >> >> Thanks for the information. How do I put the runtime options for the >> executable, say, a.out, which does not have the provision to append >> arguments? Do I need to change the C++ main to read in the options? >> >> Cho >> ------------------------------ >> *From:* Mark Adams <[email protected]> >> *Sent:* Thursday, June 29, 2023 5:55 PM >> *To:* Ng, Cho-Kuen <[email protected]> >> *Cc:* [email protected] <[email protected]> >> *Subject:* Re: [petsc-users] Using PETSc GPU backend >> >> Run with options: -mat_type aijcusparse -vec_type cuda -log_view >> -options_left >> >> The last column of the performance data (from -log_view) will be the >> percent flops on the GPU. Check that that is > 0. >> >> The end of the output will list the options that were used and options >> that were _not_ used (if any). Check that there are no options left. >> >> Mark >> >> On Thu, Jun 29, 2023 at 7:50 PM Ng, Cho-Kuen via petsc-users < >> [email protected]> wrote: >> >> I installed PETSc on Perlmutter using "spack install petsc+cuda+zoltan" and >> used it by "spack load petsc/fwge6pf". Then I compiled the application >> code (purely CPU code) linking to the petsc package, hoping that I can get >> performance improvement using the petsc GPU backend. However, the timing >> was the same using the same number of MPI tasks with and without GPU >> accelerators. Have I missed something in the process, for example, setting >> up PETSc options at runtime to use the GPU backend? >> >> Thanks, >> Cho >> >> > > -- > 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/> >
