[petsc-users] Using PETSc GPU backend

Mark Adams mfadams at lbl.gov
Fri Jun 30 08:30:02 CDT 2023


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 <knepley at gmail.com> wrote:

> On Fri, Jun 30, 2023 at 1:13 AM Ng, Cho-Kuen via petsc-users <
> petsc-users at mcs.anl.gov> 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 <cho at slac.stanford.edu>
>> *Sent:* Thursday, June 29, 2023 8:32 PM
>> *To:* Mark Adams <mfadams at lbl.gov>
>> *Cc:* petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
>> *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 <mfadams at lbl.gov>
>> *Sent:* Thursday, June 29, 2023 5:55 PM
>> *To:* Ng, Cho-Kuen <cho at slac.stanford.edu>
>> *Cc:* petsc-users at mcs.anl.gov <petsc-users at mcs.anl.gov>
>> *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 <
>> petsc-users at mcs.anl.gov> 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/>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20230630/66730451/attachment.html>


More information about the petsc-users mailing list