<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Multithreading in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Multithreading/m-p/770057#M606</link>
    <description>I am trying to use theIPP multithreaded library. I wrote a console app and have a loop to keep calling one function, specifically ippiResizeSqrPixel_8u_C1R(). But Task Manager is reporting thatmy app isonly using one thread. I am wondering if I have my app setup incorrectly.&lt;BR /&gt;&lt;BR /&gt;I am using Microsoft Visual Studio 2008. I put _IPP_PARALLEL_STATIC in my preprocessor definitions, and it seems to be linking the *_t libraries. Is that all I need? When I look at the dependency of my console app, I do not see the OpenMPdll asa dependency. Is that normal?&lt;BR /&gt;&lt;BR /&gt;Here is my console app:&lt;BR /&gt;&lt;P&gt;#include "stdafx.h"&lt;/P&gt;&lt;P&gt;#include &lt;IPP.H&gt;&lt;/IPP.H&gt;&lt;/P&gt;&lt;P&gt;int _tmain(int argc, _TCHAR* argv[])&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;IppStatus status;&lt;/P&gt;&lt;P&gt;int widthIn = 1920;&lt;/P&gt;&lt;P&gt;int heightIn = 1080;&lt;/P&gt;&lt;P&gt;int widthOut = 720;&lt;/P&gt;&lt;P&gt;int heightOut = 480;&lt;/P&gt;&lt;P&gt;int interpolation = IPPI_INTER_CUBIC2P_BSPLINE;&lt;/P&gt;&lt;P&gt;const Ipp8u *pSrc = (Ipp8u*)ippMalloc( widthIn * heightIn );&lt;/P&gt;&lt;P&gt;IppiSize srcSize = { widthIn, heightIn };&lt;/P&gt;&lt;P&gt;Ipp8u *pDst = (Ipp8u*)ippMalloc( widthOut * heightOut );&lt;/P&gt;&lt;P&gt;IppiSize dstSize = { widthOut, heightOut };&lt;/P&gt;&lt;P&gt;IppiRect srcRoi = { 0, 0, widthIn, heightIn, };&lt;/P&gt;&lt;P&gt;IppiRect dstRoi = { 0, 0, widthOut, heightOut, };&lt;/P&gt;&lt;P&gt;int srcStep = widthIn;&lt;/P&gt;&lt;P&gt;int dstStep = widthOut;&lt;/P&gt;&lt;P&gt;const double xFactor = (double)widthOut / widthIn;&lt;/P&gt;&lt;P&gt;const double yFactor = (double)heightOut / heightIn;&lt;/P&gt;&lt;P&gt;int workBufferSize = 0;&lt;/P&gt;&lt;P&gt;status = ippiResizeGetBufSize( srcRoi, dstRoi, 1, interpolation, &amp;amp;workBufferSize );&lt;/P&gt;&lt;P&gt;ASSERT( ippStsNoErr == status );&lt;/P&gt;&lt;P&gt;Ipp8u *pWorkBuffer = (Ipp8u*)ippMalloc( workBufferSize );&lt;/P&gt;&lt;P&gt;ASSERT( pWorkBuffer != NULL );&lt;/P&gt;&lt;P&gt;for( int n=0; ; n++ )&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;status = ippiResizeSqrPixel_8u_C1R( pSrc, srcSize, srcStep, srcRoi, pDst, dstStep, dstRoi, xFactor, yFactor, 0, 0, interpolation, pWorkBuffer );&lt;/P&gt;&lt;P&gt;ASSERT( ippStsNoErr == status );&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;return 0;&lt;/P&gt;&lt;P&gt;}&lt;BR /&gt;&lt;BR /&gt;Your help is appreciated.&lt;BR /&gt;Steve&lt;/P&gt;</description>
    <pubDate>Mon, 04 Apr 2011 19:15:28 GMT</pubDate>
    <dc:creator>li__steve</dc:creator>
    <dc:date>2011-04-04T19:15:28Z</dc:date>
    <item>
      <title>Multithreading</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Multithreading/m-p/770057#M606</link>
      <description>I am trying to use theIPP multithreaded library. I wrote a console app and have a loop to keep calling one function, specifically ippiResizeSqrPixel_8u_C1R(). But Task Manager is reporting thatmy app isonly using one thread. I am wondering if I have my app setup incorrectly.&lt;BR /&gt;&lt;BR /&gt;I am using Microsoft Visual Studio 2008. I put _IPP_PARALLEL_STATIC in my preprocessor definitions, and it seems to be linking the *_t libraries. Is that all I need? When I look at the dependency of my console app, I do not see the OpenMPdll asa dependency. Is that normal?&lt;BR /&gt;&lt;BR /&gt;Here is my console app:&lt;BR /&gt;&lt;P&gt;#include "stdafx.h"&lt;/P&gt;&lt;P&gt;#include &lt;IPP.H&gt;&lt;/IPP.H&gt;&lt;/P&gt;&lt;P&gt;int _tmain(int argc, _TCHAR* argv[])&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;IppStatus status;&lt;/P&gt;&lt;P&gt;int widthIn = 1920;&lt;/P&gt;&lt;P&gt;int heightIn = 1080;&lt;/P&gt;&lt;P&gt;int widthOut = 720;&lt;/P&gt;&lt;P&gt;int heightOut = 480;&lt;/P&gt;&lt;P&gt;int interpolation = IPPI_INTER_CUBIC2P_BSPLINE;&lt;/P&gt;&lt;P&gt;const Ipp8u *pSrc = (Ipp8u*)ippMalloc( widthIn * heightIn );&lt;/P&gt;&lt;P&gt;IppiSize srcSize = { widthIn, heightIn };&lt;/P&gt;&lt;P&gt;Ipp8u *pDst = (Ipp8u*)ippMalloc( widthOut * heightOut );&lt;/P&gt;&lt;P&gt;IppiSize dstSize = { widthOut, heightOut };&lt;/P&gt;&lt;P&gt;IppiRect srcRoi = { 0, 0, widthIn, heightIn, };&lt;/P&gt;&lt;P&gt;IppiRect dstRoi = { 0, 0, widthOut, heightOut, };&lt;/P&gt;&lt;P&gt;int srcStep = widthIn;&lt;/P&gt;&lt;P&gt;int dstStep = widthOut;&lt;/P&gt;&lt;P&gt;const double xFactor = (double)widthOut / widthIn;&lt;/P&gt;&lt;P&gt;const double yFactor = (double)heightOut / heightIn;&lt;/P&gt;&lt;P&gt;int workBufferSize = 0;&lt;/P&gt;&lt;P&gt;status = ippiResizeGetBufSize( srcRoi, dstRoi, 1, interpolation, &amp;amp;workBufferSize );&lt;/P&gt;&lt;P&gt;ASSERT( ippStsNoErr == status );&lt;/P&gt;&lt;P&gt;Ipp8u *pWorkBuffer = (Ipp8u*)ippMalloc( workBufferSize );&lt;/P&gt;&lt;P&gt;ASSERT( pWorkBuffer != NULL );&lt;/P&gt;&lt;P&gt;for( int n=0; ; n++ )&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;status = ippiResizeSqrPixel_8u_C1R( pSrc, srcSize, srcStep, srcRoi, pDst, dstStep, dstRoi, xFactor, yFactor, 0, 0, interpolation, pWorkBuffer );&lt;/P&gt;&lt;P&gt;ASSERT( ippStsNoErr == status );&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;return 0;&lt;/P&gt;&lt;P&gt;}&lt;BR /&gt;&lt;BR /&gt;Your help is appreciated.&lt;BR /&gt;Steve&lt;/P&gt;</description>
      <pubDate>Mon, 04 Apr 2011 19:15:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Multithreading/m-p/770057#M606</guid>
      <dc:creator>li__steve</dc:creator>
      <dc:date>2011-04-04T19:15:28Z</dc:date>
    </item>
    <item>
      <title>Multithreading</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Multithreading/m-p/770058#M607</link>
      <description>Hi Steve,&lt;BR /&gt;&lt;BR /&gt;did you check wether the functions you are using are threaded at all (esp. ippiResizeSqrPixel_xyz)?? See ThreadedFunctionsList.txt in the IPP-documentation.&lt;BR /&gt;&lt;BR /&gt;BEst regards,&lt;BR /&gt;TJ&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 05 Apr 2011 07:13:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Multithreading/m-p/770058#M607</guid>
      <dc:creator>Thomas_B_3</dc:creator>
      <dc:date>2011-04-05T07:13:10Z</dc:date>
    </item>
    <item>
      <title>Multithreading</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Multithreading/m-p/770059#M608</link>
      <description>I found the problem. I forgot to call ippStaticInit().</description>
      <pubDate>Tue, 05 Apr 2011 13:12:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Multithreading/m-p/770059#M608</guid>
      <dc:creator>li__steve</dc:creator>
      <dc:date>2011-04-05T13:12:42Z</dc:date>
    </item>
    <item>
      <title>Multithreading</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Multithreading/m-p/770060#M609</link>
      <description>Hi Steve,&lt;BR /&gt;You are right, ippStaticInit() need to call. This function sets the most appropriate processor-specific static code of the Intel IPP software.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Naveen Gv</description>
      <pubDate>Tue, 05 Apr 2011 15:40:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Multithreading/m-p/770060#M609</guid>
      <dc:creator>Naveen_G_Intel</dc:creator>
      <dc:date>2011-04-05T15:40:22Z</dc:date>
    </item>
  </channel>
</rss>

