<?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 reformatting data using strides in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818465#M4489</link>
    <description>N, M and K are the number of elements in each dimension (x- y- and z- ). Currently, I just&lt;BR /&gt;use M x K ippiMalloc'ed frame, iterated over 0 .. N-1 . Seems pretty fast for the processing&lt;BR /&gt;i do each frame. &lt;BR /&gt;I am still learing MKL call/usage syntax, and will probably shift to that for volume processing.&lt;BR /&gt;Sid.</description>
    <pubDate>Wed, 01 Feb 2012 21:36:24 GMT</pubDate>
    <dc:creator>siddy</dc:creator>
    <dc:date>2012-02-01T21:36:24Z</dc:date>
    <item>
      <title>reformatting data using strides</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818461#M4485</link>
      <description>Hi,&lt;BR /&gt; Just wanted to clarify a methodological issue about data processing. I generally have prototypes im matlab, where I can change the sense of processing a data cube by reformatting the data: i.e for a [NxMxK] cube, it is easy to process either N MxK slices, or K NxM slices by re-permuting the dimensions, and iterating along the slowest varying index. Can this possibly be done by a smart choice of stride values in IPP? In other words, is it possible to enforce a specific data access pattern by a user defined stride (esp for a ippr malloc'ed data)?&lt;BR /&gt; Thanks,&lt;BR /&gt; Sid.</description>
      <pubDate>Tue, 31 Jan 2012 17:45:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818461#M4485</guid>
      <dc:creator>siddy</dc:creator>
      <dc:date>2012-01-31T17:45:47Z</dc:date>
    </item>
    <item>
      <title>reformatting data using strides</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818462#M4486</link>
      <description>&lt;P&gt;Sid,&lt;/P&gt;&lt;P&gt;Ippm domain (small matrix) has the parameters on the strides, which can used to select the data with some pattern. &lt;/P&gt;&lt;P&gt;But from the performance perspective, the consecutive data will provide the good performance, If the slowest index is varying, it is not friendly to achieve the performance. So for some image processing and some other function, it only provide the step parameter, which is the distance between consecutive lines. It supposes the data within one line is consecutive. &lt;/P&gt;&lt;P&gt;Thanks,&lt;BR /&gt;Chao &lt;/P&gt;</description>
      <pubDate>Wed, 01 Feb 2012 08:38:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818462#M4486</guid>
      <dc:creator>Chao_Y_Intel</dc:creator>
      <dc:date>2012-02-01T08:38:39Z</dc:date>
    </item>
    <item>
      <title>reformatting data using strides</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818463#M4487</link>
      <description>Thanks Chao. I suspected that much. &lt;BR /&gt;Sid.</description>
      <pubDate>Wed, 01 Feb 2012 16:59:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818463#M4487</guid>
      <dc:creator>siddy</dc:creator>
      <dc:date>2012-02-01T16:59:58Z</dc:date>
    </item>
    <item>
      <title>reformatting data using strides</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818464#M4488</link>
      <description>hi Sid,&lt;BR /&gt;&lt;BR /&gt;what are N, M and K? if they are greater than 10 - you should not use IPP - in IPP small matrix domain is optimized for small sizes only 3x3 - 6x6, in some cases up to 10x10. For bigger sizes you should use MKL&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Igor</description>
      <pubDate>Wed, 01 Feb 2012 20:07:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818464#M4488</guid>
      <dc:creator>igorastakhov</dc:creator>
      <dc:date>2012-02-01T20:07:39Z</dc:date>
    </item>
    <item>
      <title>reformatting data using strides</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818465#M4489</link>
      <description>N, M and K are the number of elements in each dimension (x- y- and z- ). Currently, I just&lt;BR /&gt;use M x K ippiMalloc'ed frame, iterated over 0 .. N-1 . Seems pretty fast for the processing&lt;BR /&gt;i do each frame. &lt;BR /&gt;I am still learing MKL call/usage syntax, and will probably shift to that for volume processing.&lt;BR /&gt;Sid.</description>
      <pubDate>Wed, 01 Feb 2012 21:36:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818465#M4489</guid>
      <dc:creator>siddy</dc:creator>
      <dc:date>2012-02-01T21:36:24Z</dc:date>
    </item>
    <item>
      <title>Reformatting data using strides</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818466#M4490</link>
      <description>I think there is some confusion regarding yourterm "reformatting data". Maybe a &lt;SPAN style="text-decoration: underline;"&gt;processing with different&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="text-decoration: underline;"&gt;pattern&lt;/SPAN&gt;, or something like this, would be better?&lt;BR /&gt;&lt;BR /&gt;From my point of view, reformattingis a "special technique" that allows to change dimensions of a data&lt;BR /&gt;set, &lt;STRONG&gt;2-D&lt;/STRONG&gt; or &lt;STRONG&gt;3-D&lt;/STRONG&gt;, &lt;SPAN style="text-decoration: underline;"&gt;without reallocating&lt;/SPAN&gt; an initial buffer for thedata set.&lt;BR /&gt;&lt;BR /&gt;It means, ifthere isa data set with dimensions &lt;STRONG&gt;M&lt;/STRONG&gt; x &lt;STRONG&gt;N&lt;/STRONG&gt; (=&lt;STRONG&gt;T&lt;/STRONG&gt;)it could be "reformatted" to a data set with&lt;BR /&gt;dimensions &lt;STRONG&gt;M/2&lt;/STRONG&gt; x &lt;STRONG&gt;N*2&lt;/STRONG&gt; (=&lt;STRONG&gt;T&lt;/STRONG&gt;). It is a very important that an initial buffer is intact and &lt;STRONG&gt;M&lt;/STRONG&gt; x &lt;STRONG&gt;N&lt;/STRONG&gt; =&lt;STRONG&gt;T&lt;/STRONG&gt; = &lt;STRONG&gt;M/2&lt;/STRONG&gt; x &lt;STRONG&gt;N*2&lt;/STRONG&gt; = &lt;STRONG&gt;T&lt;/STRONG&gt;,&lt;BR /&gt;where &lt;STRONG&gt;T&lt;/STRONG&gt; is a total number of elements in the data set.&lt;BR /&gt;&lt;BR /&gt;Here is an &lt;SPAN style="text-decoration: underline;"&gt;example&lt;/SPAN&gt;, if there is a &lt;STRONG&gt;3 x 3&lt;/STRONG&gt;matrix:&lt;BR /&gt;&lt;BR /&gt; 1 2 3&lt;BR /&gt; 4 5 6&lt;BR /&gt; 7 8 9&lt;BR /&gt;&lt;BR /&gt;it could be "reformatted" to anarray ( &lt;STRONG&gt;1 x 9&lt;/STRONG&gt; ):&lt;BR /&gt;&lt;BR /&gt; 1 2 3 4 5 6 7 8 9&lt;BR /&gt;&lt;BR /&gt;or, to avector ( &lt;STRONG&gt;9 x 1&lt;/STRONG&gt; ):&lt;BR /&gt;&lt;BR /&gt; 1&lt;BR /&gt; 2&lt;BR /&gt; 3&lt;BR /&gt; 4&lt;BR /&gt; 5&lt;BR /&gt; 6&lt;BR /&gt; 7&lt;BR /&gt; 8&lt;BR /&gt; 9&lt;BR /&gt;&lt;BR /&gt;etc. I use that technique to "reformat" &lt;STRONG&gt;2-D&lt;/STRONG&gt; data sets and in my case it is called as "transform".&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Sergey&lt;BR /&gt;</description>
      <pubDate>Thu, 02 Feb 2012 14:42:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818466#M4490</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2012-02-02T14:42:00Z</dc:date>
    </item>
    <item>
      <title>Reformatting data using strides</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818467#M4491</link>
      <description>Hi Sergey,&lt;BR /&gt; For want of a better term, I used "reformatting". In my example though, I would like to permute the dimensions, to MxNxK = KxMxN (=T), hence the constraints that you mentioned are satisfied. In fact, this is what I would like to do: Given M slices of NxK data, can I read them as K slices of MxN data? In neuroimaging for example, this would amount to acquiring data in axial orientation, and reading them in sagittal orientation, a transformation that is normally referred to as "reformatting" in this field at least. &lt;BR /&gt;&lt;BR /&gt;So, In your examle above, do you reformat based on strides? would it work for a 3D arrangement?&lt;BR /&gt;Sid.</description>
      <pubDate>Thu, 02 Feb 2012 18:33:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818467#M4491</guid>
      <dc:creator>siddy</dc:creator>
      <dc:date>2012-02-02T18:33:37Z</dc:date>
    </item>
    <item>
      <title>Reformatting data using strides</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818468#M4492</link>
      <description>&lt;DIV id="tiny_quote"&gt;&lt;DIV style="margin-left: 2px; margin-right: 2px;"&gt;Quoting &lt;A jquery1328242307375="55" rel="/en-us/services/profile/quick_profile.php?is_paid=&amp;amp;user_id=511291" href="https://community.intel.com/en-us/profile/511291/" class="basic"&gt;siddy&lt;/A&gt;&lt;/DIV&gt;&lt;DIV style="background-color: #e5e5e5; margin-left: 2px; margin-right: 2px; border: 1px inset; padding: 5px;"&gt;&lt;EM&gt;...&lt;BR /&gt;So, In your examle above, do you reformat based on strides?&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt; [&lt;STRONG&gt;SergeyK&lt;/STRONG&gt;] No. It is a pure C/C++ template basedimplementation without &lt;STRONG&gt;IPP&lt;/STRONG&gt;.&lt;BR /&gt;&lt;BR /&gt;&lt;EM&gt;Would it work for a 3D arrangement?&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&lt;BR /&gt;[&lt;STRONG&gt;SergeyK&lt;/STRONG&gt;] This is what I'd like to understand. You have a 3-D data set ( &lt;STRONG&gt;Volume&lt;/STRONG&gt; ):&lt;BR /&gt;&lt;BR /&gt;  &lt;STRONG&gt;Volume&lt;/STRONG&gt; = &lt;STRONG&gt;M&lt;/STRONG&gt; x &lt;STRONG&gt;N&lt;/STRONG&gt; x &lt;STRONG&gt;K&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;Is it a set of&lt;STRONG&gt;M&lt;/STRONG&gt; 2-D &lt;SPAN style="text-decoration: underline;"&gt;images&lt;/SPAN&gt;with dimensions of&lt;STRONG&gt;N&lt;/STRONG&gt; x &lt;STRONG&gt;K&lt;/STRONG&gt;?&lt;BR /&gt; or&lt;BR /&gt; Is it a set of &lt;STRONG&gt;M&lt;/STRONG&gt; 2-D &lt;SPAN style="text-decoration: underline;"&gt;data sets&lt;/SPAN&gt; ( &lt;SPAN style="text-decoration: underline;"&gt;not&lt;/SPAN&gt; images / justnumbers) with dimensions of &lt;STRONG&gt;N&lt;/STRONG&gt; x &lt;STRONG&gt;K&lt;/STRONG&gt;?&lt;/P&gt;</description>
      <pubDate>Fri, 03 Feb 2012 04:35:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818468#M4492</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2012-02-03T04:35:50Z</dc:date>
    </item>
    <item>
      <title>Reformatting data using strides</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818469#M4493</link>
      <description>M 2D images of size NxK .&lt;BR /&gt;Would I be at an advantage if it were a set on numbers MxNxK ? &lt;BR /&gt;Sid.</description>
      <pubDate>Fri, 03 Feb 2012 20:06:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818469#M4493</guid>
      <dc:creator>siddy</dc:creator>
      <dc:date>2012-02-03T20:06:11Z</dc:date>
    </item>
    <item>
      <title>Reformatting data using strides</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818470#M4494</link>
      <description>&lt;DIV id="tiny_quote"&gt;&lt;DIV style="margin-left: 2px; margin-right: 2px;"&gt;Quoting &lt;A jquery1328319385562="55" rel="/en-us/services/profile/quick_profile.php?is_paid=&amp;amp;user_id=511291" href="https://community.intel.com/en-us/profile/511291/" class="basic"&gt;siddy&lt;/A&gt;&lt;/DIV&gt;&lt;DIV style="background-color: #e5e5e5; margin-left: 2px; margin-right: 2px; border: 1px inset; padding: 5px;"&gt;&lt;I&gt;M 2D images of size NxK .&lt;BR /&gt;Would I be at an advantage if it were a set on numbers MxNxK ? &lt;BR /&gt;Sid.&lt;/I&gt;&lt;/DIV&gt;&lt;BR /&gt;Hi Sid,&lt;BR /&gt;&lt;BR /&gt;I tested my "transform" function and it doesn't work as expected in case of a3-D data set. It actually doesn't&lt;BR /&gt;matter if a 3-D data set is a set of 2-D images or 2-D sets of numbers. As soon asthe "transform" is applied&lt;BR /&gt;a data set becomes "invalid" in essense.&lt;BR /&gt;&lt;BR /&gt;I'm going to look at it again some time later and here are three approaches I'm going to test for arranging&lt;BR /&gt;3-D data sets:&lt;BR /&gt;&lt;BR /&gt; - A Structure of Arrays ( &lt;STRONG&gt;SOA&lt;/STRONG&gt; )&lt;BR /&gt;or&lt;BR /&gt; - An Array of Structures ( &lt;STRONG&gt;AOS&lt;/STRONG&gt; )&lt;BR /&gt;or&lt;BR /&gt; - A new version of my current "transform" function with strides&lt;BR /&gt;&lt;BR /&gt;I remember that there is an article about &lt;STRONG&gt;SOA&lt;/STRONG&gt; and &lt;STRONG&gt;AOS&lt;/STRONG&gt; techniques on &lt;STRONG&gt;Intel&lt;/STRONG&gt;'s website. Please take a look.&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Sergey&lt;/DIV&gt;</description>
      <pubDate>Sat, 04 Feb 2012 01:54:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818470#M4494</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2012-02-04T01:54:54Z</dc:date>
    </item>
    <item>
      <title>Reformatting data using strides</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818471#M4495</link>
      <description>Hi Sergey,&lt;BR /&gt; Is you "transform" function something that I can have a look at? If it works like a "permute" function in matlab, this can be a good addition for the IPP suite. Just my thought, but I would be really interested in&lt;BR /&gt;having a look at it. In the meantime I am getting my head aroung AoS and SoA &lt;BR /&gt;Thanks,&lt;BR /&gt;Sid.</description>
      <pubDate>Tue, 07 Feb 2012 19:07:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818471#M4495</guid>
      <dc:creator>siddy</dc:creator>
      <dc:date>2012-02-07T19:07:05Z</dc:date>
    </item>
    <item>
      <title>Reformatting data using strides - Source codes</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818472#M4496</link>
      <description>&lt;P&gt;// &lt;STRONG&gt;Simple 2D Data Set class&lt;/STRONG&gt; ( allows transforms )&lt;BR /&gt;//&lt;BR /&gt;// &lt;STRONG&gt;Notes:&lt;/STRONG&gt;&lt;BR /&gt;// - This is a prototype I used for a template based 2Ddata set class ( it's avery different but idea is the same )&lt;BR /&gt;// - An underlying 1D array for a 2D array is a CONTIGUOUS&lt;BR /&gt;// - A Transform functionality assumes that the underlying 1D array is not reallocated&lt;BR /&gt;// - You could easily add methods like 'SetValue', 'Clear', 'LoadData', C++ operators, etc&lt;/P&gt;&lt;P&gt;class &lt;STRONG&gt;CDataSet2D&lt;/STRONG&gt;&lt;BR /&gt;{&lt;BR /&gt;public:&lt;BR /&gt; &lt;STRONG&gt;CDataSet2D&lt;/STRONG&gt;()&lt;BR /&gt; {&lt;BR /&gt; Init();&lt;BR /&gt; };&lt;/P&gt;&lt;P&gt; virtual ~&lt;STRONG&gt;CDataSet2D&lt;/STRONG&gt;()&lt;BR /&gt; {&lt;BR /&gt; Free();&lt;BR /&gt; };&lt;/P&gt;&lt;P&gt;private:&lt;BR /&gt; void &lt;STRONG&gt;Init&lt;/STRONG&gt;( void )&lt;BR /&gt; {&lt;BR /&gt; m_iRows = 0;&lt;BR /&gt; m_iCols = 0;&lt;/P&gt;&lt;P&gt; m_piData1D = NULL;&lt;BR /&gt; m_piData2D = NULL;&lt;BR /&gt; };&lt;/P&gt;&lt;P&gt;public:&lt;BR /&gt; int &lt;STRONG&gt;Allocate&lt;/STRONG&gt;( int iRows, int iCols )&lt;BR /&gt; {&lt;BR /&gt; if( iRows &amp;lt;= 0 || iCols &amp;lt;= 0 )&lt;BR /&gt; return ( int )0;&lt;/P&gt;&lt;P&gt; m_iRows = iRows;&lt;BR /&gt; m_iCols = iCols;&lt;/P&gt;&lt;P&gt; m_piData1D = ( int * )malloc( ( m_iRows * m_iCols ) * sizeof( int ) );&lt;BR /&gt; if( m_piData1D == NULL )&lt;BR /&gt; return ( int )0;&lt;/P&gt;&lt;P&gt; memset( m_piData1D, 0x0, ( m_iRows * m_iCols ) * sizeof( int ) );&lt;/P&gt;&lt;P&gt; m_piData2D = ( int ** )malloc( m_iRows * sizeof( int * ) );&lt;BR /&gt; if( m_piData2D == NULL )&lt;BR /&gt; return ( int )0;&lt;/P&gt;&lt;P&gt; int *piData = m_piData1D;&lt;/P&gt;&lt;P&gt; for( int i = 0; i &amp;lt; m_iRows; i++ )&lt;BR /&gt; {&lt;BR /&gt; m_piData2D&lt;I&gt; = piData;&lt;BR /&gt; piData += m_iCols;&lt;BR /&gt; }&lt;/I&gt;&lt;/P&gt;&lt;P&gt; return ( int )1;&lt;BR /&gt; };&lt;/P&gt;&lt;P&gt; void &lt;STRONG&gt;Free&lt;/STRONG&gt;( void )&lt;BR /&gt; {&lt;BR /&gt; if( m_piData2D != NULL )&lt;BR /&gt; {&lt;BR /&gt; free( m_piData2D );&lt;BR /&gt; m_piData2D = NULL;&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt; if( m_piData1D != NULL )&lt;BR /&gt; {&lt;BR /&gt; free( m_piData1D );&lt;BR /&gt; m_piData1D = NULL;&lt;BR /&gt; }&lt;BR /&gt; };&lt;/P&gt;&lt;P&gt; int &lt;STRONG&gt;Transform&lt;/STRONG&gt;( int iRows, int iCols )&lt;BR /&gt; {&lt;BR /&gt; if( iRows &amp;lt;= 0 || iCols &amp;lt;= 0 )&lt;BR /&gt; return ( int )0;&lt;BR /&gt; if( m_iRows &amp;lt;= 0 || m_iCols &amp;lt;= 0 )&lt;BR /&gt; return ( int )0;&lt;/P&gt;&lt;P&gt; if( ( m_iRows * m_iCols ) != ( iRows * iCols ) )&lt;BR /&gt; return ( int )0;&lt;/P&gt;&lt;P&gt; if( m_piData1D == NULL )&lt;BR /&gt; return ( int )0;&lt;BR /&gt; if( m_piData2D == NULL )&lt;BR /&gt; return ( int )0;&lt;/P&gt;&lt;P&gt; m_iRows = iRows;&lt;BR /&gt; m_iCols = iCols;&lt;/P&gt;&lt;P&gt; if( m_piData2D != NULL )&lt;BR /&gt; {&lt;BR /&gt; free( m_piData2D );&lt;BR /&gt; m_piData2D = NULL;&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt; m_piData2D = ( int ** )malloc( m_iRows * sizeof( int * ) );&lt;BR /&gt; if( m_piData2D == NULL )&lt;BR /&gt; return ( int )0;&lt;/P&gt;&lt;P&gt; int *piData = m_piData1D;&lt;/P&gt;&lt;P&gt; for( int i = 0; i &amp;lt; m_iRows; i++ )&lt;BR /&gt; {&lt;BR /&gt; m_piData2D&lt;I&gt; = piData;&lt;BR /&gt; piData += m_iCols;&lt;BR /&gt; }&lt;/I&gt;&lt;/P&gt;&lt;P&gt; return ( int )1;&lt;BR /&gt; };&lt;/P&gt;&lt;P&gt;protected:&lt;BR /&gt; int m_iRows;&lt;BR /&gt; int m_iCols;&lt;/P&gt;&lt;P&gt; int *m_piData1D;&lt;BR /&gt; int **m_piData2D;&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;void &lt;STRONG&gt;main&lt;/STRONG&gt;( void )&lt;BR /&gt;{&lt;BR /&gt; int iRetCode = -1;&lt;/P&gt;&lt;P&gt; CDataSet2D ds2D;&lt;/P&gt;&lt;P&gt; iRetCode = ds2D.Allocate( 5, 5 ); // Initialized as Matrix 5x5&lt;BR /&gt; iRetCode = ds2D.Transform( 1, 25 ); // Transformed to Array 1x25&lt;BR /&gt; iRetCode = ds2D.Transform( 25, 1 ); // Transformed to Vector 25x1&lt;BR /&gt; iRetCode = ds2D.Transform( 7, 7 ); // Attempt to Transform to Matrix 7x7 - Invalid input&lt;BR /&gt;}&lt;/P&gt;</description>
      <pubDate>Thu, 09 Feb 2012 17:09:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/reformatting-data-using-strides/m-p/818472#M4496</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2012-02-09T17:09:44Z</dc:date>
    </item>
  </channel>
</rss>

