<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Why IPP uses gcc by default? in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Why-IPP-uses-gcc-by-default/m-p/1044584#M23891</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;I installed "parallel_studio_xe_2015_update3".&lt;/P&gt;

&lt;P&gt;I ran the command:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;perl build.pl --cmake=speech-codecs,intel64,make,d,mt,debug --build --clean&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;(I know speech codecs is no more supported, but my query is not about that..)&lt;/P&gt;

&lt;P&gt;By default the build happens with gcc.&lt;/P&gt;

&lt;P&gt;Query 1&amp;gt; Why gcc is default? Why not icc? Why icc location is not set in the $PATH? (Is it because I've installed parallel_studio_xe_2016 also? or it depends on type of license I've)&lt;/P&gt;

&lt;P&gt;Query 2&amp;gt; When icc was forced to compiler, build failed. Why?&lt;/P&gt;

&lt;P&gt;Query 3&amp;gt; The command "icc -fopenmp openmp2.c" (see attached code) gives correct multithread output (see below). Whereas, same code in IPP framework (i.e., when put in player.c of speech-codec) gives single threaded output. Why? How to get multithreaded output? Any code snippet similar to&amp;nbsp; attached one, that demonstrates IPP multithread features?&lt;/P&gt;

&lt;P&gt;Query 4&amp;gt; Does icc perform better than gcc? (What is the meaning it is gcc compatible - icc version 15.0.3 (gcc version 4.8.3 compatibility)?)&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;(I've Xeon D1540 board.)&lt;/P&gt;

&lt;P&gt;correct multithread output:&lt;/P&gt;

&lt;P&gt;1&lt;BR /&gt;
	4&lt;BR /&gt;
	1&lt;BR /&gt;
	3&lt;BR /&gt;
	1&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;single threaded output:&lt;/P&gt;

&lt;P&gt;1&lt;BR /&gt;
	1&lt;BR /&gt;
	1&lt;BR /&gt;
	1&lt;BR /&gt;
	1&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Thank you,&lt;/P&gt;

&lt;P&gt;Basawaraj&lt;/P&gt;</description>
    <pubDate>Thu, 24 Sep 2015 09:49:26 GMT</pubDate>
    <dc:creator>Basawaraj_J_</dc:creator>
    <dc:date>2015-09-24T09:49:26Z</dc:date>
    <item>
      <title>Why IPP uses gcc by default?</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Why-IPP-uses-gcc-by-default/m-p/1044584#M23891</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;

&lt;P&gt;I installed "parallel_studio_xe_2015_update3".&lt;/P&gt;

&lt;P&gt;I ran the command:&lt;/P&gt;

&lt;PRE&gt;&lt;CODE&gt;perl build.pl --cmake=speech-codecs,intel64,make,d,mt,debug --build --clean&lt;/CODE&gt;&lt;/PRE&gt;

&lt;P&gt;(I know speech codecs is no more supported, but my query is not about that..)&lt;/P&gt;

&lt;P&gt;By default the build happens with gcc.&lt;/P&gt;

&lt;P&gt;Query 1&amp;gt; Why gcc is default? Why not icc? Why icc location is not set in the $PATH? (Is it because I've installed parallel_studio_xe_2016 also? or it depends on type of license I've)&lt;/P&gt;

&lt;P&gt;Query 2&amp;gt; When icc was forced to compiler, build failed. Why?&lt;/P&gt;

&lt;P&gt;Query 3&amp;gt; The command "icc -fopenmp openmp2.c" (see attached code) gives correct multithread output (see below). Whereas, same code in IPP framework (i.e., when put in player.c of speech-codec) gives single threaded output. Why? How to get multithreaded output? Any code snippet similar to&amp;nbsp; attached one, that demonstrates IPP multithread features?&lt;/P&gt;

&lt;P&gt;Query 4&amp;gt; Does icc perform better than gcc? (What is the meaning it is gcc compatible - icc version 15.0.3 (gcc version 4.8.3 compatibility)?)&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;(I've Xeon D1540 board.)&lt;/P&gt;

&lt;P&gt;correct multithread output:&lt;/P&gt;

&lt;P&gt;1&lt;BR /&gt;
	4&lt;BR /&gt;
	1&lt;BR /&gt;
	3&lt;BR /&gt;
	1&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;single threaded output:&lt;/P&gt;

&lt;P&gt;1&lt;BR /&gt;
	1&lt;BR /&gt;
	1&lt;BR /&gt;
	1&lt;BR /&gt;
	1&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Thank you,&lt;/P&gt;

&lt;P&gt;Basawaraj&lt;/P&gt;</description>
      <pubDate>Thu, 24 Sep 2015 09:49:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Why-IPP-uses-gcc-by-default/m-p/1044584#M23891</guid>
      <dc:creator>Basawaraj_J_</dc:creator>
      <dc:date>2015-09-24T09:49:26Z</dc:date>
    </item>
    <item>
      <title>Basawaraj, </title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Why-IPP-uses-gcc-by-default/m-p/1044585#M23892</link>
      <description>&lt;P&gt;Basawaraj,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;It is right that sample code was legacy , and will not be supported. That code was also for old IPP releases. If you plan to check it, you need to maintain it by yourself.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;some quick note for your questions: &amp;nbsp;I think that sample code could be built both by Intel compiler, and by GCC. It need to add "--comp=intel" to use Intel build the code.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Before you use Intel compiler, &amp;nbsp;have you set the environment for the compiler? &amp;nbsp;For example:&amp;nbsp;&lt;BR /&gt;
	&amp;gt;source /opt/intel/composer_xe_2015.x.xxx/bin/compilervars.sh intel64&amp;nbsp;&lt;/P&gt;

&lt;P&gt;If you get error report with Intel compiler, what is the error?&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Regarding the threading here, it actually two things, &amp;nbsp;1) use internal IPP threading ( linking with threaded IPP libraries, it is not recommended), &amp;nbsp;2) Using the threading at the high level. &amp;nbsp;You are working on the threading by your code.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;It seems to me you are writing the your OpenMP threading code? &amp;nbsp; &amp;nbsp;&lt;/P&gt;

&lt;P&gt;When you build your threading code with IPP, are you also add the -fopenmp into the compiler flag? &amp;nbsp;For your threaded code, that flag needed to add for the compiler.&lt;/P&gt;

&lt;P&gt;Thanks,&lt;BR /&gt;
	Chao&lt;/P&gt;</description>
      <pubDate>Fri, 25 Sep 2015 07:39:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Why-IPP-uses-gcc-by-default/m-p/1044585#M23892</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2015-09-25T07:39:21Z</dc:date>
    </item>
    <item>
      <title>Thanks.</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Why-IPP-uses-gcc-by-default/m-p/1044586#M23893</link>
      <description>&lt;P&gt;Thanks.&lt;/P&gt;

&lt;P&gt;Your&amp;nbsp;tips worked, if not all, definitely few of them.&lt;/P&gt;

&lt;P&gt;I got what I wanted from that reply.&lt;/P&gt;

&lt;P&gt;I feel&amp;nbsp;good to work with genius ones.&lt;/P&gt;

&lt;P&gt;-Basawaraj&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 28 Sep 2015 16:53:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Why-IPP-uses-gcc-by-default/m-p/1044586#M23893</guid>
      <dc:creator>Basawaraj_J_</dc:creator>
      <dc:date>2015-09-28T16:53:00Z</dc:date>
    </item>
  </channel>
</rss>

