Par défaut, il me semble que quand tu fais un malloc, la zone mémoire n'est pas vraiment allouée tout de suite. Lors du premier accès au buffer (t[i] = 0; par exemple), le système alloue la mémoire sur le banc mémoire qui a fait l'appel (c'est le "First Touch").
# First touch
Posté par François Trahay . En réponse au message Allocation de mémoire NUMA dans un code parallèle (threads). Évalué à 3.
Par défaut, il me semble que quand tu fais un malloc, la zone mémoire n'est pas vraiment allouée tout de suite. Lors du premier accès au buffer (t[i] = 0; par exemple), le système alloue la mémoire sur le banc mémoire qui a fait l'appel (c'est le "First Touch").
Une manière de contrôler où sont allouées les données est d'utiliser hwloc. La doc concernant la partie mémoire est ici : http://www.open-mpi.org/projects/hwloc/doc/v1.4.1/a00050.php