<?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 Hi Saar,  in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/vector-array-in-mkl/m-p/1111625#M24406</link>
    <description>&lt;P&gt;Hi Saar,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Right, current MKL only provide dgemm's batch function, no others, Do you have following operation after you get aX1, bX2, cX3, ... (a,b,c are constant number, XI is vector, how was the length and number of your vector array ?). &amp;nbsp;If no, it seems you have to call one blas function several times. or &amp;nbsp;you may add OpenMP progam &amp;nbsp;to parallel the calls.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Best Regards,&lt;BR /&gt;
	Ying&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 01 Jul 2016 07:47:59 GMT</pubDate>
    <dc:creator>Ying_H_Intel</dc:creator>
    <dc:date>2016-07-01T07:47:59Z</dc:date>
    <item>
      <title>vector array in mkl</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/vector-array-in-mkl/m-p/1111622#M24403</link>
      <description>&lt;P&gt;&amp;nbsp;Hi does anyone know what is the best mapping in MKL for &amp;nbsp;&lt;SPAN style="color: black; font-family: Consolas; font-size: 1em; line-height: 1.5;"&gt;ippmMul_vaca_64f.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="color: black; font-family: Consolas; font-size: 1em; line-height: 1.5;"&gt;Thanks,&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="color: black; font-family: Consolas; font-size: 1em; line-height: 1.5;"&gt;Saar.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 28 Jun 2016 17:04:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/vector-array-in-mkl/m-p/1111622#M24403</guid>
      <dc:creator>saar_w_</dc:creator>
      <dc:date>2016-06-28T17:04:49Z</dc:date>
    </item>
    <item>
      <title>Hi Saar, </title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/vector-array-in-mkl/m-p/1111623#M24404</link>
      <description>&lt;P&gt;Hi Saar,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I guess, you have known that ippm was deprecated in latest IPP version, and the replacement may be in MKL BLAS function or VSL functions.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;A href="https://software.intel.com/en-us/articles/the-alternatives-for-intel-ipp-legacy-small-matrices-domain" target="_blank"&gt;https://software.intel.com/en-us/articles/the-alternatives-for-intel-ipp-legacy-small-matrices-domain&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;No sure what is your array layout, next operation, the vector size, machine type etc. &amp;nbsp;You may search in MKL reference machine, &amp;nbsp;there are a few of function be able to do &amp;nbsp;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;scalar * vector&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;for example, cblas_dscal()&lt;/P&gt;

&lt;P&gt;The ?scal routines perform a vector operation defined as&amp;nbsp;x = a*x&lt;BR /&gt;
	where:&amp;nbsp;a is a scalar, x is an n-element vector&lt;/P&gt;

&lt;P&gt;The ?axpy routines perform a vector-vector operation defined as&lt;BR /&gt;
	y := a*x + y&lt;/P&gt;

&lt;P&gt;VSL functions: vdLinearFrac( n, a, b, scalea, shifta, scaleb, shiftb, y ) , &amp;nbsp;y&lt;I&gt;=(scalea·a&lt;I&gt;+shifta)/(scaleb·b&lt;I&gt;+shiftb), i=1,2 … n&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/P&gt;

&lt;P&gt;or you create a matrix * vector according your vector array etc. Which usually have better performance.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Best Regards,&lt;BR /&gt;
	Ying&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 29 Jun 2016 01:36:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/vector-array-in-mkl/m-p/1111623#M24404</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2016-06-29T01:36:44Z</dc:date>
    </item>
    <item>
      <title>Hi Ying and thank you for</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/vector-array-in-mkl/m-p/1111624#M24405</link>
      <description>&lt;P&gt;Hi Ying and thank you for your quick replay ,&lt;/P&gt;

&lt;P&gt;I am familiar with cblas functions but my problem is very specific for batch operation&amp;nbsp;&lt;/P&gt;

&lt;P&gt;the method&amp;nbsp;&lt;SPAN style="color: rgb(51, 51, 51); font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 14.6667px; line-height: 22px;"&gt;ippmMul_vaca_64f&amp;nbsp;&lt;/SPAN&gt;is multiuplyng array of vectors with array of scalar ,&lt;/P&gt;

&lt;P&gt;just like calling mutipale times to&amp;nbsp;&lt;SPAN style="font-size: 13.008px; line-height: 19.512px;"&gt;?axpy. the difference is that it multiply all the vectors multi threaded and at once. how can I get the same result in MKL?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Ying H. (Intel) wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Hi Saar,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;I guess, you have known that ippm was deprecated in latest IPP version, and the replacement may be in MKL BLAS function or VSL functions.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;A href="https://software.intel.com/en-us/articles/the-alternatives-for-intel-ipp-legacy-small-matrices-domain"&gt;https://software.intel.com/en-us/articles/the-alternatives-for-intel-ipp...&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;No sure what is your array layout, next operation, the vector size, machine type etc. &amp;nbsp;You may search in MKL reference machine, &amp;nbsp;there are a few of function be able to do &amp;nbsp;scalar * vector&amp;nbsp;&lt;/P&gt;

&lt;P&gt;for example, cblas_dscal()&lt;/P&gt;

&lt;P&gt;The ?scal routines perform a vector operation defined as&amp;nbsp;x = a*x&lt;BR /&gt;
	where:&amp;nbsp;a is a scalar, x is an n-element vector&lt;/P&gt;

&lt;P&gt;The ?axpy routines perform a vector-vector operation defined as&lt;BR /&gt;
	y := a*x + y&lt;/P&gt;

&lt;P&gt;VSL functions: vdLinearFrac( n, a, b, scalea, shifta, scaleb, shiftb, y ) , &amp;nbsp;y&lt;I&gt;=(scalea·a&lt;I&gt;+shifta)/(scaleb·b&lt;I&gt;+shiftb), i=1,2 … n&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/P&gt;

&lt;P&gt;or you create a matrix * vector according your vector array etc. Which usually have better performance.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Best Regards,&lt;BR /&gt;
	Ying&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 29 Jun 2016 06:40:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/vector-array-in-mkl/m-p/1111624#M24405</guid>
      <dc:creator>saar_w_</dc:creator>
      <dc:date>2016-06-29T06:40:43Z</dc:date>
    </item>
    <item>
      <title>Hi Saar, </title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/vector-array-in-mkl/m-p/1111625#M24406</link>
      <description>&lt;P&gt;Hi Saar,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Right, current MKL only provide dgemm's batch function, no others, Do you have following operation after you get aX1, bX2, cX3, ... (a,b,c are constant number, XI is vector, how was the length and number of your vector array ?). &amp;nbsp;If no, it seems you have to call one blas function several times. or &amp;nbsp;you may add OpenMP progam &amp;nbsp;to parallel the calls.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Best Regards,&lt;BR /&gt;
	Ying&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 01 Jul 2016 07:47:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/vector-array-in-mkl/m-p/1111625#M24406</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2016-07-01T07:47:59Z</dc:date>
    </item>
  </channel>
</rss>

