[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