<?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 need help optimizing a function... in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/need-help-optimizing-a-function/m-p/766919#M315</link>
    <description>I need help optimizing an implementation of a function to compute the normal probability density function of a vector of n values. This is for use in a mex call from Matlab, so basically my goal is for the IPP-implemented version of the function to be faster than Matlab's "normpdf" toolbox function.&lt;BR /&gt;&lt;BR /&gt;I have an implementation working that uses ippsSub, not in place, and then ippsSqr, ippsMulC, ippsExp, and ippsDiv, all in place. I get the values in from Matlab -- I don't copy them -- then I use a Mathworks provided call for allocating an output array, then call the not-inplace subtraction from the input to the output buffer, and then do the rest of the arithmetic operations in place on the output buffer.&lt;BR /&gt;&lt;BR /&gt;The above results in an implementation that is faster than Matlab if n is less than about a million for single precision data. Above a million Matlab becomes consistently faster than my implementation. To me this doesn't make sense. If anything I would think this IPP-based implementation I am describing would be slower for small n's and faster for high n's. Can anyone explain the behavior I'm seeing? or provide suggestions for optimizations I can make?&lt;BR /&gt;&lt;BR /&gt;Also, in the IPP "Reference Manual, Volume 1: Signal Processing" from March 2009, I see that there used to be a call in the "Speech Recognition Functions" section called ippsExpNegSqr, but it doesn't seem to be around any more. What happened to this function?</description>
    <pubDate>Tue, 23 Aug 2011 18:00:20 GMT</pubDate>
    <dc:creator>Joe_Wezorek</dc:creator>
    <dc:date>2011-08-23T18:00:20Z</dc:date>
    <item>
      <title>need help optimizing a function...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/need-help-optimizing-a-function/m-p/766919#M315</link>
      <description>I need help optimizing an implementation of a function to compute the normal probability density function of a vector of n values. This is for use in a mex call from Matlab, so basically my goal is for the IPP-implemented version of the function to be faster than Matlab's "normpdf" toolbox function.&lt;BR /&gt;&lt;BR /&gt;I have an implementation working that uses ippsSub, not in place, and then ippsSqr, ippsMulC, ippsExp, and ippsDiv, all in place. I get the values in from Matlab -- I don't copy them -- then I use a Mathworks provided call for allocating an output array, then call the not-inplace subtraction from the input to the output buffer, and then do the rest of the arithmetic operations in place on the output buffer.&lt;BR /&gt;&lt;BR /&gt;The above results in an implementation that is faster than Matlab if n is less than about a million for single precision data. Above a million Matlab becomes consistently faster than my implementation. To me this doesn't make sense. If anything I would think this IPP-based implementation I am describing would be slower for small n's and faster for high n's. Can anyone explain the behavior I'm seeing? or provide suggestions for optimizations I can make?&lt;BR /&gt;&lt;BR /&gt;Also, in the IPP "Reference Manual, Volume 1: Signal Processing" from March 2009, I see that there used to be a call in the "Speech Recognition Functions" section called ippsExpNegSqr, but it doesn't seem to be around any more. What happened to this function?</description>
      <pubDate>Tue, 23 Aug 2011 18:00:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/need-help-optimizing-a-function/m-p/766919#M315</guid>
      <dc:creator>Joe_Wezorek</dc:creator>
      <dc:date>2011-08-23T18:00:20Z</dc:date>
    </item>
    <item>
      <title>need help optimizing a function...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/need-help-optimizing-a-function/m-p/766920#M316</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Regarding &lt;B&gt;speech recognition&lt;/B&gt; functions&lt;/P&gt;&lt;P&gt;As in the IPP release notes - The speech recognition functions (ippSR domain) are not part of this release; this domain will continue to be supported in the IPP 6.1 product.&lt;/P&gt;&lt;P&gt;&lt;A href="http://software.intel.com/en-us/articles/intel-ipp-70-library-release-notes/"&gt;&lt;SPAN style="text-decoration: underline;"&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;A href="http://software.intel.com/en-us/articles/intel-ipp-70-library-release-notes/" target="_blank"&gt;http://software.intel.com/en-us/articles/intel-ipp-70-library-release-notes/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Naveen Gv&lt;/P&gt;</description>
      <pubDate>Thu, 25 Aug 2011 10:53:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/need-help-optimizing-a-function/m-p/766920#M316</guid>
      <dc:creator>Naveen_G_Intel</dc:creator>
      <dc:date>2011-08-25T10:53:56Z</dc:date>
    </item>
    <item>
      <title>need help optimizing a function...</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/need-help-optimizing-a-function/m-p/766921#M317</link>
      <description>Regarding your question about n, if I am not mistaken IPP is faster for smaller sets, MKL on the other hand should be faster for larger sets. Your mileage may vary.&lt;BR /&gt;</description>
      <pubDate>Thu, 25 Aug 2011 22:04:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/need-help-optimizing-a-function/m-p/766921#M317</guid>
      <dc:creator>levicki</dc:creator>
      <dc:date>2011-08-25T22:04:01Z</dc:date>
    </item>
  </channel>
</rss>

