> > > * doing two set_area_membind on the same entire array is useless, the second one will overwrite the first one.
But set_area_membind is for memory in general, not for a particular malloc. ( Is it rigth?) In my example, I'm doing set_area_membind for thread 0 before to do some allocations, and set_area_membind for thread 2 for futures allocations. set_membind done by thread 2 has no reference with malloc(array) done by first thread, so why it influence the real allocation of this array? 2011/9/25 Brice Goglin <brice.gog...@inria.fr> > ** > Le 25/09/2011 12:19, Gabriele Fatigati a écrit : > > Hi Brice, > > >The flag says "when the first touch occurs and the physical memory is > allocated for real, don't allocate on the local node (default), but >rather > allocate where specified by set_membind". > > If is it already allocated for real, how set_membind() can allocate on > other node? > > > Add the MIGRATE flag. > > > So, what's the difference between HWLOC_MEMBIND_BIND and > HWLOC_MEMBIND_FIRSTTOUCH? > > > First touch makes the allocation on the node local to the thread that > touches first (default on Linux). > BIND makes the allocation on the node specified in set_membind. > > > Doing the follow test: > > omp parallel region > > if(tid==0){ > malloc(array)... > set_area_membind(HWLOCMEMBIND_BIND, node 0) > } > > if (tid==1){ > set_area_membind(HWLOCMEMBIND_BIND, node 1) > > > If both set_area_membind work on the same array (not on different halves), > this is doubly-wrong: > * you have no guarantee that thread 0 has already finished doing the malloc > before thread 1 does set_area_membind on the buffer. > * doing two set_area_membind on the same entire array is useless, the > second one will overwrite the first one. > > Brice > > > _______________________________________________ > hwloc-users mailing list > hwloc-us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-users > -- Ing. Gabriele Fatigati HPC specialist SuperComputing Applications and Innovation Department Via Magnanelli 6/3, Casalecchio di Reno (BO) Italy www.cineca.it Tel: +39 051 6171722 g.fatigati [AT] cineca.it