<?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 IPPMalloc size limitation in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPPMalloc-size-limitation/m-p/868575#M8589</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Thanks for sharing the code here. It looks it can work now. For ippsMalloc functions, it juse uses system malloc function call, besides that, it may pad a few bytes to make sure it provide 32-byte aligned address.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Chao&lt;/P&gt;</description>
    <pubDate>Fri, 19 Mar 2010 06:04:13 GMT</pubDate>
    <dc:creator>Chao_Y_Intel</dc:creator>
    <dc:date>2010-03-19T06:04:13Z</dc:date>
    <item>
      <title>IPPMalloc size limitation</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPPMalloc-size-limitation/m-p/868571#M8585</link>
      <description>Hi, I am struggling with computational efficiencies handling 3D buffer.&lt;BR /&gt;&lt;BR /&gt;My goal is to use pointer operations as much as possible duing the computation&lt;BR /&gt; due to heavy duty data accumulation problem inside the 3D buffer.&lt;BR /&gt;&lt;BR /&gt;I already tried piecewise 2D array buffer to build 3D cube&lt;BR /&gt;but somehow I feel true 3D contiguous / memory alligned solution &lt;BR /&gt; might be faster and easy to handle.&lt;BR /&gt;&lt;BR /&gt;From time to time though, I need to allocate more than 2 Gbytes of elements before &lt;BR /&gt;applying any IPP APIs.&lt;BR /&gt;&lt;BR /&gt;Problem is that IPPMalloc() API accept 'int' type instead of 'long long' type.&lt;BR /&gt;&lt;BR /&gt;Is there a way to solve this limitation when allocating huge contiguous memory?&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Thanks in advance,&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;- Sunkyu Hwang&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 17 Mar 2010 07:11:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPPMalloc-size-limitation/m-p/868571#M8585</guid>
      <dc:creator>nyquist72</dc:creator>
      <dc:date>2010-03-17T07:11:29Z</dc:date>
    </item>
    <item>
      <title>IPPMalloc size limitation</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPPMalloc-size-limitation/m-p/868572#M8586</link>
      <description>Don't you know other allocation functions like malloc etc?</description>
      <pubDate>Wed, 17 Mar 2010 11:09:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPPMalloc-size-limitation/m-p/868572#M8586</guid>
      <dc:creator>renegr</dc:creator>
      <dc:date>2010-03-17T11:09:12Z</dc:date>
    </item>
    <item>
      <title>IPPMalloc size limitation</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPPMalloc-size-limitation/m-p/868573#M8587</link>
      <description>I have tried "_aligned_malloc()' and "_aligned_free()' yesterday.&lt;BR /&gt;&lt;BR /&gt;Great, but not perfect, for example below program crashes badly&lt;BR /&gt;&lt;BR /&gt;//////////////////////&lt;BR /&gt;&lt;BR /&gt;
&lt;P&gt;int numElements = 1024 * 1024 * 1024;&lt;/P&gt;
&lt;P&gt;unsigned short* dat = (unsigned short*)_aligned_malloc(numElements * sizeof(unsigned short), 32);&lt;/P&gt;
&lt;P&gt;unsigned short* source = dat;&lt;BR /&gt;&lt;BR /&gt;for(int i = 0; i &amp;lt; numElements; i++, source++)&lt;BR /&gt;{&lt;BR /&gt; (*source) = (i * 13) % 34;&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;_aligned_free(dat);&lt;BR /&gt;&lt;BR /&gt;////////////////////// The below version works fine except we are under 2Gbyte quota /////////////&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;unsigned short* dat = ippsMalloc_16u(numElements);&lt;BR /&gt;unsigned short* source = dat;&lt;/P&gt;
&lt;P&gt;for(int i = 0; i &amp;lt; numElements; i++, source++)&lt;BR /&gt;{&lt;BR /&gt; (*source) = (i * 13) % 34;&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;ippsFree(dat);&lt;/P&gt;</description>
      <pubDate>Wed, 17 Mar 2010 23:55:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPPMalloc-size-limitation/m-p/868573#M8587</guid>
      <dc:creator>nyquist72</dc:creator>
      <dc:date>2010-03-17T23:55:13Z</dc:date>
    </item>
    <item>
      <title>IPPMalloc size limitation</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPPMalloc-size-limitation/m-p/868574#M8588</link>
      <description>On second thought, I think I forgot the difference between Malloc and IPP calls.&lt;BR /&gt;&lt;BR /&gt;The following API works fine from above problem, (My mistake!! )&lt;BR /&gt;&lt;BR /&gt;unsigned short* dat = (unsigned short*)_aligned_malloc(numElements*&lt;STRONG&gt;sizeof(unsigned short),&lt;/STRONG&gt; 32);</description>
      <pubDate>Wed, 17 Mar 2010 23:59:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPPMalloc-size-limitation/m-p/868574#M8588</guid>
      <dc:creator>nyquist72</dc:creator>
      <dc:date>2010-03-17T23:59:13Z</dc:date>
    </item>
    <item>
      <title>IPPMalloc size limitation</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/IPPMalloc-size-limitation/m-p/868575#M8589</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;Thanks for sharing the code here. It looks it can work now. For ippsMalloc functions, it juse uses system malloc function call, besides that, it may pad a few bytes to make sure it provide 32-byte aligned address.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Chao&lt;/P&gt;</description>
      <pubDate>Fri, 19 Mar 2010 06:04:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/IPPMalloc-size-limitation/m-p/868575#M8589</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2010-03-19T06:04:13Z</dc:date>
    </item>
  </channel>
</rss>

