[petsc-users] On the edge of 2^31 unknowns
Maxime Boissonneault
maxime.boissonneault at calculquebec.ca
Mon Nov 16 14:56:14 CST 2015
Le 2015-11-16 15:46, Barry Smith a écrit :
>> On Nov 16, 2015, at 2:41 PM, Jed Brown <jed at jedbrown.org> wrote:
>>
>> Barry Smith <bsmith at mcs.anl.gov> writes:
>>> Out goal is that if something won't fit in a 32 bit int we use a 64
>>> bit integer when possible or at least produce a very useful error
>>> message instead of the horrible malloc error you get. The more
>>> crashes you can give us the quicker we can fix these errors.
>> This feels like something that we should be able to find with static
>> analysis, though I don't know how since many of the problems are a
>> consequence of unsuffixed numeric literals having type "int".
>>
>> What if we compiled for an I16LP32 architecture (emulator) so we could
>> find these problems at small scale?
> Or defined PetscInt to be short for test runs?
>
>
PetscInt to short should work, as the integer overflow will happen at a
much smaller scale, but will still result in a malloc of ~2^63 bytes of
memory once the negative number is converted back to size_t.
More information about the petsc-users
mailing list