<?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 Re: DGEQRF routine in MKL in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DGEQRF-routine-in-MKL/m-p/892270#M10518</link>
    <description>If you are using a smaller than recommended work array, it may slow down the one thread case the most.&lt;BR /&gt;</description>
    <pubDate>Thu, 04 Sep 2008 12:49:41 GMT</pubDate>
    <dc:creator>TimP</dc:creator>
    <dc:date>2008-09-04T12:49:41Z</dc:date>
    <item>
      <title>DGEQRF routine in MKL</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DGEQRF-routine-in-MKL/m-p/892269#M10517</link>
      <description>I doing some test on multicore processor using MKL library. For that reason, I am testing DGEQRF routine of MKL library it is a very small program. My problem is that when I use one openmp &lt;BR /&gt;&lt;BR /&gt;one thread I get time&lt;BR /&gt;real 3m36.934s&lt;BR /&gt;user 3m30.713s&lt;BR /&gt;sys 0m2.300s&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;when using 2 threads&lt;BR /&gt;&lt;BR /&gt;real 0m27.402s&lt;BR /&gt;user 0m42.727s&lt;BR /&gt;sys 0m1.032s&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;ratio is approx 7 times higher while it should be approx 2 times. Please someone could explain me this?&lt;BR /&gt;&lt;BR /&gt;compiling  option%&lt;BR /&gt;&lt;BR /&gt;gcc-4.2 -I/opt/intel/mkl/10.0.4.023/include/ -fPIC text.c -fopenmp -L/opt/intel/mkl/10.0.4.023/lib/32 -lmkl_gf -liomp5 /opt/intel/mkl/10.0.4.023/lib/32/libmkl_lapack.a /opt/intel/mkl/10.0.4.023/lib/32/libmkl_gnu_thread.a /opt/intel/mkl/10.0.4.023/lib/32/libmkl_cdft_core.a -ldl -lm&lt;BR /&gt;&lt;BR /&gt;program file%&lt;BR /&gt;&lt;BR /&gt;#include &lt;STDLIB.H&gt;&lt;BR /&gt;#include &lt;MATH.H&gt;&lt;BR /&gt;#include &lt;STDIO.H&gt;&lt;BR /&gt;#include &lt;MKL.H&gt;&lt;BR /&gt;int main(int argc, char *argv[])&lt;BR /&gt;{ &lt;BR /&gt; int M, N,j,LWORK,info; &lt;BR /&gt; double *val,*tau,*work;&lt;BR /&gt; &lt;BR /&gt;&lt;BR /&gt; M=200000;&lt;BR /&gt; N=500;&lt;BR /&gt;&lt;BR /&gt; val = malloc(M*N*sizeof(double));&lt;BR /&gt; tau = malloc(M*sizeof(double)); &lt;BR /&gt; work = malloc(M*sizeof(double)); &lt;BR /&gt;&lt;BR /&gt; for (j=0; j&lt;N&gt; val&lt;J&gt;=floor(100*( ( (double)rand()*2.0/RAND_MAX )-1.0 ) );&lt;BR /&gt; }&lt;BR /&gt; LWORK=N;&lt;BR /&gt; dgeqrf_(&amp;amp;M,&amp;amp;N,val,&amp;amp;M,tau,work,&amp;amp;LWORK,&amp;amp;info);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;thanks a lot&lt;BR /&gt;Alok&lt;BR /&gt;&lt;/J&gt;&lt;/N&gt;&lt;/MKL.H&gt;&lt;/STDIO.H&gt;&lt;/MATH.H&gt;&lt;/STDLIB.H&gt;</description>
      <pubDate>Thu, 04 Sep 2008 11:45:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DGEQRF-routine-in-MKL/m-p/892269#M10517</guid>
      <dc:creator>gupta_1978</dc:creator>
      <dc:date>2008-09-04T11:45:05Z</dc:date>
    </item>
    <item>
      <title>Re: DGEQRF routine in MKL</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DGEQRF-routine-in-MKL/m-p/892270#M10518</link>
      <description>If you are using a smaller than recommended work array, it may slow down the one thread case the most.&lt;BR /&gt;</description>
      <pubDate>Thu, 04 Sep 2008 12:49:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DGEQRF-routine-in-MKL/m-p/892270#M10518</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2008-09-04T12:49:41Z</dc:date>
    </item>
    <item>
      <title>Re: DGEQRF routine in MKL</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DGEQRF-routine-in-MKL/m-p/892271#M10519</link>
      <description>thank you tim! but, I do not undestand this because I try many combination of arrays and but still with one thread I get very bad performance else I think it is calling some other routine...&lt;BR /&gt;&lt;BR /&gt;the combination I tried::&lt;BR /&gt; time 2 thread time 1 thread&lt;BR /&gt;M=N=2000 1.8sec 10 sec&lt;BR /&gt;M=N=3000 5 sec 60 sec&lt;BR /&gt;M=N=4000 10 sec                136 sec   &lt;BR /&gt;M=N=5000 24 sec 278 sec &lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I am not able to understand the logic and I am using 10.0.4.023 version and also with one thread I am having the same time as from LAPACK.&lt;BR /&gt;&lt;BR /&gt;thanks a lot&lt;BR /&gt;Alok&lt;BR /&gt;</description>
      <pubDate>Thu, 04 Sep 2008 13:57:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DGEQRF-routine-in-MKL/m-p/892271#M10519</guid>
      <dc:creator>gupta_1978</dc:creator>
      <dc:date>2008-09-04T13:57:24Z</dc:date>
    </item>
    <item>
      <title>Re: DGEQRF routine in MKL</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DGEQRF-routine-in-MKL/m-p/892272#M10520</link>
      <description>However, I can't see that you have followed the advice in the doc:&lt;BR /&gt;&lt;A href="http://www.intel.com/software/products/mkl/docs/webhelp/lse/functn_geqrf.html"&gt;http://www.intel.com/software/products/mkl/docs/webhelp/lse/functn_geqrf.html&lt;/A&gt;&lt;BR /&gt;Many people actually want to exaggerate the gain for threading; I don't see that you have specified what you see as a problem.&lt;BR /&gt;</description>
      <pubDate>Thu, 04 Sep 2008 15:44:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/DGEQRF-routine-in-MKL/m-p/892272#M10520</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2008-09-04T15:44:11Z</dc:date>
    </item>
  </channel>
</rss>

