<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Sat, 26 May 2012 04:04:03 -0700 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://software.intel.com/en-us/articles/intel-parallel-composer-kb/type/sample-code/feed/" rel="self" type="application/rss+xml" />
    <title>Intel Software Network articles Feed</title>
    <link>http://software.intel.com/en-us/articles/intel-parallel-composer-kb/type/sample-code/</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>&amp;#34;The system cannot find the path specified&amp;#34; when building samples using Intel® Threading Building Blocks</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><strong>Reference Number :</strong> DPD200172472<br /><br /><br /><strong>Version :</strong> 2011<br /><br /><br /><strong>Product :</strong> Intel® C++ Composer XE, Intel® Parallel Composer<br /><br /><br /><strong>Operating System : </strong>Windows*<br /><br /><br /><strong>Problem Description :</strong> In update 6, certain compiler samples that use Intel® Threading Building Blocks, for example cilk\qsort-mutex may fail when built in Microsoft Visual Studio 2010* during a post-build copy step.  The output you get will look like:<br /><br />
<pre name="code" class="shell:nogutter:nocontrols">1&gt;  Description: Copy TBB DLLs
1&gt;  The system cannot find the path specified.
1&gt;  The system cannot find the path specified.
1&gt;C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: The command "copy /y "\redist\ia32\tbb\vc_mt\tbb_debug.dll" "C:\Cilk\RC3\Cilk\qsort-mutex\Debug\"
1&gt;C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: copy /y "\redist\ia32\tbb\vc_mt\tbbmalloc_debug.dll" "C:\Cilk\RC3\Cilk\qsort-mutex\Debug\"
1&gt;C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: 
1&gt;C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(113,5): error MSB3073: :VCEnd" exited with code 1.
1&gt;
1&gt;Build FAILED.</pre>
<br /><strong>Resolution Status :</strong> We are working on resolving this in a future release.  In the meantime, go to the project properties for the sample in question, go to "Build Events-&gt;Post Build Event" and Edit the "Command Line" field, and replace any instance of "$(INTEL_DEF_IA32_INSTALL_DIR)" with the hardcoded path to the Intel Parallel Composer or C++ Composer XE root directory.<br /><br /><br /><br /><i>[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]</i></div>
			 ]]></description>
      <link>http://software.intel.com/en-us/articles/the-system-cannot-find-the-path-specified-when-building-samples-using-intel-threading-building-blocks/</link>
      <pubDate>Tue, 06 Sep 2011 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/the-system-cannot-find-the-path-specified-when-building-samples-using-intel-threading-building-blocks/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/the-system-cannot-find-the-path-specified-when-building-samples-using-intel-threading-building-blocks/</guid>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>internal error: 0_1204 when openmp used with try-catch</title>
      <description><![CDATA[ <br />
<div id="art_pre_template"><b>Reference Number : Q625172</b><br /><br /><br /><b>Version : 12.0 update 1 &amp; 2</b><br /><br /><br /><b>Product : Intel® C++ Compiler XE 12.0 update 1 &amp; 2</b><br /><br /><br /><b>Operating System : Windows*</b><br /><br /><br /><b>Problem Description : </b><br />The below code was reduced from a big customer project, that uses Qt. The bug is in Intel compiler, <br />when openmp pragma/option is used, and exception-handling is used in a particular manner, though not in other cases. The workaround is to use /Od , instead of /O2. Or, do not use openmp pragma. Also, enable /EHsc since C++ exception handling mechanism is used. <br /><br />Command-line for the bug:--<br /><strong>icl /c /Qopenmp /EHsc qterror.cpp<br /></strong><br />compile Error :-- <strong>internal error: 0_1204<br /></strong><br />Sometimes, during parallel compilation (using /MP), when such compile errors are generated, the below error message also comes in the output.<br /><strong>icl: error #10298: problem during post processing of parallel object compilation<br /><br /></strong>Below sample code generates the error:--<br /><br />
<pre name="code" class="cpp">#include &lt;iostream&gt;
using namespace std;
#include &lt;vector&gt;

class myclass{};
vector&lt;myclass&gt;					myvec;
template &lt;typename T&gt;
const T &amp;mymin(const T &amp;a, const T &amp;b) { if (a &lt; b) return a; return b; }
void func(const char* ch, const char* FILE, int LINE)
{
	cout &lt;&lt; ch &lt;&lt; " in file: " &lt;&lt; __FILE__ &lt;&lt; " in line: " &lt;&lt; __LINE__ &lt;&lt; "\n";
	return;
}
bool Do()
	{
		myclass *j=&amp;myvec[100];
		int lines = mymin(10,100);

		if(!lines)
		{
			{
			#pragma omp parallel for //num_threads(komp_num_threads) schedule(guided)
			for (int y = 0; y &lt;= 100; y++)
			{
			try {
			func( "Openmp error",__FILE__, __LINE__ );		
				
			}catch(std::exception e) { };
			}
		}
		}
		
		return 1;
}</pre>
<br /><br /><strong>Resolution Status :</strong> This bug has been resolved in Intel Composer 12.0 XE update 3 , 4<br /><br /><br /><br /><i>[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]</i></div> ]]></description>
      <link>http://software.intel.com/en-us/articles/internal-error-0_1204-when-openmp-used-with-try-catch/</link>
      <pubDate>Tue, 07 Jun 2011 08:30:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/internal-error-0_1204-when-openmp-used-with-try-catch/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/internal-error-0_1204-when-openmp-used-with-try-catch/</guid>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>mathimf.h is incompatible with system math.h</title>
      <description><![CDATA[ <strong>Reference number</strong>: DPD200166165 <br /><br /><strong>Problem</strong> : mathimf.h problem in VS2010<br /><br /><strong>Environment</strong> : VS2010 , Intel C++ compiler<br /><br /><strong>Affected compilers</strong>: 12.0 u/d (1 to 4)<br /><br /><strong>Sample code:</strong> <br /><br />
<pre name="code" class="cpp">#pragma once

#include &lt;string&gt;
using std::string;

#include &lt;mathimf.h&gt;

class bccb
{
bccb(void);
~bccb(void);
};


bccb::bccb(void)
{
}

bccb::~bccb(void)
{
}
</pre>
<br /><strong>Problem Description</strong>:--<br />When above is compiled with Intel compiler in VS2010 mode, following error:--<br /><br /># error "&lt;mathimf.h&gt; is incompatible with system &lt;math.h&gt;!"<br /><br />With VS2008, the code compiles fine.<br /><br />Solutions/workarounds:--<br /><br />1. Use math.h instead of mathimf.h, and in case of a needed Intel-specific functions, their definitions can be taken from mathimf.h and inserted into application code.<br /><br />2. Standard recommendation is to avoid usage of math.h and mathimf.h in the same compilation unit<br />by separating code that depends on math.h from the code that depends on mathimf.h into dirrerent files.<br />The above code though has the problem that the use is not avoided. This is an issue needed to be fixed.<br /><br />3. First, try to include &lt;mathimf.h&gt; before any other header. This will automatically prevent futher inclusions of &lt;math.h&gt;.<br />So, include &lt;mathimf.h before &lt;string&gt; . But still icl in VS2010 mode does not compile, and this will be fixed in later release. &lt;math.h&gt; should never be mistakenly used before &lt;mathimf.h&gt;, as this would definitely cause problems due to below reason:--<br /><br />In C language,<br />MS math.h deprecates usage of some c99-functions.<br />The issue here is that MS does not support ISO C99.<br />Also a number of float and long double functions are defined<br />through calls to corresponding double-precision functions,<br />giving performance or accuracy loss compared to float/long-double functions<br />existing in Intel math library.<br /><br />In C++ language,<br />MS redefines a number of c99-functions so that they are inlined.<br /><br /><strong>Resolution status</strong>: <br />This issue will be fixed in the later 12.0 release and next major release 12.1. <br />So, including &lt;mathimf.h&gt; before &lt;math.h&gt; explicitly or inadvertently as in sample code will build fine with VS2010 in later 12.x .<br /><br /><em>[DISCLAIMER: The information on this web site is intended for hardware system manufacturers and software developers. Intel does not warrant the accuracy, completeness or utility of any information on this site. Intel may make changes to the information or the site at any time without notice. Intel makes no commitment to update the information at this site. ALL INFORMATION PROVIDED ON THIS WEBSITE IS PROVIDED "as is" without any express, implied, or statutory warranty of any kind including but not limited to warranties of merchantability, non-infringement of intellectual property, or fitness for any particular purpose. Independent companies manufacture the third-party products that are mentioned on this site. Intel is not responsible for the quality or performance of third-party products and makes no representation or warranty regarding such products. The third-party supplier remains solely responsible for the design, manufacture, sale and functionality of its products. Intel and the Intel logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. *Other names and brands may be claimed as the property of others.]<br /><br /><br /></em><br /> ]]></description>
      <link>http://software.intel.com/en-us/articles/mathimf-is-incompatible-with-system-math/</link>
      <pubDate>Mon, 30 May 2011 08:30:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/mathimf-is-incompatible-with-system-math/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/mathimf-is-incompatible-with-system-math/</guid>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>How to find active speech level (audio level) using Intel® IPP function?</title>
      <description><![CDATA[ <p>Using the following piece of code, one can find audio level.</p>
<pre name="code" class="cpp">{
      Ipp32f tmpMinS,tmpMaxS;

      Ipp32f m_PeakAmpdB;

       ippsMinMax_32f(fileData, sizeSamples, &amp;tmpMinS, &amp;tmpMaxS);

      Ipp32f maxAbsSample = IPP_MAX(fabs(tmpMinS),fabs(tmpMaxS));

      if(maxAbsSample &gt; 0) {

            m_PeakAmpdB = 20.f * log10(maxAbsSample / 32768.f);

      } else {

      m_PeakAmpdB = -91.f;

      }

}

</pre>
<p><br />In this code, Amp(dB) = 20 lg(S/N), where S- random signal, N - noise. If S=1 then Amp(dB) = 20 lg(1/N) = -91 – this is silence.</p> ]]></description>
      <link>http://software.intel.com/en-us/articles/how-to-find-active-speech-level-audio-level-using-intel-ipp-function/</link>
      <pubDate>Sun, 23 Jan 2011 10:30:00 -0800</pubDate>
      <comments>http://software.intel.com/en-us/articles/how-to-find-active-speech-level-audio-level-using-intel-ipp-function/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/how-to-find-active-speech-level-audio-level-using-intel-ipp-function/</guid>
      <category>Intel® C++ Compiler for Linux* Knowledge Base</category>
      <category>Intel® C++ Compiler for Mac OS X* Knowledge Base</category>
      <category>Intel® C++ Compiler for Windows* Knowledge Base</category>
      <category>Intel® Software Development Tool Suites for Intel® Atom™ Processor Knowledge Base</category>
      <category>Intel® Integrated Performance Primitives Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Parallel Building Blocks: Getting Started Tutorial and Hands-on Lab</title>
      <description><![CDATA[ <p>Please download and read <strong><a target="_blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/intelparallelstudio-evaluationguide-pbb.pdf ">Intel® Parallel Building Blocks: Getting Started Tutorial and Hands-on Lab</a></strong> before downloading these packages.</p> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-parallel-building-blocks-getting-started-tutorial-and-hands-on-lab/</link>
      <pubDate>Thu, 04 Nov 2010 21:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-parallel-building-blocks-getting-started-tutorial-and-hands-on-lab/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-parallel-building-blocks-getting-started-tutorial-and-hands-on-lab/</guid>
      <category>ISN General</category>
      <category>Intel® TBB</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
      <category>Intel® Array Building Blocks Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Cilk™ Plus – Monte Carlo Sample</title>
      <description><![CDATA[ <div id="art_pre_template">This is the Monte Carlo example associated with the "Intel® Cilk™ Plus – The Simplest Path to Parallelism" how-to article.  It shows a Monte Carlo algorithm implemented as serial loops, one using Intel Cilk Plus' cilk_for keyword to implement parallelism, one version using Intel Cilk Plus' array notations to allow vectorization for the SIMD instruction, and another version using both cilk_for and the array notations.  It demonstrates great performance with very little coding changes through both data-parallelism and task-parallelism.</div>
<div id="art_pre_template">Sources with Microsoft Visual Studio solution you can download <a href="http://software.intel.com/file/29946">here</a>.<br /><br />By installing or copying all or any part of the software components in this page, you agree to the terms of the <a href="http://software.intel.com/en-us/articles/intel-sample-source-code-license-agreement/">Intel Sample Source Code License Agreement</a>.
<p> </p>
</div>
<table cellpadding="5" cellspacing="0" rules="none" border="1">
<tbody>
<tr>
<th align="left" valign="middle" >Optimization Notice</th>
</tr>
<tr bgcolor="#ccecff">
<td>
<p>Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.</p>
<p align="right">Notice revision #20110804</p>
</td>
</tr>
</tbody>
</table> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-cilk-plus-monte-carlo-sample/</link>
      <pubDate>Sun, 12 Sep 2010 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-cilk-plus-monte-carlo-sample/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-cilk-plus-monte-carlo-sample/</guid>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>Accelerate Your Application via IPP Image Processing in Parallel Studio - C code vs. IPP Resize</title>
      <description><![CDATA[ <p align="left"><strong>Summary</strong><br />Intel®<strong> </strong>Parallel Studio 2011 release recently. IPP as one key component of Intel®<strong> </strong>Parallel Composer provide user a easy and faster way to accelarate digital application. This article shows how to employ IPP image processing function to develop parallel ready application and provide a sample to shows the performance difference between IPP and general C code on resizing image, which is wide-used functionality in image processing field. Test show that the IPP function can run 44x faster than corresponding C code. If enabling parallel, the speed up will high 50x on Core 2 Quad 2.66GHz machine. <br /><br /><a href="http://software.intel.com/file/29998"><strong>Attached</strong></a> is the sample project, one Parallel Composer 2011 project in MicroSoft Visual Studio 2005 IDE. <br />Some developers may install Intel Parallel Composer with Microsoft Visual Studio 2010. <a href="http://software.intel.com/file/32831"><strong>Here</strong></a> is the project. <br /><b><br />How to build the Sample</b></p>
<p>1. Build system requirement</p>
<p>Software:<br />•   <a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-for-windows-compiling-and-linking-with-microsoft-visual-c-and-intel-c-compilers/#10#10">Intel Parallel Studio 2011 and Microsoft* Visual Studio 2005 and later</a><br />•   (optional)  install static ipp library separately from http://software.intel.com/en-us/articles/intel-ipp-static-libraries/ <b></b></p>
<p>Hardware:  The latest dual-core/Quad Core machine with Windows xp/Windows Vista/Windows 7</p>
<p>2. Download and Unzip the Resize_Image_PS_VS2005.zip to a directory, let's name &lt;WorkDIR&gt;</p>
<p>3. Go to &lt;WorkDIR&gt; and double click the Resize Image.sln.  The msvc2005 IDE will prompt automatically.</p>
<p>4. From the <b>main toolbar</b> select <b>Project&gt;&gt;</b> <b>Intel Parallel Composer 2011 »</b> <b>Select Build Component.</b></p>
<p>(or right-click the Project in Solution Explorer) , check <b>Use IPP. </b>click OK<b></b></p>
<p>5. Then build the application, from the <b>main toolbar</b> select<strong> Build &gt;&gt; Build solution<br /></strong><br />Please see the build details in<strong>  </strong><a href="http://software.intel.com/en-us/articles/use-intel-ipp-in-intel-parallel-composer/"><strong>Use Intel IPP in Intel® Parallel Composer</strong></a></p>
<p><b>How to run the application</b> </p>
<p>1. Run the application<br />From the <strong>main toolbar</strong>, select <b>Debug</b> &gt;&gt;<strong> Start Without Debugging. </strong>The application windows start, Click Open File, Select LennaC1.bmp <br /><strong><img src="http://software.intel.com/file/29994" alt="ReadLenna.JPG" title="ReadLenna.JPG" /></strong></p>
<p>2. click menu "Process =&gt; Resize image" to Resize the image. <br /> Enter the zoom factor in horizontal (x) and vertical (y) directory in Resize dialog box.  Click OK  <img src="http://software.intel.com/file/29995" alt="Process.JPG" title="Process.JPG" /></p>
<p>3: Click lennC1.bmp and repeat step 2 again, make sure click button USE_IPP. Then get the below image  <strong><img src="http://software.intel.com/file/29997" alt="result1.JPG" title="result1.JPG" /></strong></p>
<p><b>IPP Function Adoption: <br /></b>Assume the sample is the application we want to improve the performance via IPP function.  <br />1.  Find the c code resize image function in RESIZE.cpp</p>
<p>unsigned long C_Code_Resize(unsigned char * src, int srcWidth, int srcHeight,   int srcStep, unsigned char* dst, int dstWidth, int dstHeight, int dstStep, double m_zoom_x, double m_zoom_y, int interpolation)</p>
<p> It is called by function ProcessImage(CSampleDoc *pSrc) in ippiAddC.cpp<br /><br />2. Check ipp manual ippiman.pdf and find the function ippiResizeSqrPixel have same functionality.  Then replace the C function with IPP function.   <br />Declare a similiar function in RESIZE.cpp<br />unsigned long IPP_Resize( void* src, int srcWidth, int srcHeight,int srcStep,  void* dst,  int dstWidth, int dstHeight, int dstStep, double m_nzoom_x, double m_nzoom_y, int interpolation)</p>
<p align="left"> And call it in ProcessImage(CSampleDoc *pSrc) in ippiAddC.cpp instead of call C_Code_Resize().  (In order to compare the performance, we keep the c function call here.)</p>
<p> if (m_USE_IPP)<br />{<br />             ippStaticInit();<br />       //---- perform IPP Funtion Code to rotate a image  -----//<br />         run_time = IPP_Resize(pSrc-&gt;DataPtr(),pSrc-&gt;Width(),pSrc-&gt;Height(),pSrc-&gt;Step(),(Ipp8u*)pDst-&gt;DataPtr(),        pDst-&gt;Width(),pDst-&gt;Height(),pDst-&gt;Step(),m_zoom_x,m_zoom_y,m_Interpolation);<br />}<br />else{         //---- perform C Code to rotate a image  -----//<br />         run_time = C_Code_Resize((unsigned char *)pSrc-&gt;DataPtr(),pSrc-&gt;Width(),<br />         pSrc-&gt;Height(),pSrc-&gt;Step(), (unsigned char *)pDst-&gt;DataPtr(), pDst-&gt;Width(),pDst-&gt;Height(),pDst-&gt;Step(),m_zoom_x,m_zoom_y,m_Interpolation);<br />}     <br /><br />3. Write the IPP code to replace the C code.  The table show the original C code and the IPP code </p>
<p>
<table width="588" cellpadding="0" cellspacing="0" border="1">
<tbody>
<tr>
<td width="284" valign="top">
<p>Tthe C code</p>
</td>
<td width="304" valign="top">
<p>The IPP code</p>
</td>
</tr>
<tr>
<td width="284" valign="top">
<p>unsigned long C_Code_Resize(unsigned char * src, int srcWidth, int srcHeight,int srcStep, unsigned char* dst, int dstWidth, int dstHeight, int dstStep, double m_zoom_x, double m_zoom_y, int interpolation)</p>
<p align="left">{//---------- Perform 1 order linear ---<br />     //define record time variable<br />     unsigned long start_clock,stop_clock;    start_clock = RUNTIME;</p>
<p align="left">     const unsigned char *tmpSrc;<br />    unsigned char *tmpRef;<br />    int width = srcWidth;<br />    int height = srcHeight;<br />    double xInv = 1.0 /  m_zoom_x;<br />    double yInv = 1.0 /  m_zoom_y;</p>
<p align="left">    int colInd, rowInd;<br />    int i, j, xSrc0, xSrc1, ySrc0, ySrc1, wdroi, hdroi;<br />    int idxl, idyt, icol, jrow;<br />    double row, col;<br />    double y1, y2, y3, y4, v, v1, v2, tempV,tempV2;</p>
<p align="left">     idxl=0;<br />     idyt=0; <br />    wdroi = dstWidth;<br />    hdroi = dstHeight;</p>
<p align="left">     tmpSrc = src;<br />for(int kloop=0;kloop&lt;LOOP;kloop++) </p>
<p align="left">{  <br />  tmpRef = dst ;<br />    for (j = 0, jrow = idyt; j &lt; hdroi; j++, jrow++) {         row = (jrow + 0.5) * yInv - 0.5;</p>
<p align="left">        rowInd = (int)floor(row);<br />        ySrc0 = ts_iGetCoord_vs(rowInd, rowInd,  0, srcHeight, srcHeight);<br />        ySrc1 = ts_iGetCoord_vs(rowInd, rowInd + 1, 0, srcHeight, srcHeight);<br />        for (i = 0, icol = idxl; i &lt; wdroi; i++, icol++) { <br />            col = (icol + 0.5) * xInv - 0.5;<br />            colInd = (int)floor(col);<br />            xSrc0 = ts_iGetCoord_vs(colInd, colInd,   0, srcWidth, srcWidth);<br />            xSrc1 = ts_iGetCoord_vs(colInd, colInd + 1, 0, srcWidth, srcWidth);<br />            y1 = (double)tmpSrc[ySrc0 * srcStep + xSrc0];<br />            y2 = (double)tmpSrc[ySrc0 * srcStep + xSrc1];<br />            y3 = (double)tmpSrc[ySrc1 * srcStep + xSrc0];<br />            y4 = (double)tmpSrc[ySrc1 * srcStep + xSrc1];  <br /> ts_iLinearCalcSP_vs(col + 0.5, colInd + 0.5, colInd + 1.5, y1, y2, &amp;v1);            ts_iLinearCalcSP_vs(col + 0.5, colInd + 0.5, colInd + 1.5, y3, y4, &amp;v2);<br />ts_iLinearCalcSP_vs(row + 0.5, rowInd + 0.5, rowInd + 1.5, v1, v2, &amp;v);<br />              //(ts_isaturate_vs(v);<br />            tempV = (int)(v + EXP + 0.5);             tmpRef[i] =(unsigned char)((tempV &gt; 255) ? 255 : (tempV &lt; 0) ? 0 : tempV);<br />        }<br />        tmpRef += dstStep;<br />  }  <br />}</p>
<p align="left">     stop_clock = RUNTIME;</p>
<p align="left">     int mhz;</p>
<p align="left">    ippGetCpuFreqMhz(&amp;mhz);</p>
<p align="left">     return (stop_clock - start_clock)/mhz/LOOP;</p>
<p>}</p>
</td>
<td width="304" valign="top">
<p align="left">unsigned long IPP_Resize(void* src, int srcWidth, int srcHeight,int srcStep,  void* dst,  int dstWidth, int dstHeight, int dstStep,   double m_nzoom_x, double m_nzoom_y, int interpolation)</p>
<p align="left">  {</p>
<p align="left">      //   define record time variable<br />    unsigned long start_clock,stop_clock;     start_clock= RUNTIME;</p>
<p align="left"> // define IPP function parameter</p>
<p align="left">     IppiRect srcRoi = {0,0, srcWidth, srcHeight};</p>
<p align="left">     IppiRect dstRoi={0,0, dstWidth,dstHeight};</p>
<p align="left"> </p>
<p align="left">     IppiSize srcSize = {srcWidth, srcHeight};</p>
<p align="left">    IppiSize dstSize = {dstWidth, dstHeight};</p>
<p align="left"> </p>
<p align="left">     int BufferSize;</p>
<p align="left">     ippiResizeGetBufSize(srcRoi, dstRoi, 1, interpolation, &amp;BufferSize);</p>
<p align="left">     Ipp8u* pBuffer=ippsMalloc_8u(BufferSize);</p>
<p align="left"> <br /><br />     for(int i=0;i&lt;LOOP;i++)    </p>
<p align="left">     //---------- Perform IPP function:ippiResizeSqrPixel_8u_C1R  -------------------------------------------//</p>
<p align="left">     ippiResizeSqrPixel_8u_C1R((Ipp8u*)src, srcSize, srcStep, srcRoi, (Ipp8u*)dst, dstStep, dstRoi, m_nzoom_x,m_nzoom_y,0, 0, interpolation, pBuffer);</p>
<p align="left">    ippsFree(pBuffer);<br />    stop_clock = RUNTIME;<br />      int mhz;<br />    ippGetCpuFreqMhz(&amp;mhz);<br />     return (stop_clock - start_clock)/mhz/LOOP;</p>
</td>
</tr>
</tbody>
</table>
</p>
<p> </p>
<p><b>Performance Gain</b> </p>
<p>On one test machine (core 2 Quad 2.66GHz), as the result image show that the performance gain is 15654/353=<strong>44x</strong>.</p>
<p>The test is linking serial IPP static library.  As the ippiResize is threaded in dynamic library and threaded IPP static library. If enable the multithread, the performance gain will be more than <strong>50x</strong> (depends on the core numbers and image size).<br /><br /><strong>Conclusion<br /></strong>Intel® Parallel Studio 2011 provide developer a first suit of tool for easy developing parallel application on multi-core platform. IPP is part of key component of Intel® Parallel Studio. It provide over thousands highly-optimizated functions that offer the support for for developing high performance digital media application. This article describes a brief way to adopt IPP function instead of source code via Parallel Studio Project and gain over<strong> 40x</strong> performance speed up outright.  </p>
<p>
<table cellpadding="5" cellspacing="0" rules="none" border="1">
<tbody>
<tr>
<th align="left" valign="middle" >Optimization Notice</th>
</tr>
<tr bgcolor="#ccecff">
<td>
<p>Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.</p>
<p align="right">Notice revision #20110804</p>
</td>
</tr>
</tbody>
</table>
</p> ]]></description>
      <link>http://software.intel.com/en-us/articles/accelerate-your-application-via-ipp-image-processing-in-parallel-studio-c-code-vs-ipp-resize/</link>
      <pubDate>Sun, 29 Aug 2010 09:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/accelerate-your-application-via-ipp-image-processing-in-parallel-studio-c-code-vs-ipp-resize/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/accelerate-your-application-via-ipp-image-processing-in-parallel-studio-c-code-vs-ipp-resize/</guid>
      <category>Intel® Integrated Performance Primitives Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>Intel® Cilk™ Plus - Black-Scholes Sample</title>
      <description><![CDATA[ <div id="art_pre_template">This is the Black-Scholes example associated with the "Intel® Cilk™ Plus – The Simplest Path to Parallelism" how-to article. It shows a black-scholes call/put calculation implemented in a serial version, and one using Intel Cilk Plus' elemental functions to allow vectorization of a user-defined function. It demonstrates great performance with very little coding changes through both data-parallelism and task-parallelism. <span >Sources with Microsoft Visual Studio solution you can download <a href="http://software.intel.com/file/38136">here</a>.<br /><br />By installing or copying all or any part of the software components in this page, you agree to the terms of the <a href="http://software.intel.com/en-us/articles/intel-sample-source-code-license-agreement/">Intel Sample Source Code License Agreement</a>.</span></div>
<p> </p>
<table cellpadding="5" cellspacing="0" rules="none" border="1">
<tbody>
<tr>
<th align="left" valign="middle" >Optimization Notice</th>
</tr>
<tr bgcolor="#ccecff">
<td>
<p>Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.</p>
<p align="right">Notice revision #20110804</p>
</td>
</tr>
</tbody>
</table> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-cilk-plus-black-scholes-sample/</link>
      <pubDate>Wed, 07 Jul 2010 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-cilk-plus-black-scholes-sample/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-cilk-plus-black-scholes-sample/</guid>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
    <item>
      <title>Evaluation Guide Portal  from Intel</title>
      <description><![CDATA[ <link href="http://software.intel.com/sites/products/evaluation-guides/2011/css/main2.css" type="text/css" rel="stylesheet" />
<!-- JAVASCRIPT -->



<div id="mainContainer">
<div id="navigation">
<ul>
<!-- INTEL SOFTWARE DEVELOPMENT PRODUCTS NAV --><!-- 						Uses background images that switch on hover.  They can be found in   2011/img/content/.  The images are specified in the CSS, starting at '#mainContainer #navigation ul li.intel' 					-->
<li class="intel"><a href="http://software.intel.com/en-us/intel-sdp-home/">Intel Software Development Products</a></li>
<li class="home"><a href="http://software.intel.com/en-us/intel-sdp-home/">Home</a></li>
<li class="products"><a href="http://software.intel.com/en-us/articles/intel-sdp-products/">Products</a></li>
<li class="news"><a href="http://software.intel.com/en-us/articles/intel-sdp-news/">News &amp; Events</a></li>
<li class="resources"><a href="http://software.intel.com/en-us/articles/intel-sdp-resources/">Resources</a></li>
<li class="support"><a href="http://software.intel.com/en-us/articles/intel-software-developer-support/">Support</a></li>
<li class="store"><a href="http://software.intel.comttp://software.intel.com/en-us/articles/buy-or-renew/">Store</a></li>
</ul>
</div>
<table cellspacing="0">
<tbody>
<tr>
<td>
<div id="mainHeader"><!-- MAIN HEADER --><!-- Background image is specified in CSS at '#mainContainer #mainHeader h1' 							-->
<h1>Intel® Software Development Products: Quick Evaluation Guides for Serial and Parallel Apps</h1>
</div>
</td>
</tr>
</tbody>
</table>
<div id="mainContent"><!-- FEATURE AREA (white background) -->
<div id="feature"><!-- COLUMN 1 - styles are specified in css starting at '#mainContainer #mainContent #feature #col1' -->
<div id="col1"><!-- HEADER -->
<h2>Boost performance and reliability today with Intel<sup >®</sup> all-in-one tool suites</h2>
<p>Intel<sup >®</sup> Parallel Studio and Intel<sup >®</sup> Parallel Studio XE deliver the compilers, libraries, and error-checking and profiling tools to create reliable, high-performance applications.</p>
<p>Intel Parallel Studio XE helps high-performance C/C++ and Fortran developers boost performance, code reliably, and scale forward. Intel Parallel Studio enables Microsoft Visual Studio* C/C++ developers to exploit multicore.</p>
<!-- ITALICIZED INSTRUCTIONS -->
<p id="instructions">Download the step-by-step guides and see how quickly you can improve your code by addressing a range of issues including memory leaks, performance bottlenecks, parallelism, and more.  Note that each guide requires the free 30-day trial of the software.</p>
</div>
<!-- COLUMN 2 - uses background image; styles are specified in css starting at '#mainContainer #mainContent #feature #col2' -->
<div id="col2"><a href="https://registrationcenter.intel.com/RegCenter/EvalForm.aspx?ProductID=1498">Intel® Parallel Studio: Download a free 30-day trial &gt;</a></div>
<!-- COLUMN 3 - uses background image; styles are specified in css starting at '#mainContainer #mainContent #feature #col3' -->
<div id="col3"><a href="http://software.intel.com/en-us/articles/intel-software-evaluation-center/">Intel® Parallel Studio XE: Download a free 30-day trial &gt;</a></div>
<br clear="all" /></div>
<!-- DOWNLOADS AREA (grey outline) -->
<div id="downloadsContainer"><!-- DOWNLOAD 1 -->
<div class="download alt">
<div class="col1">
<h3>Boost Performance</h3>
<p>In many cases, recompiling just one file can give you a major performance boost.</p>
</div>
<div class="col2"><span class="getGuide">Get the guide now </span>
<div class="link">
<div class="pdfIcon"><a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/intelparallelstudio-evaluationguide-boost-performance.pdf"><img src="http://software.intel.com/sites/products/evaluation-guides/2011/img/content/pdf_icon.png" /></a></div>
<a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/intelparallelstudio-evaluationguide-boost-performance.pdf">For Intel®<br />Parallel Studio &gt;</a></div>
</div>
<div class="col3">
<div class="link">
<div class="pdfIcon"><a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/studioxe-evalguide-boost-performance.pdf"><img src="http://software.intel.com/sites/products/evaluation-guides/2011/img/content/pdf_icon.png" /></a></div>
<a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/studioxe-evalguide-boost-performance.pdf">For Intel®<br />Parallel Studio XE &gt;</a></div>
</div>
</div>
<!-- DOWNLOAD 2 -->
<div class="download">
<div class="col1">
<h3>Add Parallelism</h3>
<p>Easily apply a <i>parallel_for</i> to a <i>conforming for</i> loop for a significant performance increase—even without further tuning.</p>
</div>
<div class="col2"><span class="getGuide">Get the guide now </span>
<div class="link">
<div class="pdfIcon"><a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/intelparallelstudio-evaluationguide-add-parallelsim.pdf"><img src="http://software.intel.com/sites/products/evaluation-guides/2011/img/content/pdf_icon.png" /></a></div>
<a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/intelparallelstudio-evaluationguide-add-parallelsim.pdf">For Intel®<br />Parallel Studio &gt;</a></div>
</div>
<div class="col3">
<div class="link">
<div class="pdfIcon"><a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/studioxe-evalguide-add-parallelism.pdf"><img src="http://software.intel.com/sites/products/evaluation-guides/2011/img/content/pdf_icon.png" /></a></div>
<a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/studioxe-evalguide-add-parallelism.pdf">For Intel®<br />Parallel Studio XE &gt;</a></div>
</div>
</div>
<!-- DOWNLOAD 3 -->
<div class="download alt">
<div class="col1">
<h3>Eliminate Memory Errors</h3>
<p>Find memory leaks and threading errors before they happen at any point in your development cycle.</p>
</div>
<div class="col2"><span class="getGuide">Get the guide now </span>
<div class="link">
<div class="pdfIcon"><a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/intelparallelstudio-evaluationguide-memory-errors.pdf"><img src="http://software.intel.com/sites/products/evaluation-guides/2011/img/content/pdf_icon.png" /></a></div>
<a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/intelparallelstudio-evaluationguide-memory-errors.pdf">For Intel®<br />Parallel Studio &gt;</a></div>
</div>
<div class="col3">
<div class="link">
<div class="pdfIcon"><a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/studioxe-evalguide-remove-memory-errors.pdf"><img src="http://software.intel.com/sites/products/evaluation-guides/2011/img/content/pdf_icon.png" /></a></div>
<a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/studioxe-evalguide-remove-memory-errors.pdf">For Intel®<br />Parallel Studio XE &gt;</a></div>
</div>
</div>
<!-- DOWNLOAD 4 -->
<div class="download">
<div class="col1">
<h3>Eliminate Threading Errors</h3>
<p>Find threading errors like data races and deadlocks which can cause crashes and application hangs.</p>
</div>
<div class="col2"></div>
<div class="col3">
<div class="link">
<div class="pdfIcon"><a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/studioxe-evalguide-remove-memory-errors.pdf"><img src="http://software.intel.com/sites/products/evaluation-guides/2011/img/content/pdf_icon.png" /></a></div>
<a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/studioxe-evalguide-remove-threading-errors.pdf">For Intel®<br />Parallel Studio XE &gt;</a></div>
</div>
</div>
<!-- DOWNLOAD 5 -->
<div class="download alt">
<div class="col1">
<h3>Resolve Resource Leaks</h3>
<p>Identify, analyze, and resolve resource errors in serial or parallel programs.</p>
</div>
<div class="col2"><span class="getGuide">Get the guide now </span>
<div class="link">
<div class="pdfIcon"><a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/intelparallelstudio-evaluationguide-resolve-resource-leaks.pdf"><img src="http://software.intel.com/sites/products/evaluation-guides/2011/img/content/pdf_icon.png" /></a></div>
<a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/intelparallelstudio-evaluationguide-resolve-resource-leaks.pdf">For Intel®<br />Parallel Studio &gt;</a></div>
</div>
<div class="col3">
<div class="link">
<div class="pdfIcon"><a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/studioxe-evalguide-resolve-resource-leaks.pdf"><img src="http://software.intel.com/sites/products/evaluation-guides/2011/img/content/pdf_icon.png" /></a></div>
<a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/studioxe-evalguide-resolve-resource-leaks.pdf">For Intel®<br />Parallel Studio XE &gt;</a></div>
</div>
</div>
<!-- DOWNLOAD 6 -->
<div class="download">
<div class="col1">
<h3>Improve C++ Code Quality <br />with Static Security Analysis (SSA)</h3>
<p>Identify errors and security weaknesses through deep analysis of C++ source code.</p>
</div>
<div class="col2"></div>
<!--  							If this block contains a 'getGuide' element, add the class 'hasGetGuide' 						  -->
<div class="col3 hasGetGuide"><span class="getGuide">Get the guide now </span>
<div class="link">
<div class="pdfIcon"><a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/studioxe-evalguide-SSA-with_C++_020812.pdf"><img src="http://software.intel.com/sites/products/evaluation-guides/2011/img/content/pdf_icon.png" /></a></div>
<a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/studioxe-evalguide-SSA-with_C++_020812.pdf">For Intel®<br />Parallel Studio XE &gt;</a></div>
</div>
</div>
<!-- DOWNLOAD 7 -->
<div class="download alt">
<div class="col1">
<h3>Improve Fortran Code Quality <br />with Static Security Analysis (SSA)</h3>
<p>Identify errors and security weaknesses through deep analysis of Fortran source code.</p>
</div>
<div class="col2"></div>
<div class="col3"><span class="getGuide">Get the guide now </span>
<div class="link">
<div class="pdfIcon"><a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/studioxe-evalguide-SSA-with_Fortran_020812.pdf"><img src="http://software.intel.com/sites/products/evaluation-guides/2011/img/content/pdf_icon.png" /></a></div>
<a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/studioxe-evalguide-SSA-with_Fortran_020812.pdf">For Intel®<br />Parallel Studio XE&gt;</a></div>
</div>
</div>
<!-- DOWNLOAD 8 -->
<div class="download">
<div class="col1">
<h3>Intel<sup >®</sup> Cilk™ Plus</h3>
<p>Intel Cilk Plus adds simple language extensions to express data and task parallelism to the C and C++ language implemented by the Intel<sup >®</sup> C++ Compiler, creating a simple path to parallelism.</p>
</div>
<div class="col2"><span class="getGuide">Get the guide now </span>
<div class="link">
<div class="pdfIcon"><a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/intelparallelstudio-evaluationguide-cilk-plus.pdf"><img src="http://software.intel.com/sites/products/evaluation-guides/2011/img/content/pdf_icon.png" /></a></div>
<a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/intelparallelstudio-evaluationguide-cilk-plus.pdf">For Intel®<br />Parallel Studio &gt;</a></div>
</div>
</div>
<!-- DOWNLOAD 9 -->
<div class="download alt">
<div class="col1">
<h3>Model Parallelism</h3>
<p>Model the parallelization of your serial application using Intel<sup >®</sup> Parallel Advisor.</p>
</div>
<div class="col2"><span class="getGuide">Get the guide now </span>
<div class="link">
<div class="pdfIcon"><a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/intelparallelstudio-evaluationguide-model-parallelism.pdf"><img src="http://software.intel.com/sites/products/evaluation-guides/2011/img/content/pdf_icon.png" /></a></div>
<a target="blank" href="http://software.intel.com/sites/products/evaluation-guides/docs/intelparallelstudio-evaluationguide-model-parallelism.pdf">For Intel®<br />Parallel Studio &gt;</a></div>
</div>
</div>
</div>
</div>
</div> ]]></description>
      <link>http://software.intel.com/en-us/articles/evaluation-guides/</link>
      <pubDate>Sun, 09 May 2010 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/evaluation-guides/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/evaluation-guides/</guid>
      <category>Software Products General</category>
      <category>ISN General</category>
      <category>Intel® Parallel Amplifier Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
      <category>Intel® Parallel Inspector Knowledge Base</category>
    </item>
    <item>
      <title>Hotspot-Recompile - Quickly Improve Application Performance</title>
      <description><![CDATA[ <br />
<div id="art_pre_template">This is the sample code described in the video:  <a href="http://software.intel.com/en-us/videos/hotspot-recompile-pisample/.  It is a is">http://software.intel.com/en-us/videos/hotspot-recompile-pisample/.  It </a>simply computes the value of pi over several million iterations.  It is intended to show how to quickly use Intel(r) Parallel Amplifier to find the hotspot file, the file in which the biggest performance bottleneck function(s) is found.  Then, it shows how to configure the Microsoft Visual Studio project to only recompile that one file with Intel(r) Parallel Composer to optimize it.  Doing so results in about an 80% performance boost, without having to rebuild the whole application. <br /><br />By installing or copying all or any part of the software components in this page, you agree to the terms of the <a href="http://software.intel.com/en-us/articles/intel-sample-source-code-license-agreement/">Intel Sample Source Code License Agreement.</a></div>
<br />
<table cellpadding="5" cellspacing="0" rules="none" border="1">
<tbody>
<tr>
<th align="left" valign="middle" >Optimization Notice</th>
</tr>
<tr bgcolor="#ccecff">
<td>
<p>Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.</p>
<p align="right">Notice revision #20110804</p>
</td>
</tr>
</tbody>
</table> ]]></description>
      <link>http://software.intel.com/en-us/articles/hotspot-recompile-application-performance/</link>
      <pubDate>Wed, 14 Apr 2010 00:00:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/hotspot-recompile-application-performance/#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/hotspot-recompile-application-performance/</guid>
      <category>ISN General</category>
      <category>Intel® Parallel Amplifier Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
  </channel></rss>
