Good catch; fixed.

On Apr 23, 2012, at 4:40 PM, George Bosilca wrote:

> No strong opinion. However, the comment about the initial value of 
> opal_cache_line_size is wrong (opal/runtime/opal.h), as it states that the 
> default value is -1 while it is 128.
> 
>  george.
> 
> On Apr 23, 2012, at 16:21 , Jeffrey Squyres wrote:
> 
>> No one replied to this RFC.  Does anyone have an opinion about it?
>> 
>> I have attached a patch (including some debugging output) showing my initial 
>> implementation.  If no one objects by the end of this week, I'll commit to 
>> the trunk.
>> 
>> Terry: please add this to the agenda tomorrow.
>> 
>> 
>> On Mar 30, 2012, at 1:09 PM, Jeffrey Squyres wrote:
>> 
>>> I was just recently reminded of a comment that is near the top of 
>>> opal_init_util():
>>> 
>>>  /* JMS See note in runtime/opal.h -- this is temporary; to be
>>>     replaced with real hwloc information soon (in trunk/v1.5 and
>>>     beyond, only).  This *used* to be a #define, so it's important
>>>     to define it very early.  */
>>>  opal_cache_line_size = 128;
>>> 
>>> A few points:
>>> 
>>> 1. On my platforms, hwloc tells me that my cache line size is 64, not 128.  
>>> Probably not a tragedy, but...
>>> 
>>> 2. I see opal_cache_line_size being used in a lot of BTL and PML 
>>> initialization locations.  I see it being used in opal/class/free_list.*, 
>>> too.
>>> 
>>> 3. I poked around with this yesterday to see if we could have hwloc 
>>> initialize the opal_cache_line_size value.  Points to remember:
>>> 
>>> - we initialize the opal hwloc framework in opal_init(), but we do not load 
>>> the local machine's architecture then (because it can be expensive, 
>>> particularly if lots of MPI processes are all doing it simultaneously)
>>> - instead, the local machine topology is discovered once by each orted 
>>> (using hwloc) and then RML sent to each local MPI process, where it is 
>>> locally loaded into each MPI proc's hwloc tree
>>> - this happens during the orte_init() in ompi_mpi_init()
>>> 
>>> Meaning: we can initialize the opal_cache_line_size in MPI processes during 
>>> orte_init().
>>> 
>>> Is this acceptable to everyone?  
>>> 
>>> If so, I can go ahead and code this up.  I would probably leave the initial 
>>> value hard-coded to 128 (just in case something uses it before 
>>> orte_init()), and then later during orte_init(), reset it to the smallest 
>>> L1 cache size that hwloc finds on the machine.
>>> 
>>> -- 
>>> Jeff Squyres
>>> jsquy...@cisco.com
>>> For corporate legal information go to: 
>>> http://www.cisco.com/web/about/doing_business/legal/cri/
>>> 
>>> 
>>> _______________________________________________
>>> devel mailing list
>>> de...@open-mpi.org
>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>> 
>> 
>> -- 
>> Jeff Squyres
>> jsquy...@cisco.com
>> For corporate legal information go to: 
>> http://www.cisco.com/web/about/doing_business/legal/cri/
>> <opal-cache-line-size.diff>_______________________________________________
>> devel mailing list
>> de...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> 
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to