<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Sun, 08 Nov 2009 13:13:50 -0800 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://software.intel.com/en-us/forums/intel-c-compiler/feed" rel="self" type="application/rss+xml" />
    <title>Intel Software Network - <![CDATA[ Intel® C++ Compiler ]]> feed</title>
    <link>http://software.intel.com/en-us/forums/intel-c-compiler</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>icl: error #10310: Failed to enable trusted storage check for licensing</title>
      <description><![CDATA[ <span style="font-family: verdana, arial, helvetica, sans-serif; color: #666666;">
<p style="padding: 0px; margin: 0px;">Hey guys,</p>
<p style="min-height: 8pt; height: 8pt; padding: 0px; margin: 0px;"> </p>
<p style="padding: 0px; margin: 0px;">I downloaded a 30-day trial version of the Intel C++ 64 compiler professional version 11.1.048. I am running Windows 7 and have MS Visual Studio 2008 installed. When I try to use icl, I receive the following error:</p>
<p style="min-height: 8pt; height: 8pt; padding: 0px; margin: 0px;"> </p>
<p style="padding: 0px; margin: 0px;"> </p>
<p style="padding: 0px; margin: 0px;">icl: error #10310: Failed to enable trusted storage check for licensing: WARNING</p>
<p style="padding: 0px; margin: 0px;">: Enable Trusted Storage failed (flexnet error code 20). Trusted Storage based license could [cuts off here[</p>
<p style="padding: 0px; margin: 0px;"> </p>
<p style="min-height: 8pt; height: 8pt; padding: 0px; margin: 0px;"> </p>
<p style="padding: 0px; margin: 0px;">I have ran iclvars.bat and ifortvars.bat (for the Intel Fortran Compiler), however this doesn't affect the issue.</p>
<p style="min-height: 8pt; height: 8pt; padding: 0px; margin: 0px;"> </p>
<p style="padding: 0px; margin: 0px;">I have looked on the forums and saw that someone suggested to:</p>
<p style="min-height: 8pt; height: 8pt; padding: 0px; margin: 0px;"> </p>
<p style="padding: 0px; margin: 0px;">"save the .lic file to &lt;program files&gt;\common files\intel\licenses directory and set the env-var "INTEL_LICENSE_FILE=&lt;common files&gt;\Intel\Licenses"."</p>
<p style="min-height: 8pt; height: 8pt; padding: 0px; margin: 0px;"> </p>
<p style="padding: 0px; margin: 0px;">However I don't have a .lic file, and the Licenses folder is empty. I would assume this to be the case since it is a trial version.</p>
<p style="min-height: 8pt; height: 8pt; padding: 0px; margin: 0px;"> </p>
<p style="padding: 0px; margin: 0px;">Any help would be greatly appreciated!</p>
<p style="min-height: 8pt; height: 8pt; padding: 0px; margin: 0px;"> </p>
<p style="padding: 0px; margin: 0px;">~Thanks buds~<img style="padding: 0px; margin: 0px; border: 0px initial initial;" width="16px" src="http://communities.intel.com/images/emoticons/happy.gif" height="16px" /></p>
</span> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-c-compiler/topic/69744/</link>
      <pubDate>Sat, 07 Nov 2009 20:52:30 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-c-compiler/topic/69744/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Trouble with general debugging</title>
      <description><![CDATA[ Hello,
<div><span style="font-family: Verdana, Arial, Helvetica, sans-serif;"><br /></span></div>
<div>I'm developing my app with VS2008/Intel C++ 11.1/Windows 7. When the app is compiled with the Intel C++ compiler it seems to run just fine...but recently I tried to step through line by line with the debugger in Visual Studio and found that the debugger was jumping around the code like crazy, seemingly at random, even though ultimately the results are correct.</div>
<div><br /></div>
<div>I've switched to debug build and gone into the "Project Properties -&gt; Configuration Properties -&gt; C/C++ -&gt; Optimization" and turned off all the optimizations I see listed. I am still unable to step through with the debugger however...it just behaves in a crazy random fashion. I have switched to the Microsoft compiler and stepped through without any trouble. Does anyone have any ideas as to what I'm doing incorrectly here? Thanks in advance.</div>
<div><br /></div>
<div>-Lionel</div> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-c-compiler/topic/69730/</link>
      <pubDate>Fri, 06 Nov 2009 15:16:21 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-c-compiler/topic/69730/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Can&amp;#39;t build MacOS X Tiger binary from Snow Leopard/Xcode 3.2</title>
      <description><![CDATA[ <div>This is a messy problem and I apologize in advance for the length of this message.</div>
<div><br /></div>
<div>I recently migrated a project from XCode 2.5 on Tiger to XCode 3.2 on Snow Leopard and ran into an unanticipated problem with the Intel C++ compiler 11.1 for OS X ("icc").  I want to build universal applications that are backward compatible to Tiger.</div>
<div><br /></div>
<div>* If I build with gcc using the 10.4 SDK, all goes well (but I want to use icc!).</div>
<div><br /></div>
<div>* If I build with icc using the 10.5 SDK, the build completes successfully and runs on Snow Leopard, but will not launch on Tiger (console output contains an error message about an undefined symbol, and I haven't pursued this further).</div>
<div><br /></div>
<div>* If I build with icc using the 10.4 SDK (which is what I really want to do), my compile dies with the message:</div>
<div>/Developer/SDKs/MacOSX10.4u.sdk/usr/include/stdarg.h:4:0 catastrophic error: could not open source file "stdarg.h" (no directories in search list)</div>
<div><br /></div>
<div>The problem is that there is no "stdarg.h" file included in the icc distribution.  The header contained in both the 10.4 and 10.5 SDKs looks like this:</div>
<div><br /></div>
<div>/* This file is public domain.  */</div>
<div>/* GCC uses its own copy of this header */</div>
<div>#if defined(__GNUC__)</div>
<div>#include_next &lt;stdarg.h&gt;</div>
<div>#elif defined(__MWERKS__)</div>
<div>#include "mw_stdarg.h"</div>
<div>#else</div>
<div>#error "This header only supports __MWERKS__."</div>
<div>#endif</div>
<div><br /></div>
<div>So what's apparently happening is that __GNUC__ is defined and it tries to go to the next entry in the search path for the "real" stdarg.h, but there is no search path.  I can't figure out why this happens with the 10.4 SDK but not the 10.5 SDK, but it seems to be related to use of icc because everything works fine with gcc.</div>
<div><br /></div>
<div>I can force a file trying to include "stdarg.h" to compile successfully by adding "/usr/lib/gcc/powerpc-apple-darwin10/4.2.1/include" to the header search path, but this obviously isn't the right thing to do, as it will always prefer a gcc header rather than an intel one when both are present.</div>
<div><br /></div>
<div>Is there some solution or workaround, or am I just SOL if I want to use XCode 3.2 for the builds?</div>
<div><br /></div>
<div>Thanks,</div>
<div>Dave</div> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-c-compiler/topic/69724/</link>
      <pubDate>Fri, 06 Nov 2009 12:33:47 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-c-compiler/topic/69724/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>icc doesn&amp;#39;t like nested openmp ??</title>
      <description><![CDATA[ Hi everyone,<br />I am new to this forum, and please forgive me if I put this post in the wrong place.<br /><br />I am sorry I couldn't put my entire code here, but to give you the following pseudo code for illustration. At the mean time, I'll try to explain the issue as much as I can.<br /><br />10: omp_set_nested(1);<br />11: omp_set_num_threads(omp_get_num_procs());<br />12: #pragma omp parallel<br />13: {<br />14:     for( int i …. )<br />15:     {<br />16:     #pragma omp sections<br />17:     {<br />18:     #pragma omp section<br />19:         { fun1();  // no parallelization in function body }<br />20:     #pragma omp section<br />21:         { fun2(); // has parallelization in function body }<br />22:     }<br />23: }<br /><br />The above code is meant to do some image processing, where fun1() reads data and fun2() does the processing. But I found out that it runs faster without openmp if the program is built by icc, but slower is built by gcc (which I believe it should be). <br /><br />Then I had the following tests:<br />1. commented out line 10, which I believe the parallelization in fun2() will be run in serial, the program is actually running much faster <br />2.	disabled the parallelization in fun2(), and compared the results from keeping line 10 and commenting out line 10, I still found that having nested omp is slower (nearly 2 times slower) <br />3.	changed line 18 and line 20 from “section” to “single” and commented out line 16, then compared the results from keeping line 10 and commenting line 10, I found that if I have nested, the program gave me very poor result, namely accuracy issues<br />4.	repeated the above tests on the same machine, but using gcc to compile and build, none of the above problem showed up …<br /><br />BTW, I am using openSUSE 11.0 and the icc version is  11.0 20090318.<br /><br />Please let me know should you need any more info, and any reply will be highly appreciated.<br /><br />Have a nice day!<br /><br /><br /><br /> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-c-compiler/topic/69721/</link>
      <pubDate>Fri, 06 Nov 2009 10:55:06 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-c-compiler/topic/69721/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>std::string in static array causes very slow compile and/or compiler crash</title>
      <description><![CDATA[ A simple example, which I've attached, causes the Intel compiler (11.1  059 Linux) to take a very long time to compile, use a lot of memory and in some cases crash.  I've also observed the same problems in the Intel complier for windows.<br /><br />
<pre name="code" class="shell">$ time icpc -o string_in_array string_in_array.cpp<br />Fatal compilation error: Out of memory asking for 36872.<br />compilation aborted for string_in_array.cpp (code 1)<br /><br />real	3m51.597s<br />user	3m46.946s</pre>
However, with gcc it's fine:<br /><br />
<pre name="code" class="cpp">$ time g++ -o string_in_array string_in_array.cpp 

real	0m14.287s
user	0m12.877s
sys	0m0.800s
</pre>
If I compile with no optimization it's a little better:<br /><br />
<pre name="code" class="cpp">$ time icpc -o string_in_array string_in_array.cpp -O0

real	3m20.380s
user	3m17.324s
sys	0m1.276s
</pre>
However, it uses 350MB of RAM and 100% cpu for 3m 20s.  That's 14x slower than gcc.<br /> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-c-compiler/topic/69665/</link>
      <pubDate>Wed, 04 Nov 2009 17:08:56 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-c-compiler/topic/69665/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Same code, same compiler options, performance is poorer in Intel then in Visual</title>
      <description><![CDATA[ Hi,
<div>After reading so much stuff about how Intel C++ is better then others I decided to test it (I have some real code to optimize)</div>
<div>I was trying many options combinations (O1,O2,Ox, SSE2,SSE3, SSE4.1,SSE4.2, data alignment, IPO, auto parallelization with loop level set and not set) . I have C0x enabled, and I am using restrict keyword for Intel (Visual does not recognize it). I have optimization diagnostic level set to 3. I am compiling for <b>X64</b>.</div>
<div><br /></div>
<div>And, after a dozen or so checks I can say that Intel is running 0.3 fps (which is about 4.8%) slower than Visual.</div>
<div><br /></div>
<div>Auto-parallelizer actually makes things slower than linear (half slower to be exact). I think it is because my functions are small but called very often.</div>
<div>Obviously OpenMP had similar performance to auto-parallerizer.</div>
<div><br /></div>
<div>gcc 3.4.6 is about 30% slower. But I will do the tests also on gcc 4.x.x and Open64.</div>
<div><br /></div>
<div>Do you have any ideas what <b>else </b>could improve performance? Or why is it working still slower than Visual?<br /></div>
<div><br /></div>
<div>I am using Intel v.11 and Visual Studio 2005.</div>
<div><br /></div>
<div>Thanks for help.</div> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-c-compiler/topic/69034/</link>
      <pubDate>Wed, 04 Nov 2009 11:41:23 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-c-compiler/topic/69034/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Diagnostic messages are not working well</title>
      <description><![CDATA[ I'm using Intel(R) C++ 11.1.038 in Windows (both 32/64 bit)
<div><br /></div>
<div>I'm having a trouble to get diagnostic compiler's message for automatic parallelization and OpenMP.</div>
<div><br /></div>
<div>If I turn on OpenMP or automatic parallelization (/Qparallel), the compiler can give diagnostic message based on the settings "/Qpar-report:n" and "/Qopenmp-report:n". I clearly specified these options, but *no* messages are shown.</div>
<div><br /></div>
<div>I clearly remember the compiler version 10.x gave a bunch of diagnostic messages (such as proven data dependences) when I specified "/Qpar-report:3". But, with this 11 version, just no messages are shown.</div>
<div><br /></div>
<div>Is this compiler bug?</div>
<div><br /></div>
<div>Otherwise, could you give me a link to download the one of the version 10? Getting diagnostic messages is critical to me for my compiler-related research.</div>
<div><br /></div>
<div>Thank you,</div>
<div>Minjang</div> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-c-compiler/topic/69664/</link>
      <pubDate>Wed, 04 Nov 2009 11:29:42 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-c-compiler/topic/69664/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Mac Xcode debugger - globals no longer show values?</title>
      <description><![CDATA[ I've recently upgraded to Mac OS X 10.6 (from whatever the last 10.5.x version was), with Xcode 3.2 (from 3.0),  and therefore to intel C++ compiler version 11.1.067 (from 11.0.059) to work with it.<br /><br />Now when debugging, my global vars don't show any values.  It's just blank to the right on any I select to show.  If I right click on one of the global var names in the Debugger window, and select "View in Memory Browser" the browser has a message "Unable to read memory."<br /><br />I've seen the release not about using the -save-temps compiler option, and that sounds like about the problem I'm having... except that there is no equivalent to that command line option within XCode, and it appears to be because it is in fact generating the .o files anyway.<br /><br />I used to be able to watch the values of globals... is it something I'm doing wrong/differently, or something that broke with Snow Leopard, or...?<br /><br />Thanks,<br />Duncan ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-c-compiler/topic/69410/</link>
      <pubDate>Wed, 04 Nov 2009 11:07:12 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-c-compiler/topic/69410/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Linker Out Of Memory without IPO</title>
      <description><![CDATA[ I'm using the evaluation version (11.1.048 on Win64) to try to compile my project (64bit target), which works fine on MacOS with and without IPO (-fast).<br />On Windows however, the mcpcom.exe consumes all memory it can get (~8GB) and gets terminated by the OS with an OOM error.<br />This happens even when using no options other than /Fo /c /D /I /TP. I'm linking against static libraries compiled with MSVC.<br /><br />Unfortunately, i couldn't break it down to a simple test case, since this is a rather large project.<br /><br />Any ideas? ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-c-compiler/topic/69660/</link>
      <pubDate>Wed, 04 Nov 2009 10:29:00 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-c-compiler/topic/69660/</guid>
      <category>ISN General</category>
    </item>
    <item>
      <title>Link errors with &amp;#34;-ipo&amp;#34; enabled.</title>
      <description><![CDATA[ Good morning/day/evening/night.<br /><br />I try like to compile MaNGOS (free project emulating World of Warcraft server) with ICC x64 to compare resulting performance with the same core compiled by GNU GCC. Of course I'd like to test such features of ICC as IPO and Auto Parallelism.<br /><br />If I compile the source code without "-ipo" the compiler and linker produce valid results. But if I specify this option, I receive strange link errors. They are:<br />
<pre name="code" class="cpp">../shared/libmangosshared.a(Log.o): In function `Log::InitColors(std::string const&amp;)':<br />ipo_out.c:(.text+0x4400): multiple definition of `Log::InitColors(std::string const&amp;)'<br />/tmp/ipo_icpcAK1ePp3.o:/tmp/ipo_icpcAK1ePp3.c:(.texthot00123+0x1f50): first defined here<br />../shared/libmangosshared.a(Log.o): In function `Log::outCharDump(char const*, unsigned int, unsigned int, char const*)':<br />ipo_out.c:(.text+0x4b50): multiple definition of `Log::outCharDump(char const*, unsigned int, unsigned int, char const*)'<br />/tmp/ipo_icpcAK1ePp3.o:/tmp/ipo_icpcAK1ePp3.c:(.texthot00125+0x0): first defined here</pre>
According to these errors and previous messages from make process I can see that ipo produces 3 temporary *.o objects (like /tmp/ipo_icpcAK1ePp3.o) from supplied original *.o objects and some static/shared libraries. But later linker tries to link both temporary IPO files and original libraries into final executable, that results in a lot of 'multiple definition' errors.<br /><br />To be honest I don't really know whether this error is because of bug in ICC or it is related to mangos. I'm not able to clarify it as mangos uses autoconf, automake, libtool, etc. and I have never worked with autotools before. Though I can't find any weird logic in produced Makefiles. But I experience this issue only with IPO enabled, so decided to write <br />here.<br /><br />OS: Ubuntu Linux 9.10 x64 Desktop.<br />ICC version: 11.1.056 for IA-32/Intel 64.<br />GCC version: 4.4.1.<br /><br />How to reproduce this issue:<br /><br />1. Set environment variables to properly use ICC: 'source /opt/intel/Compiler/11.1/056/bin/iccvars.sh intel64'.<br />2. Download latest ACE Framework from <a href="http://download.dre.vanderbilt.edu/previous_versions/ACE-5.7.4.tar.bz2">here</a>. You can build and install it using guides provided at Intel website (i.e <a href="http://software.intel.com/en-us/articles/building-acetao-with-intelr-c-compiler-for-linux/">this one</a>). I have installed ACE libs to /usr/lib because this directory is in standard library search path.<br />3. Install client for git version control system. On Ubuntu it can be done with 'sudo apt-get install git-core'.<br />4. Download mangos core files: 'git clone git://github.com/mangos/mangos.git'. It will create directory called 'mangos' in your current dir and download all the necessary files there.<br />5. Change your current dir to mangos: 'cd mangos'. After that you should execute 'autoreconf -if' to produce valid configure script.<br />6. Edit file 'src/framework/Utilities/UnorderedMap.h' with your favourite text editor. You should make following changes (note: text below is in diff format):<br />
<pre name="code" class="cpp"> using stdext::hash_map;
 #elif COMPILER == COMPILER_INTEL
-#define UNORDERED_MAP std::hash_map
-using std::hash_map;
+// ICC supports neither variadic templates, nor std::hash_map, so use following construction here.
+#define UNORDERED_MAP __gnu_cxx::hash_map
+
+namespace __gnu_cxx
+{
+    template&lt;&gt; struct hash&lt;unsigned long long&gt;
+    {
+        size_t operator()(const unsigned long long &amp;__x) const { return (size_t)__x; }
+    };
+    template&lt;typename T&gt; struct hash&lt;T *&gt;
+    {
+        size_t operator()(T * const &amp;__x) const { return (size_t)__x; }
+    };
+
+};
 #elif COMPILER == COMPILER_GNU &amp;&amp; (__GNUC__ &gt; 4 || __GNUC__ == 4 &amp;&amp; __GNUC_MINOR__ &gt;= 3)
 #define UNORDERED_MAP std::tr1::unordered_map</pre>
7. Execute 'mkdir build &amp;&amp; cd build'. After that run configure with such command: '../configure CC="icc" CXX="icpc" LD="xild" AR="xiar" CXXFLAGS="-ipo" --disable-builtin-ace'. Usage of builtin ACE results in compiler errors so I decided to install it manually as described in step 3.<br />8. Finally run make: 'make -j 8'. 8 concurrent make jobs is a maximum for my notebook, you are free to specify any number that you want. At the end you will receive link errors that I described earlier.<br /><br />As a workaround I can:<br /><br />1. Disable ipo. But it's not what I want to do.<br />2. Pass '-z muldefs' to linker by manually editing options in file 'mangos/build/src/mangosd/Makefile'. It allows to use only first definition of function and link stage completes successfully. But of course it does not fix the source of this problem.<br /><br />I will be glad to receive any help. Thanks in advance. Sorry if my English is bad, it's not my native language and last time I have practised in it many-many years ago.<br /> ]]></description>
      <link>http://software.intel.com/en-us/forums/intel-c-compiler/topic/69655/</link>
      <pubDate>Wed, 04 Nov 2009 09:25:12 -0800</pubDate>
      <guid isPermaLink="true">http://software.intel.com/en-us/forums/intel-c-compiler/topic/69655/</guid>
      <category>ISN General</category>
    </item>
  </channel></rss>