Hi Brice, Thanks for your time and nice explanation. I have looked at the issue with location return (the page proportion across multiple node & physical allocation). Are you thinking to add this function..? Like if we think list of node or nodes where the array is allocated (only if physically allocated otherwise NULL) is it possible..?
I am looking for getting the physical location of data allocated by OS default policy. Appreciate any better idea and please share with me. Best Regards, - Raju On Tue, Dec 15, 2015 at 3:28 AM, Brice Goglin <brice.gog...@inria.fr> wrote: > > > Le 15/12/2015 07:21, Brice Goglin a écrit : > > > > Le 15/12/2015 05:57, Rezaul Karim Raju a écrit : > > *OUTPUT: * > *Policy-->* buffer(Array: A) *membind [default OS binding] Policy is:= 1 > [1 refers to *HWLOC_MEMBIND_FIRSTTOUCH > <https://www.open-mpi.org/projects/hwloc/doc/v1.11.1/a00083.php#ggac9764f79505775d06407b40f5e4661e8a979c7aa78dd32780858f30f47a72cca0> > *]* > *Nodeset --> *buffer(Array: A) bound to nodeset* 0x000000ff *with contains > *:* > node #0 (OS index 0) with 8387047424 bytes of memory > node #1 (OS index 1) with 8471617536 bytes of memory > node #2 (OS index 2) with 8471621632 bytes of memory > node #3 (OS index 3) with 8471617536 bytes of memory > node #4 (OS index 4) with 8471621632 bytes of memory > node #5 (OS index 5) with 8471617536 bytes of memory > node #6 (OS index 6) with 8471621632 bytes of memory > node #7 (OS index 7) with 8471564288 bytes of memory > > *why it shows allocated memory is bound to all available nodeset..? should > it not be allocated to a specific nodeset one ..?* > > > Hello > > You are confusing the "binding" and the "actual location". Your memory > buffer isn't bound to a specific location by default. But Linux has to > allocate it somewhere. So your buffer is "located" in some node after the > allocation, but it is not "bound" there (what get_area_membind returns) > which means Linux could have allocated it somewhere else. > > hwloc cannot currently return the "location" of a memory buffer. I have > been thinking about adding this feature in the past, but it looks like you > are the first actual user requesting this. We could add something like > hwloc_get_last_memory_location(topology, input buffer, outputnodeset) > At least on Linux that's possible. > > For clarity, this is similar to the difference between hwloc_get_cpubind() > and hwloc_get_last_cpu_location(): A task always runs on a specific PU, > even if it is not bound to anything specific PU. > > > By the way, there is already an issue for this: > https://github.com/open-mpi/hwloc/issues/97 > > Feel to comment there. > > Brice > > > _______________________________________________ > hwloc-users mailing list > hwloc-us...@open-mpi.org > Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/hwloc-users > Link to this post: > http://www.open-mpi.org/community/lists/hwloc-users/2015/12/1226.php > -- ------------------------ RaJu, Rezaul Karim Graduate Student (PhD) | Computer Science | University of Houston Research in High Performance Computing Tools Houston, Texas-77004