Dang!  You're absolutely right!  Mea culpa.

Thanks,

Larry Baker
US Geological Survey
650-329-5608
ba...@usgs.gov



On 24 May 2012, at 1:19 PM, Jeff Squyres wrote:

> FWIW, I think we imported your patch a while ago.  Here it is on the trunk:
> 
> https://svn.open-mpi.org/trac/ompi/browser/trunk/opal/mca/memory/linux/malloc.c#L3933
> 
> And here it is on v1.6:
> 
> https://svn.open-mpi.org/trac/ompi/browser/branches/v1.6/opal/mca/memory/linux/malloc.c#L3933
> 
> 
> 
> On May 24, 2012, at 2:06 PM, Larry Baker wrote:
> 
>> Terry,
>> 
>> What you are seeing is a bug in the vectorizer in the Intel 2011.6.233 
>> release.  We've talked about this before.  You should probably remove that 
>> compiler from your system(s).  I think the new release of OpenMPI describes 
>> this problem, but does not stop if from occurring.  I write a patch for 
>> ptmalloc2/malloc.c for OpenMPI 1.4.3 which automatically adjusts the 
>> optimization level for _int_malloc(), which is where the bug occurs.
>> 
>> Larry Baker
>> US Geological Survey
>> 650-329-5608
>> ba...@usgs.gov
>> 
>> ---------- Start of Patch ----------
>> --- opal/mca/memory/ptmalloc2/malloc.c.original      2010-04-13 
>> 10:30:26.000000000 -0700
>> +++ opal/mca/memory/ptmalloc2/malloc.c       2011-11-04 15:01:37.000000000 
>> -0700
>> @@ -2,6 +2,17 @@
>> /* Copyright (c) 2010      Cisco Systems, Inc.  All rights reserved.
>>  */
>> 
>> +/* With Intel Composer XE V12.1.0, release 2011.6.233, any launch   */
>> +/* fails, even before main(), due to a bug in the vectorizer (see   */
>> +/* https://svn.open-mpi.org/trac/ompi/changeset/25290).  The fix is */
>> +/* to disable vectorization by reducing the optimization level to   */
>> +/* -O1 for _int_malloc().  The only reliable method to identify     */
>> +/* release 2011.6.233 is the predefined __INTEL_COMPILER_BUILD_DATE */
>> +/* macro, which will have the value 20110811 (Linux, Windows, and   */
>> +/* Mac OS X).  (The predefined __INTEL_COMPILER macro is nonsense,  */
>> +/* 9999, and both the 2011.6.233 and 2011.7.256 releases identify   */
>> +/* themselves as V12.1.0 from the -v command line option.)          */
>> +
>> #define OPAL_DISABLE_ENABLE_MEM_DEBUG 1
>> #include "opal_config.h"
>> 
>> @@ -3945,6 +3956,12 @@
>>   ------------------------------ malloc ------------------------------
>> */
>> 
>> +#ifdef __INTEL_COMPILER_BUILD_DATE
>> +#if __INTEL_COMPILER_BUILD_DATE == 20110811
>> +#pragma GCC optimization_level 1
>> +#endif
>> +#endif
>> +
>> Void_t*
>> _int_malloc(mstate av, size_t bytes)
>> {
>> ---------- End of Patch ----------
>> 
>> On 24 May 2012, at 6:54 AM, TERRY DONTJE wrote:
>> 
>>> I am seeing several Cart Fortran tests (like MPI_Cart_coords_f) segv in 
>>> opal_memory_ptmalloc2_int_free when OMPI trunk is compiled with icc 12.1.0 
>>> for 64 bit on linux.   Just wondering if anyone has seen anything similar 
>>> to this with a different version of icc.  Other non-Intel compilers seem to 
>>> not exhibit this issue.
>>> 
>>> -- 
>>> Terry D. Dontje | Principal Software Engineer
>>> Developer Tools Engineering | +1.781.442.2631
>>> Oracle - Performance Technologies
>>> 95 Network Drive, Burlington, MA 01803
>>> Email terry.don...@oracle.com
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> 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/
> 
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel

Reply via email to