[petsc-dev] [petsc-users] MatMultTranspose memory usage

Jed Brown jed at jedbrown.org
Wed Jul 31 09:36:01 CDT 2019


"Smith, Barry F." <bsmith at mcs.anl.gov> writes:

>   Make an issue
>> On Jul 30, 2019, at 7:00 PM, Jed Brown <jed at jedbrown.org> wrote:
>> "Smith, Barry F. via petsc-users" <petsc-users at mcs.anl.gov> writes:
>>>   The reason this worked for 4 processes is that the largest count in that case was roughly 6,653,750,976/4 which does fit into an int. PETSc only needs to know the number of nonzeros on each process, it doesn't need to know the amount across all the processors. In other words you may want to use a different PETSC_ARCH (different configuration) for small number of processors and large number depending on how large your problem is. Or you can always use 64 bit integers at a little performance and memory cost.
>> We could consider always using 64-bit ints for quantities like row
>> starts, keeping column indices (the "heavy" part) in 32-bit.  This may
>> become a more frequent issue with fatter nodes and many GPUs potentially
>> being driven by a single MPI rank.

More information about the petsc-dev mailing list