Larry Baker
US Geological Survey
650-329-5608
baker@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 */
+/* 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
----------