<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated on Wed, 25 Nov 2009 10:12:06 -0800 -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <atom:link href="http://software.intel.com/en-us/articles/intel-ipp-kb/type/tips-and-techniques/feed/" rel="self" type="application/rss+xml" />
    <title>Intel Software Network articles feed</title>
    <link>http://software.intel.com/en-us/articles/intel-ipp-kb/tips-and-techniques/</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Simplified Link Instructions for the IPP Library</title>
      <description><![CDATA[ <p><strong>IPP Link Problem:<br /></strong>Link errors, like the dreaded <em>unresolved external symbol</em> error, keep cropping up and you cannot figure out which IPP lib files should be part of your link list when building your IPP application.</p>
<p><strong>Solution:<br /></strong>By default, the linker only includes, or extracts, those functions, or library members, that your application requests. In this case, it is perfectly acceptable to list ALL the IPP lib files in your link list. Using this approach can significantly simplify your build process bookkeeping. (Caution, a few rules do still apply.)</p>
<p>The IPP lib file link lists shown below should work for building your IPP application. <em>This KB article is based on the v6.1.1 IPP library distribution, version 6.1 update 1 (v6.1.1.xxx).</em></p>
<p>The link lists below assume a Windows Visual Studio build environment. The basic idea also applies to Windows and Linux makefiles or scripted build environments. For the Linux OS and other operating system build environments you will need to change the extension of your lib filenames to match those for your environment.</p>
<p><strong>- Static Link (thread-safe model):</strong></p>
<blockquote>
<p>ippacemerged.lib ippccemerged.lib ippchemerged.lib ippcvemerged.lib ippdcemerged.lib ippdiemerged.lib ippgenemerged.lib ippiemerged.lib ippjemerged.lib ippmemerged.lib ippremerged.lib ippscemerged.lib ippsemerged.lib ippsremerged.lib ippvcemerged.lib ippvmemerged.lib ippacmerged.lib ippccmerged.lib ippchmerged.lib ippcvmerged.lib ippdcmerged.lib ippdimerged.lib ippgenmerged.lib ippimerged.lib ippjmerged.lib ipprmerged.lib ippmmerged.lib ippscmerged.lib ippsmerged.lib ippsrmerged.lib ippvcmerged.lib ippvmmerged.lib ippcore.lib</p>
</blockquote>
<p><strong>Note:</strong> <i>These library files are located in the lib subdirectory in your IPP install directory. The “thread-safe” model means these libraries are safe to use within a multi-threaded application, even though this version of the library is not multi-threaded.</i></p>
<p><strong>- Static Link (multi-threaded model):</strong></p>
<blockquote>
<p>ippacemerged.lib ippccemerged.lib ippchemerged.lib ippcvemerged.lib ippdcemerged.lib ippdiemerged.lib ippgenemerged.lib ippiemerged.lib ippjemerged.lib ippmemerged.lib ippremerged.lib ippscemerged.lib ippsemerged.lib ippsremerged.lib ippvcemerged.lib ippvmemerged.lib ippacmerged_t.lib ippccmerged.lib ippchmerged_t.lib ippcvmerged_t.lib ippdcmerged_t.lib ippdimerged_t.lib ippgenmerged_t.lib ippimerged_t.lib ippjmerged_t.lib ippmmerged_t.lib ipprmerged_t.lib ippscmerged_t.lib ippsmerged_t.lib ippsrmerged_t.lib ippvcmerged_t.lib ippvmmerged_t.lib ippcore_t.lib <span style="color: #ff0000">libircmt.lib svml_dispmt.lib libmmt.lib libiomp5mt.lib</span></p>
</blockquote>
<p><strong>Note:</strong><i> <span style="color: #ff0000">library files in red</span> are Intel Compiler support files and are needed if you are NOT using the Intel compiler to compile and link your application. The equivalent files on a Linux system are named libirc, libsvml, libimf, and libiomp5. these libraries are required to satisfy Intel compiler optimizations and OpenMP calls used by the IPP library, because the IPP libraries are created using the Intel compiler.</i></p>
<p><strong>- Dynamic Link:</strong></p>
<blockquote>
<p>ippac.lib ippcc.lib ippch.lib ippcv.lib ippdc.lib ippdi.lib ippgen.lib ippi.lib ippj.lib ippm.lib ippr.lib ipps.lib ippsc.lib ippsr.lib ippvc.lib ippvm.lib ippcore.lib <span style="color: #ff0000">libiomp5md.lib</span></p>
</blockquote>
<p><strong>Note:</strong> <i><span style="color: #ff0000">libiomp5md.lib</span> is the Intel OpenMP library file and is used by the IPP libraries to implement multi-threading. The equivalent file is named libiomp5 on a Linux system. These files are located in the stublib directory on a Windows system and in the sharedlib directory on a Linux system. You are not required to use OpenMP in your application when you include this library file, but it is required by some IPP library functions when mult-threading is enabled (the default case). To disable OpenMP threading, within the dynamic libraries, see the ippSetNumThread() function.</i></p>
<p><b>IPP Cryptography Library<br /><span style="font-weight: normal">The IPP cryptography library files are not included in the above lists, since they are not part of the standard product. If you are using the IPP cryptography library you will need to add those library files to your link list. The crypto files are named ippcp*.</span></b></p>
<p><span style="font-weight: normal"><strong>About Link List Order<br /></strong></span>Thank you to my colleague Chao Yu who pointed out that the order of the link list is important for static libraries in a Linux environment, since many of the linkers used in this environment default to operating in a single-pass mode. In this case it is best to order the library files according to the following rule: <em>*emerged.a</em> first, followed by <em>*merged.a</em> and ending with <em>ippcore.a</em>. The lists above have been ordered to reflect that rule.</p>
<p>If you have problems with interdependencies between libraries causing link errors on a Linux system you may need to use the <em>-(</em> and -<em>)</em> options (or equivalent <em>--start-group</em> and <em>--end-group</em> options) with your Linux linker to force multi-pass behavior, at the expense of reduced linker performance.</p>
<p>Additionally, you can repeat the name of a library on the link list to resolve circular dependencies, without resorting to the <em>-(</em> and <em>-)</em> options; by listing a library file a second time after the archive that depends on that key library. The <em>nm</em> command can be used to list the object file names within a specific library archive so you can identify which library is needed to satisfy a missing dependency problem.</p>
<p><b>Additional Info<br /><span style="font-weight: normal">Obviously, you must also set your makefile or environment variables to point to the appropriate install directories. See the env and tools subdirectories for your IPP installation for more information or review the articles linked below.</span></b></p>
<p><a target="_blank" href="http://software.intel.com/en-us/articles/performance-tools-for-software-developers-using-intel-ipp-threaded-static-libraries/">Using Intel® IPP Threaded Static Libraries</a><br /><a target="_blank" href="http://software.intel.com/en-us/articles/building-a-windows-application-using-intel-ipp/">Building a Windows* Application Using Intel® IPP</a><br /><a target="_blank" 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/">Compiling and Linking with Microsoft* Visual C++* and Intel® C++ Compiler</a><br /><a target="_blank" href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-for-windows-lnk2001-unresolved-external-symbol-_ipp/">Error LNK2001: Unresolved External Symbol _ipp*</a><br /><a target="_blank" href="http://software.intel.com/en-us/articles/how-to-build-ipp-application/">How to Build an Intel IPP Application</a><br /><a target="_blank" href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-intel-ipp-linkage-models-quick-reference-guide/">Intel® IPP - Intel® IPP Linkage Models - Quick Reference Guide</a> <br /><a target="_blank" href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-library-dependencies-by-domain/">Intel® IPP- Library Dependencies by Domain</a> <br /><a target="_blank" href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-threading-openmp-faq/">Intel® IPP - Threading / OpenMP* FAQ</a></p> ]]></description>
      <link>http://software.intel.com/en-us/articles/simplified-link-instructions-for-the-ipp-library</link>
      <pubDate>Thu, 17 Sep 2009 17:26:56 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/simplified-link-instructions-for-the-ipp-library#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/simplified-link-instructions-for-the-ipp-library</guid>
      <category>Intel® Integrated Performance Primitives Knowledge Base</category>
    </item>
    <item>
      <title>Limiting the Number of Cores of Execution on a Windows System</title>
      <description><![CDATA[ <p><b class="sectionHeading">How to Limit the Number of Cores of Execution on a Windows Multicore System<br /></b></p>
<p><br /><span class="sectionBody"><em>If you have a Windows test machine with a large number of CPU cores that you wish to use for testing performance and compatibility with a lesser number of CPU cores you may be able to use that one machine to test several multicore scenarios. For example, an 8-core machine can be configured to restrict Windows from using all 8-cores, forcing it to use, for example, only 4, 2, or even one core in the machine. This technique can be used to more evenly compare system performance by varying the number of cores on the machine and to verify proper operation or scalability of your software for a variety of multicore configurations.<br /></em></span><b><br /><span class="sectionBody">Note:</span></b><span class="sectionBody"> You will have to modify your BOOT.INI file or Boot Configuration Data (BCD on Windows Vista) to setup a machine for this purpose.<br /><br />To restrict the number of CPU cores Windows will use on a multicore machine follow these instructions:<br /><br /><strong>1.)</strong> Determine how many logical CPUs are in your system. Do this by opening the following registry key:<br /><br />HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor<br /><br />There will be one subkey for each logical CPU. The precise number of logical CPUs depends on the number of cores in your processor(s) and whether or not those cores are using Hyper-Threading technology. For example, a four-core machine with Hyper-Threading technology can appear to have eight logical CPUs (two threads per core * four cores = eight logical CPUs or threads).<br /><br /><strong>2.)</strong> <strong>On a Windows XP system</strong>, edit the BOOT.INI file located in the root directory of your boot drive (usually C:).<br /><br />Find the line in the <b>[Operating Systems]</b> section that boots the Windows system you are using (on systems with multiple Windows boot partitions you must take care to identify the correct line). This line usually looks something like the following: <br /><br />multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP" /fastdetect<br /><br /><strong>3.)</strong> Add one (or more) lines with the /NUMPROC parameter to create a second boot option that limits Windows to the desired number of logical cores.<br /><br />For example assuming an eight logical CPU system (eight possible execution threads), you might want to add the following boot scenarios (new text is marked in <b>bold</b>): <br /><br />multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP" /fastdetect<br />multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP, <b>1 core</b>" /fastdetect </span><span class="sectionBody"><b>/NUMPROC=1<br /></b>multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP<b>, 2 cores</b>" /fastdetect <b>/NUMPROC=2</b><br />multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP<b>, 4 cores</b>" /fastdetect <b>/NUMPROC=4</b><br />multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP<b>, 6 cores</b>" /fastdetect <b>/NUMPROC=6</b><br /><br />This configuration would allow you, at boot time, to choose to boot Windows in 1-threads, 2-threads, 4-threads, 6-threads and "all-threads" modes. Your Windows configuration is identical other than the number of execution threads available.<br /></span><b><br /><span class="sectionBody">Note:</span></b><span class="sectionBody"> you should modify each description so you can easily identify the specific boot options at boot time.<br /><br />For full details of all of the BOOT.INI options see the SysInternals website (now part of Microsoft) at:<br /></span><a target="_blank" href="http://www.microsoft.com/technet/sysinternals/information/bootini.mspx" class="sectionBody">http://www.microsoft.com/technet/sysinternals/information/bootini.mspx</a><br /><br /><span class="sectionBody"><strong>To configure your Windows Vista system </strong>to include a second boot option you will need a BCD editor. For example, you can use VistaBootPRO (</span><a target="_blank" href="http://www.pro-networks.org/" class="sectionBody">www.pro-networks.org</a><span class="sectionBody">) to create and name additional boot entries in your Vista BCD and then use the Microsoft msconfig tool to configure each of your boot options. <br /><br />-- Configure the number of threads with msconfig.<br />-- Use VistaBootPRO to create and name those boot options.<br /><br />Using msconfig seems to work better than VistaBootPRO to configure boot options. VistaBootPRO is easier to use to create additional BCD boot entries.<br /></span></p> ]]></description>
      <link>http://software.intel.com/en-us/articles/limiting-the-number-of-cores-of-execution-on-a-windows-system</link>
      <pubDate>Fri, 07 Aug 2009 11:21:23 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/limiting-the-number-of-cores-of-execution-on-a-windows-system#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/limiting-the-number-of-cores-of-execution-on-a-windows-system</guid>
      <category>Intel® Integrated Performance Primitives Knowledge Base</category>
    </item>
    <item>
      <title>Setting H.264 encoding parameters in Intel IPP media processing samples</title>
      <description><![CDATA[ <br /><br />Intel® IPP media processing samples provide both encoding parameter files and H264EncoderParams class to allow users to set encoding parameters for H.264 encoders. <br /><br />UMC::H264EncoderParams class has method "ReadParamFile". Using this function, users can read H.264 the parameters from configuration text file. Please check \audio-video-codecs\codec\h264_enc\readme.htm to understand each field of H.263 parameter files. <br /><br />Users can also change UMC::H264EncoderParams class to change H.264 encoding parameters. To learn UMC::H264EncoderParams class members, please check UMC manual document (\audio-video-codecs\doc\umc-manual.pdf), Chapter 4, "Derived Classes", "UMC::H264VideoEncoder" part. <br /><br />Depending on the video content, some encoding parameters(e.g number of B frames, num_ref_frames, subblock split, Cabac setting) will impact the performance and quality on targeted bit rate. Users need to balance between speed and video quality according to their application requirement. <br /><br />The following are two example configuration files. One is target for encoding performance, and the other is for video qualities.<br /> ]]></description>
      <link>http://software.intel.com/en-us/articles/setting-h264-encoding-parameters-in-intel-ipp-media-processing-samples</link>
      <pubDate>Thu, 09 Jul 2009 20:13:29 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/setting-h264-encoding-parameters-in-intel-ipp-media-processing-samples#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/setting-h264-encoding-parameters-in-intel-ipp-media-processing-samples</guid>
      <category>Intel® Integrated Performance Primitives Knowledge Base</category>
    </item>
    <item>
      <title>(Intel® IPP) - image/matrix size and high performance</title>
      <description><![CDATA[ <!--CTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dt-->
<table border="0" cellpadding="0" cellspacing="15">
<tbody>
<tr>
<td class="bodycopy">
<p><strong>Image/Signal Processing -problem size</strong><br />The best image size for high performance image processing depends on the particular Intel® IPP function. Generally, Intel IPP image processing functions provide better performance for image sizes larger than <strong>32x32</strong>. Smaller images have overhead for the function call and parameter checking. Highest performance is usually achieved for image sizes <strong>320x240</strong>, <strong>640x480</strong> and larger.<br /><br />It is same for signal processing function, the performance will be better if the length of signal is larger than 32. <br /><strong><br />Small matrix<br /></strong>IPP provide small matrix operation functions in ippm.pdf, while it's sister library Math Kernel Library(MKL) also provide. <br />Unlike MKL, which is usually for engineering and scientific computation, ippm function are optimizated for small matrix. So the perfered size generally ranges from 3x3 to 20x20. <br /><br />For more information on image processing performance, please check the performance data distributed with the Intel IPP package in the t<strong>ools/perfsysdata</strong> directory (the data was removed since 6.1); review the files named <strong>ps_ippi*.csv</strong>. You can also run the Intel IPP Performance test tool ( <strong>perfsys</strong>) to measure the performance of each function on your local system. The <strong>perfsys</strong> tool is present in the t<strong>ools/perfsys</strong> directory. You can more about performance measurement in the document <a href="/en-us/articles/intel-integrated-performance-primitives-intel-ipp-using-the-performance-tool">Using the Performance Tool</a>.</p>
<p>If you have any questions regarding performance, please submit an issue through <a href="https://premier.intel.com/">Intel® Premier Support</a>.</p>
<p><strong>Operating System:</strong></p>
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td class="xs">Windows Server* 2003 Standard x64 Edition, Red Hat* Enterprise Linux 2.1, SUSE* Linux 9.1, SUSE* Linux Enterprise Server 8.0, SUSE* Linux Enterprise Server 9.0, Red Hat* Enterprise Linux 4.0, Windows* XP 64-Bit Edition, Windows* XP Professional, Red Hat* Linux 7.3, Red Hat* Linux 8.0, Windows Server* 2003, Red Hat* Linux 9.0, Red Hat* Enterprise Linux 3.0, SUSE* Linux* 8.2</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<table border="0" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td><img width="388" src="http://software.intel.com/file/6324" height="5" /></td>
</tr>
<tr>
<td height="10"> </td>
</tr>
</tbody>
</table> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-image-size-and-high-performance-image-processing</link>
      <pubDate>Wed, 24 Jun 2009 23:17:52 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-image-size-and-high-performance-image-processing#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-image-size-and-high-performance-image-processing</guid>
      <category>Intel® Integrated Performance Primitives Knowledge Base</category>
      <category>Intel® Math Kernel Library Knowledge Base</category>
    </item>
    <item>
      <title>Easy way to search IPP functions and Parameters- Using the IntelliSense* Capability</title>
      <description><![CDATA[ <p class="sectionBody" style="TEXT-ALIGN: justify"><em>IntelliSense</em> is a set of native features of the Microsoft Visual Studio* IDE that make language references easily accessible.<br />The user programming with Intel® IPP in the Microsoft* Visual Studio Code Editor can employ two IntelliSense features:<br /><em><br />  • Complete Word <br />  • Parameter Info<br /><br /><img title="textbox.bmp" src="http://software.intel.com/file/19717" alt="textbox.bmp" /><br /><br /></em><span class="sectionBody">For a software library, the <em>Complete Word </em>feature types or prompts for the rest of the name defined in the header file once the first few characters of the name are typed in your code.<br />Provided your C/C++ code contains the include statement with the appropriate Intel IPP header file, to complete the name of the function or named constant specified in the header file.<br /><br /></span>• Type the first few characters of the name (for example, ippsFFT).<br />• Press <strong>Alt+RIGHT ARROW </strong>or <strong>Ctrl+SPACEBAR</strong>. If you have typed enough characters to disambiguate the name, the rest of the<br />  name is typed automatically. Otherwise, the  pop-up list of the names specified in the header file opens as in figure-1.<br /> • Select the name from the list, if needed.<br /><br /><img title="figure-1.bmp" src="http://software.intel.com/file/19719" alt="figure-1.bmp" /></p>
<p style="TEXT-ALIGN: justify">The <em>Parameter Info </em>feature displays the parameter list for a function to give information on the number and types of parameters. Provided your C/C++ code contains the include statement with the appropriate Intel® IPP header file, to get the list of parameters of a function specified in the header file. </p>
<ul type="disc">
<li>Type the function name</li>
<li>Type the opening parenthesis</li>
<li>This makes the tooltip with the function API prototype pops up, and the current parameter in the API prototype is highlighted as in figure-2 </li>
</ul>
<p> <br /><img title="figure-2.bmp" src="http://software.intel.com/file/19720" alt="figure-2.bmp" /><br /><br /><br />More information about Intel IPP functions - <a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-documentation/" target="_blank">IPP Documentation web page</a>.</p> ]]></description>
      <link>http://software.intel.com/en-us/articles/using-the-intellisense-capability</link>
      <pubDate>Mon, 22 Jun 2009 23:13:00 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/using-the-intellisense-capability#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/using-the-intellisense-capability</guid>
      <category>Intel® Integrated Performance Primitives Knowledge Base</category>
    </item>
    <item>
      <title>Intel® IPP - Open Source Computer Vision Library (OpenCV) FAQ</title>
      <description><![CDATA[ <ul>
<li><a href="#1">How is Intel® IPP different from OpenCV?</a></li>
<li><a href="#2">Which Intel IPP functions are used in OpenCV?</a></li>
<li><a href="#3">How can I make OpenCV automatically call Intel IPP functions at run-time? and how to detect it?</a></li>
<li><a href="#4">How do I use both Intel IPP and OpenCV functions in my application?</a></li>
<li><a href="#5">What new functions have been added to the Intel IPP computer vision domain (ippCV)?</a></li>
<li><a href="#6">How do I get support for the OpenCV library?</a></li>
<li><a href="#7">How do I submit requests for computer vision functions to be supported in the Intel IPP?</a></li>
<li><a href="#8">How do I migrate from OpenCV to Intel IPP?</a></li>
</ul>
<p><br /><a name="1"></a><strong>How is Intel IPP different from OpenCV?</strong><br />In addition to computer vision, Intel IPP provides high performance low-level routines for audio, video, imaging, cryptography, speech recognition, signal processing and codecs. These functions are designed maximize application performance on Intel® processor-based workstations and servers. <br /><br /><br /><a name="2"></a><strong>Which Intel IPP functions are used in OpenCV?</strong><br />The OpenCV library is an open source library of computer vision functions. OpenCV functions are implemented in two ways: with or without Intel IPP function calls. In the first case, customers need to have the Intel IPP binaries installed in order to take advantage of the Intel IPP optimizations. In the second case, all the functionality is implemented in the OpenCV open source code. <br /><br /><br /><a name="3"></a><strong>How can I make OpenCV automatically call Intel IPP functions at run-time? How to detect it?</strong><br />OpenCV provides a transparent user interface to the Intel IPP by automatically loading the Intel IPP libraries at runtime if they are available. For Intel IPP versions 5.1 through 6.1, developers do not need to explicitly link with the Intel IPP libraries.<br /><br />If you are using Intel IPP version later than 6.1, depending on which OpenCV package you haveinstalled, you may need to check the source code to understand which version of the Intel IPP optimized libraries are automatically loaded. Follow these instructions:</p>
<ol>
<li>Open the file <strong>OpenCV\cxcore\src\<a href="http://downloadmirror.intel.com/15316/eng/cxswitcher.cpp">cxswitcher.cpp</a></strong>.  </li>
<li>Go to function <strong>cvUseOptimized</strong>.</li>
<li>Depending on your target system, you will need to modify lines numbers 551, 552, and 553. The numbers in quotes below indicate the Intel IPP versions that OpenCV will check for:</li>
<blockquote style="background-color:#FFFFFF;">551  static const char* ipp_sfx_ia32[] = {"-6.1", "-6.0", "-5.3", "-5.2", "-5.1", "", 0 };<br />552  static const char* ipp_sfx_ia64[] = { "64-6.1", "64-6.0", "64-5.3", "64-5.2", "64-5.1", "64", 0 };<br />553  static const char* ipp_sfx_em64t[] = { "em64t-6.1", "em64t-6.0", "em64t-5.3", "em64t-5.2", "em64t-5.1", "em64t", 0 };</blockquote>
<li>Make sure that the latest Intel IPP DLLs are on your system <strong>PATH</strong> so that they are dispatched at application runtime.</li>
<li>Here is small test code to detect if Intel IPP dlls are loaded by OpenCV automatically. </li>
</ol>
<p style="padding-left: 30px;">#include &lt;stdio.h&gt;<br />#pragma comment( lib, "highgui.lib" )<br />#pragma comment( lib, "cxcore.lib" )<br />int main(){   <br /><br />      int NumUploadedFunction = 0;<br />      NumUploadedFunction = cvUseOptimized(1);<br />      printf("\t NumUploadedFunction = %d \n\n", NumUploadedFunction);<br /><br />      const char* opencv_lib = 0;<br />      const char* add_modules = 0;<br />      cvGetModuleInfo(0, &amp;opencv_lib,&amp;add_modules);<br />      printf("\t opencv_lib = %s,\n\t add_modules = %s\n\n", opencv_lib,add_modules);<br /><br />    return 0;<br />}//_end_of_file_</p>
<p>      if IPP dll are loaded automatically, the output of detect code is like <br />      NumUploadedFunction = 144<br />      opencv_lib = cxcore: 1.0.0,<br />      add_modules = ippcv-6.1.dll, ippi-6.1.dll, ipps-6.1.dll, ippvm-6.1.dll, ippcc-6.1.dll,</p>
<br /><a name="4"></a><strong>How do I use both Intel IPP and OpenCV functions in my application?</strong><br />The OpenCV source code contains examples of how Intel IPP functions are used. Intel IPP performs operations directly on image buffers so you would need to pass pointers to those buffers to the Intel IPP along with corresponding information about the buffers such as image width and height. The Intel IPP and OpenCV function calls can be easily mixed in the same application. Here is an example:
<blockquote style="background-color:#FFFFFF;">// Let A, B and C be single-channel 8-bit images. <br />IplImage *A, *B, *C; <br />// Compute C = (A+B)/2 using an Intel IPP function call <br />IppiSize size = { A-&gt;width, A-&gt;height }; <br />ippiAdd_8u_C1RSfs( (Ipp8u*)A-&gt;imageData, A-&gt;widthStep, (Ipp8u*)B-&gt;imageData, B-&gt;widthStep, (Ipp8u*)C &gt;imageData, C-&gt;widthStep, size, 1 );</blockquote>
For more information, please check the <a href="http://prdownloads.sourceforge.net/opencvlibrary/ippocv.pdf?download">OpenCV project page</a>.<br /><br /><br /><a name="5"></a><strong>What new functions have been added to the Intel IPP computer vision domain (ippCV)?</strong><br />In addition to performance improvements, more than 100 functions have been added to the Intel IPP computer vision domain: 
<ul>
<li>16u data support for existing functions (arithmetic, statistical, Canny and Distance Transform)</li>
<li>Camera distortion correction (undistortion, generate matrices for ippi Remap function)</li>
<li>General pyramids (arbitrary rate and kernel are supported)</li>
<li>Optical Flow (pyramidal Lucas-Kanade algorithm, copy with subpixel precision)</li>
<li>Haar Classifier support (apply classifier, integral image, stddev for rectangle)</li>
</ul>
In addition, a computer vision sample for <a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-code-samples/">Face Detection</a> (as part of image-processing sample in Intel IPP 6.1) is available for Windows*.  A face detection demo is also included in UIC sample demo. <br /><br /><br /><a name="6"></a><strong>How do I get support for the OpenCV library?</strong><br />Please check the <a href="http://sourceforge.net/projects/opencvlibrary">OpenCV FAQ</a> for answers to common questions as well as information on where to submit bug reports. Please search for answers at and submit questions/bugs to the <a href="http://groups.yahoo.com/group/OpenCV/">OpenCV newsgroup</a>.<br /><br /><br /><a name="7"></a><strong>How do I submit requests for computer vision functions to be supported in the Intel IPP?</strong><br />Please submit your Intel IPP feature requests and problem reports to <a href="https://premier.intel.com/">Intel® Premier Support</a>. You can also participate in the <a target="_blank" href="http://software.intel.com/en-us/forums/intel-integrated-performance-primitives/">Intel IPP discussion forum</a>. <br /><br /><br /><br /><a name="8"></a><strong>How do I migrate from OpenCV to Intel IPP? <br /></strong>A substantial part of OpenCV functionality contains Intel IPP support. Almost all OpenCV functions that have Intel IPP support can be easily changed to direct Intel IPP function calls. You can check this by looking at the OpenCV source code. However, some OpenCV functions have no Intel IPP support; these mainly consist of functions that use complicated structures. There are two ways to get help in migrating these more complicated functions:<br />  <ol>
<li>Submit an issue to <a href="https://premier.intel.com/">Intel Premier Support</a> where support engineers can help you with Intel IPP function usage.</li>
<li>Start a discussion thread in the <a href="http://software.intel.com/en-us/forums/intel-integrated-performance-primitives">Intel IPP User Forum</a> and get help from Intel IPP engineers and the developer community.</li>
</ol>
<p>You can also refer to the Intel IPP <a href="http://www.intel.com/cd/software/products/asmo-na/eng/perflib/330610.htm">Face Detection sample code</a>, which illustrates how to use Intel IPP to apply a classifier using Haar-like features in face detection algorithm in a Windows* application.</p> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-open-source-computer-vision-library-opencv-faq</link>
      <pubDate>Mon, 15 Jun 2009 16:15:36 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-open-source-computer-vision-library-opencv-faq#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-open-source-computer-vision-library-opencv-faq</guid>
      <category>Intel® Integrated Performance Primitives Knowledge Base</category>
    </item>
    <item>
      <title>Intel® IPP for Mac OS* - How to link to the Intel® IPP for Mac OS* X libraries in application?</title>
      <description><![CDATA[ <!--CTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dt-->
<table border="0" cellspacing="15" cellpadding="0">
<tbody>
<tr>
<td class="bodycopy" style="text-align: justify;">
<p style="text-align: justify;">This document provides information on using Intel® IPP 6.x with Intel® C++ Compiler 11.x and GNU Compiler Collection (GCC) 4.0 in Xcode 2.4/3.0 and on the command line. In each case, the path to the Intel® IPP header files and libraries is added to the project settings or command line.</p>
<br />
<p style="text-align: justify;"><strong>Xcode 2.4/3.0</strong><br />For both dynamic and static linking, assume you are calling image processing function <span class="courier">ippiCopy_8u_C1R</span> from your source file.</p>
<ol>
<li>From the Xcode menu click <strong>Project » Edit Project Settings</strong>.</li>
<li>Select the <strong>Build</strong> tab.</li>
<li>Select the <strong>Header Search Paths</strong> field and type. 
<ul>
<li>/opt/intel/Compiler/11.x/0xx/Frameworks/ipp/Headers</li>
</ul>
</li>
<li>Select the <strong>Library Search Paths</strong> field and type. 
<ul>
<li><strong>/opt/intel/Compiler/11.x/0xx/Frameworks/ipp/Libraries</strong> (for dynamic linking) or</li>
<li><strong>/opt/intel/Compiler/11.x/0xx/Frameworks/ipp/lib </strong>(for static linking) <strong></strong></li>
</ul>
</li>
<li>Select the <strong>Other Linker Flags</strong> field and type in the linker flags for the libraries you wish to link to. 
<ul>
<li><span style="text-decoration: underline;">For dynamic linking:</span></li>
<li><strong>-lippi -lippcore -liomp5</strong></li>
</ul>
</li>
<li><span style="text-decoration: underline;">For static linking:</span> 
<ul>
<li><strong>-lippiemerged -lippimerged -lippsemerged -lippsmerged -lippcore</strong></li>
<li>If you have installed the Intel® compiler, <a href="http://software.intel.com/en-us/articles/intel-c-compiler-for-mac-os-selecting-the-intel-compiler-in-xcode-ide">read these instructions to select the Intel compiler in the Xcode IDE</a>.</li>
</ul>
</li>
</ol>
<p style="text-align: justify;"><strong>Note:</strong> If you are using dynamic linking then you need to add the path to the dynamic libraries to the system environment so that they are invoked at runtime.</p>
<ol>
<li>From the Xcode menu click <strong>Project » Edit active executable</strong>.</li>
<li>Select the <strong>Arguments</strong> tab.</li>
<li>Under <strong>Variables</strong> click the <strong>[ + ]</strong> button.</li>
<li>Under the <strong>Name</strong> field type <strong>DYLD_LIBRARY_PATH</strong>.</li>
<li>Under the <strong>Value</strong> field type <strong>/opt/intel/Compiler/11.x/0xx/Frameworks/ipp/Libraries</strong>.</li>
</ol>
<p><img title="DYLD_LIBRARY_PATH_SETTING.JPG" src="http://software.intel.com/file/19925" alt="DYLD_LIBRARY_PATH_SETTING.JPG" /></p>
<strong><br /></strong>
<p><strong>Command line or Makefile</strong></p>
<br />For both dynamic and static linking, assume you are calling image processing function <span class="courier">ippiCopy_8u_C1R</span> from source file test.c and set environment variable as below <br /><span class="courier"><br />IPPROOT = <strong>/opt/intel/Compiler/11.x/0xx/Frameworks/ipp</strong></span>
<p><em><span style="text-decoration: underline;"><strong>Dynamic Linking:</strong></span></em></p>
<p><strong>Intel C++ Compiler</strong><br /><span class="courier">icc test.c -I/$(IPPROOT)/Headers -L/$(IPPROOT)/Libraries -lippi -lippcor e -lguide -o test</span></p>
<p><strong>GCC</strong><br /><span class="courier">gcc test.c -I/$(IPPROOT)/Headers -L/$(IPPROOT)/Libraries -lippi -lippcore -lguide -o test</span></p>
<p><strong>Note:</strong> If you are using dynamic linking then you need to add the path to the dynamic libraries to the system environment so that they are invoked at runtime. You can do this from a terminal window by using the <span class="courier">source</span> command.</p>
<p><span style="text-decoration: underline;">32-bit:</span><span class="courier">source /$(IPPROOT)/Versions/6.x.x/ia32/tools/env/ippvars.sh</span></p>
<p><span style="text-decoration: underline;">64-bit:</span><span class="courier">source /$(IPPROOT)/Versions/6.x.x/em64t/tools/env/ippvarsemm64t.sh</span></p>
<p><em><span style="text-decoration: underline;"><strong>Static Linking:</strong></span></em></p>
<p><strong>Intel C++ Compiler</strong><br /><span class="courier">icc test.c -I/$(IPPROOT)/Headers -L/$(IPPROOT)/lib -lippiemerged -lippimerged -lippsemerged -lippsmerged /$(IPPROOT)/lib/libippcore.a -o test</span></p>
<p><strong>GCC</strong><br /><span class="courier">gcc test.c -I/$(IPPROOT)/Headers -L/$(IPPROOT)/lib -lippiemerged -lippimerged -lippsemerged -lippsmerged /$(IPPROOT)/lib/libippcore.a -o test</span></p>
<p><strong>Note:</strong> For the Intel® IPP for Mac OS* commercial package, the Intel® IPP static and dynamic libraries are installed in the different directory / <strong>Libraries and /lib</strong>. If both are found in the same directory, the standard linker used by Xcode* first chooses a dynamic library over a static library. and if you need to use static, please link to the static libraries by using the full path and library name as shown in the examples above.</p>
<p><strong>Operating System:</strong></p>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="xs">Mac OS*</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><img src="http://software.intel.com/file/6324" alt="" width="388" height="5" /></td>
</tr>
<tr>
<td height="10"> </td>
</tr>
</tbody>
</table> ]]></description>
      <link>http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-for-mac-os-how-to-link-to-the-intel-ipp-for-mac-os-x-libraries-in-application</link>
      <pubDate>Sun, 14 Jun 2009 22:23:32 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-for-mac-os-how-to-link-to-the-intel-ipp-for-mac-os-x-libraries-in-application#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-for-mac-os-how-to-link-to-the-intel-ipp-for-mac-os-x-libraries-in-application</guid>
      <category>Intel® C++ Compiler for Mac OS X* Knowledge Base</category>
      <category>Intel® Integrated Performance Primitives Knowledge Base</category>
    </item>
    <item>
      <title>Blt and gdi renders removed in IPP 6.1 UMC sample code</title>
      <description><![CDATA[ The blt and gdi renders have been removed in Intel IPP 6 Unified Media Classes (UMC) sample code. Users need to use DX render in the application. <br /><br />To run Intel IPP simpleplayer application, users need to specify the dx render if they need to display the decoded video in the screen. For example: <br /><br />&gt;simple_player.exe -vgdi testvideo.h264<br /><br />Users can also download the old video renders in Intel IPP 5.3 sample from <a href="http://software.intel.com/file/20139">attachment</a>. ]]></description>
      <link>http://software.intel.com/en-us/articles/blt-and-gdi-render-removed-in-ipp-61-umc-sample-code</link>
      <pubDate>Wed, 10 Jun 2009 00:33:33 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/blt-and-gdi-render-removed-in-ipp-61-umc-sample-code#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/blt-and-gdi-render-removed-in-ipp-61-umc-sample-code</guid>
      <category>Intel® IPP</category>
      <category>Intel® Integrated Performance Primitives Knowledge Base</category>
    </item>
    <item>
      <title>How to Build an Intel IPP Application </title>
      <description><![CDATA[ <p>Intel IPP provides both dynamic and static libraries on Windows*, Linux*, and Mac OS X*.  The information below explains how to build with and link to Intel IPP libraries in your application, based on different operating systems, development environments and compilers.<br /><br /><strong>Support Programing languages:<br /><br /></strong>C/C++ is the language for Intel IPP application programing.  In addition, Intel IPP can be used with different programming languages <a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-programming-languages-and-linux-development-environments/"><strong>- Programming languages and Linux* development environments</strong></a>. <a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-programming-languages-and-linux-development-environments/feed/" target="_blank"></a><br /><br /><strong>How to build with and link to Intel IPP:<br /></strong><br />
<table border="1" cellspacing="1" cellpadding="0">
<tbody>
<tr>
<td width="61" valign="top">
<p><strong>Type</strong></p>
</td>
<td width="107">
<p><strong> Category </strong><strong></strong></p>
</td>
<td width="457">
<p><strong>Description</strong><strong></strong></p>
</td>
</tr>
<tr>
<td rowspan="3" width="61">
<p align="center"><strong>OS</strong></p>
</td>
<td width="107">
<p><strong>Windows*</strong></p>
</td>
<td width="457">
<p>- <strong><a href="http://software.intel.com/en-us/articles/building-a-windows-application-using-intel-ipp/">Building a Windows* Application Using Intel® IPP</a> <a href="http://software.intel.com/en-us/articles/building-a-windows-application-using-intel-ipp/feed/" target="_blank"></a> </strong></p>
</td>
</tr>
<tr>
<td width="107">
<p><strong>Linux*</strong></p>
</td>
<td width="457">
<p>- <a href="http://software.intel.com/en-us/articles/how-to-build-ipp-application-in-linux-environment/"><strong>How to build IPP application in Linux environment</strong></a></p>
</td>
</tr>
<tr>
<td width="107">
<p><strong>Mac OS*</strong></p>
</td>
<td width="457">
<p><a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-for-mac-os-how-to-link-to-the-intel-ipp-for-mac-os-x-libraries-in-application/"><strong>- How to link to the Intel® IPP for Mac OS* X libraries in application?</strong></a> </p>
</td>
</tr>
<tr>
<td rowspan="2" width="61">
<p align="center"><strong>Compiler</strong></p>
</td>
<td width="107">
<p><strong>Microsoft* MSVC </strong></p>
</td>
<td width="457">
<p><strong>- <a href="http://software.intel.com/en-us/articles/using-ipp-in-msvc2008/">Calling Intel® IPP in MSVC 2008*(Microsoft Visual C++ 2008*)</a> </strong></p>
</td>
</tr>
<tr>
<td width="107">
<p><strong>Intel® Compiler, Intel® parallel Composer </strong><strong></strong></p>
</td>
<td width="457">
<p><strong>- <a href="http://software.intel.com/en-us/articles/compiling-and-linking-ipp-applications-with-intel-c-compilers/">Compiling and Linking Intel® IPP with Intel® C++ Compilers</a> <a href="http://software.intel.com/en-us/articles/compiling-and-linking-ipp-applications-with-intel-c-compilers/feed/" target="_blank"></a> </strong><strong><br /></strong><strong>- <a href="http://software.intel.com/en-us/articles/use-intel-ipp-in-intel-parallel-composer/">Use Intel IPP in Intel® Parallel Composer</a></strong></p>
</td>
</tr>
<tr>
<td width="61">
<p align="center"><strong>64bit</strong></p>
</td>
<td width="107">
<p><strong>Intel® 64  and IA64 </strong></p>
</td>
<td width="457">
<p><strong>-<a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-how-to-build-an-application-based-on-intel-ipp-for-intel-64-machine/"> How to build an application based on Intel® IPP for Intel® 64 machine</a> </strong><strong><br /></strong><strong><a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-how-to-build-an-application-based-on-intel-ipp-for-intel-64-machine/feed/" target="_blank"></a>- <a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-for-windows-building-an-intel-ipp-application-on-an-itanium-processor-based-system/">Building an Intel® IPP Application on an Itanium® Processor-based system</a></strong></p>
</td>
</tr>
</tbody>
</table>
</p>
<br /><strong>Find Which IPP Libraries Needed by Your Application:<br /></strong><br />- <a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-library-dependencies-by-domain/"><strong>Intel® IPP- Library dependencies by domain</strong></a> <br /><a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-library-dependencies-by-domain/feed/" target="_blank"></a>- <a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-for-windows-find-the-intel-ipp-libraries-needed-by-your-application/"><strong>Find the Intel® IPP Libraries Needed by Your Application</strong></a> <a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-for-windows-find-the-intel-ipp-libraries-needed-by-your-application/feed/" target="_blank"></a> <br />- <a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-intel-ipp-linkage-models-quick-reference-guide/"><strong>Intel® IPP - Intel® IPP linkage models - quick reference guide</strong></a> <br /><br /><br /><strong>Distribute and Deploy Your IPP Application:<br /></strong><br />- <a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-for-windows-deploying-applications-with-intel-ipp-dlls/"><strong>Deploying applications with Intel® IPP DLLs</strong></a> <br />- Redist.txt under &lt;ipp install directory&gt; defines all redistributiable Intel IPP files, based on the EULA<br /><br /><strong>Troubleshooting - Compile and Linking Errors:<br /><br />- <a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-for-windows-lnk2001-unresolved-external-symbol-_ipp/"><strong>Error LNK2001: Unresolved External Symbol _ipp*</strong></a> <a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-for-windows-lnk2001-unresolved-external-symbol-_ipp/feed/" target="_blank"></a> <br />- <a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-for-windows-lnk2001-error-unresolved-external-symbol-_security_cookie/"><strong>LNK2001 error: unresolved external symbol ___security_cookie</strong></a> <br /><a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-for-windows-lnk2001-error-unresolved-external-symbol-_security_cookie/feed/" target="_blank"></a>- <a href="http://software.intel.com/en-us/articles/unresolved-external-symbol-libm-sse2/"><strong>unresolved external symbol __libm_sse2 and _iob</strong></a> <a href="http://software.intel.com/en-us/articles/unresolved-external-symbol-libm-sse2/feed/" target="_blank"></a><br />- <a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-for-linux-ia-error-no-shared-library-was-in-the-waterfall-procedure/"><strong>Error: "No shared library was in the waterfall procedure"</strong></a> <a href="http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-for-linux-ia-error-no-shared-library-was-in-the-waterfall-procedure/feed/" target="_blank"></a> <br />- <a href="http://software.intel.com/en-us/articles/opm-abort-initializing-libguide40dll/"><strong>OMP Abort: Initializing libguide40.dll but found libiomp5md.dll already initialized</strong></a> <a href="http://software.intel.com/en-us/articles/opm-abort-initializing-libguide40dll/feed/" target="_blank"></a> <br />- <a href="http://software.intel.com/en-us/articles/xcode-link-error-file-not-found-libiomp5dylib/"><strong>XCode link error: "file not found: libiomp5.dylib"</strong></a> <br /></strong> ]]></description>
      <link>http://software.intel.com/en-us/articles/how-to-build-ipp-application</link>
      <pubDate>Mon, 08 Jun 2009 17:41:23 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/how-to-build-ipp-application#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/how-to-build-ipp-application</guid>
      <category>Intel® Integrated Performance Primitives Knowledge Base</category>
    </item>
    <item>
      <title>Use Intel IPP in Intel® Parallel Composer</title>
      <description><![CDATA[ <p>Intel® Parallel Composer is part of the larger Intel® Parallel Studio, which is the first software development products to easier, faster develop parallelism application for developers using Microsoft* Visual C++*. <br />It combines compilers, libraries.  Now it is very easy to develop IPP application in Intel® Parallel Composer</p>
<p>1. Include Intel IPP header file and function calls:<img title="build1.JPG" src="http://software.intel.com/file/19468" alt="build1.JPG" /></p>
<p>2 .From the <strong>Menu</strong> bar (or right-click the Project in Solution Explorer) select<strong> Intel Parallel Composer »</strong> <strong>Select Build Component. </strong>The setting will link the dynamic library atomatically.<strong></strong></p>
<p> <img title="build2.JPG" src="http://software.intel.com/file/19466" alt="build2.JPG" width="699" height="675" /></p>
<p> </p>
<p> <img title="build3.JPG" src="http://software.intel.com/file/19467" alt="build3.JPG" width="687" height="665" /></p>
<p>3. In this case, you will link the static library, or Intel OpenMP run-time library libiomp5md.lib, please refer to</p>
<p><a href="http://software.intel.com/en-us/articles/compiling-and-linking-ipp-applications-with-intel-c-compilers/">Compiling and Linking Intel® IPP with latest version Intel® C++ Compilers</a> .</p>
<p>4. Then Build.</p>
<p>Note:  Add the IPP bin path either in your system environment setting or run ippenv.bat from directory \tools\env before run application in command line.<br /><br />There are ready IPP sample MSVC projects in &lt;Composer install directory&gt; <br />i.e C:\Program Files (x86)\Intel\Parallel Studio\Composer\Samples\en_US\IPP\ ipp-samples-image. You can easy to open one in MSVC environment and observe above steps.   </p> ]]></description>
      <link>http://software.intel.com/en-us/articles/use-intel-ipp-in-intel-parallel-composer</link>
      <pubDate>Thu, 04 Jun 2009 02:12:07 -0700</pubDate>
      <comments>http://software.intel.com/en-us/articles/use-intel-ipp-in-intel-parallel-composer#comments</comments>
      <guid isPermaLink="true">http://software.intel.com/en-us/articles/use-intel-ipp-in-intel-parallel-composer</guid>
      <category>Intel® Integrated Performance Primitives Knowledge Base</category>
      <category>Intel® Parallel Composer Knowledge Base</category>
    </item>
  </channel></rss>