<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On 10 March 2017 at 03:19, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":116" class="a3s aXjCH m15ab5959197bc598">    PetscMallocRegister(malloc,<wbr>realloc,free,&basicmalloc);<br>
    PetscMallocRegister(<wbr>PetscMallocDebug,<wbr>PetscReallocDebug,<wbr>PetscFreeDebug,&debugmalloc);<br>
    PetscMallocRegister(<wbr>PetscMallocHBW,<wbr>PetscReallocHBW,PetscFreeHBW,&<wbr>hbwmalloc);</div></blockquote></div><br>I'm wondering whether we should also handle calloc() here, and implement PetscCalloc properly. As I understand it, calloc != malloc+memset, and the differences might be important in multicore+multithreading scenarios and the first-touch policy.</div><div class="gmail_extra"><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Lisandro Dalcin<br>============<br>Research Scientist<br>Computer, Electrical and Mathematical Sciences & Engineering (CEMSE)<br>Extreme Computing Research Center (ECRC)<br>King Abdullah University of Science and Technology (KAUST)<br><a href="http://ecrc.kaust.edu.sa/" target="_blank">http://ecrc.kaust.edu.sa/</a><br><br>4700 King Abdullah University of Science and Technology<br>al-Khawarizmi Bldg (Bldg 1), Office # 0109<br>Thuwal 23955-6900, Kingdom of Saudi Arabia<br><a href="http://www.kaust.edu.sa" target="_blank">http://www.kaust.edu.sa</a><br><br>Office Phone: +966 12 808-0459</div>
</div></div>