<?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 Mkl geqrf+Cublas in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-geqrf-Cublas/m-p/772584#M740</link>
    <description>Thank you Konstantin, the code works now !&lt;BR /&gt;I've just removed -DMKL_ILP64.&lt;BR /&gt;&lt;BR /&gt;Thank you Dan. I know that Cula is staightforward. I use the geqrf function from CULA, but CULA haven't an equivalent for larft function from Mkl ... ( construction of T for the YTY' representation )&lt;BR /&gt;&lt;BR /&gt;Thank you!</description>
    <pubDate>Thu, 11 Aug 2011 11:36:24 GMT</pubDate>
    <dc:creator>loloasb</dc:creator>
    <dc:date>2011-08-11T11:36:24Z</dc:date>
    <item>
      <title>Mkl geqrf+Cublas</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-geqrf-Cublas/m-p/772581#M737</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;I would like to implement the QR factorization for big matrix size.&lt;BR /&gt;When I use sgeqrf and larft functions alone (just compiled with icc), there is no problem.&lt;BR /&gt;&lt;BR /&gt;If I want to use some Cublas function like sgemm, I have to compile with nvcc.&lt;BR /&gt;The problem is, when I compile, I have this error :&lt;BR /&gt;&lt;BR /&gt;error : argument of type "int *" is incompatible with parameter of type "const long long *", at line of calling geqrf and larft functions, whereas these functions require int* ...&lt;BR /&gt;&lt;BR /&gt;I've replaced the geqrf function from Mkl by the geqrf function of Cula.&lt;BR /&gt;&lt;BR /&gt;It works, but the problem persist with the larft function ...&lt;BR /&gt;&lt;BR /&gt;Here is my makefile :&lt;BR /&gt;&lt;BR /&gt;CC=nvcc&lt;BR /&gt;CFLAG=-O3&lt;BR /&gt;LIBS=-lcuda -lcudart -lcula -lcublas -m64 -DMKL_ILP64&lt;BR /&gt;INCLUDE_CULA=/usr/local/cula//include&lt;BR /&gt;LIB_CULA=/usr/local/cula//lib64&lt;BR /&gt;INCLUDE_MKL=/opt/intel/mkl/include&lt;BR /&gt;&lt;BR /&gt;build 64:&lt;BR /&gt; $(CC) $(CFLAG) -DReal=float qrBlocT2.cu $(LIBS) -I$(INCLUDE_CULA) -L$(LIB_CULA) -I$(INCLUDE_MKL) --linker-options /opt/intel/mkl/lib/intel64/libmkl_intel_lp64.a,/opt/intel/mkl/lib/intel64/libmkl_sequential.a,/opt/intel/mkl/lib/intel64/libmkl_core.a,-lpthread -o qrBlocTGPU&lt;BR /&gt;&lt;BR /&gt;Has someone have any ideas ?&lt;BR /&gt;&lt;BR /&gt;Thank you.</description>
      <pubDate>Thu, 11 Aug 2011 07:00:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-geqrf-Cublas/m-p/772581#M737</guid>
      <dc:creator>loloasb</dc:creator>
      <dc:date>2011-08-11T07:00:25Z</dc:date>
    </item>
    <item>
      <title>Mkl geqrf+Cublas</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-geqrf-Cublas/m-p/772582#M738</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;It seems you should NOT specify-DMKL_ILP64 macros within your compiler options.&lt;BR /&gt;&lt;BR /&gt;MKL_ILP64 macros indicates that you want to use ILP64 mode (that means MKL_INT type used in all MKL interfaces would be "long long int" instead of "int"). Please try just to remove it.&lt;BR /&gt;&lt;BR /&gt;P.S. If you want the program works with -DMKL_ILP64 you must do as follows:&lt;BR /&gt;1)Link with libmkl_intel_ilp64.a instead libmkl_intel_lp64.a&lt;BR /&gt;2) Make sure all your integer parameters passed to MKL are of "long long int" type where it'srequired by the interface.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Konstantin</description>
      <pubDate>Thu, 11 Aug 2011 07:45:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-geqrf-Cublas/m-p/772582#M738</guid>
      <dc:creator>Konstantin_A_Intel</dc:creator>
      <dc:date>2011-08-11T07:45:13Z</dc:date>
    </item>
    <item>
      <title>Mkl geqrf+Cublas</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-geqrf-Cublas/m-p/772583#M739</link>
      <description>Using CULA is very straightforward. I have used CULA with MKL with minimal changes. The only difference between CULA and MKL is that you need to pass the values to CULA, instead of pointer. I have not used geqrf, but there shouldn't be big differences. For example, the code below works OK for me:&lt;BR /&gt;&lt;BR /&gt;MKL version&lt;BR /&gt;&lt;BR /&gt;&lt;PRE&gt;[bash]dgetrf(&amp;amp;nCells, &amp;amp;nCells, MKLinvP, &amp;amp;nCells, ipiv, &amp;amp;info);
[/bash]&lt;/PRE&gt; &lt;BR /&gt;CULA version&lt;BR /&gt;&lt;BR /&gt;&lt;PRE&gt;[bash]culaDgetrf(nCells, nCells, MKLinvP, nCells, ipiv);
[/bash]&lt;/PRE&gt; &lt;BR /&gt;D.&lt;BR /&gt;</description>
      <pubDate>Thu, 11 Aug 2011 11:16:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-geqrf-Cublas/m-p/772583#M739</guid>
      <dc:creator>Dan4</dc:creator>
      <dc:date>2011-08-11T11:16:22Z</dc:date>
    </item>
    <item>
      <title>Mkl geqrf+Cublas</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-geqrf-Cublas/m-p/772584#M740</link>
      <description>Thank you Konstantin, the code works now !&lt;BR /&gt;I've just removed -DMKL_ILP64.&lt;BR /&gt;&lt;BR /&gt;Thank you Dan. I know that Cula is staightforward. I use the geqrf function from CULA, but CULA haven't an equivalent for larft function from Mkl ... ( construction of T for the YTY' representation )&lt;BR /&gt;&lt;BR /&gt;Thank you!</description>
      <pubDate>Thu, 11 Aug 2011 11:36:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-geqrf-Cublas/m-p/772584#M740</guid>
      <dc:creator>loloasb</dc:creator>
      <dc:date>2011-08-11T11:36:24Z</dc:date>
    </item>
    <item>
      <title>Mkl geqrf+Cublas</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-geqrf-Cublas/m-p/772585#M741</link>
      <description>I've another problem.&lt;BR /&gt;&lt;BR /&gt;When I use only Mkl's functions, the larft function take 3508 ms.&lt;BR /&gt;In my code with Mkl', Cula' and Cublas' functions, (compil with the Makefile I've shown, with nvcc), the larft function (Mkl) take 7845 ms !!!&lt;BR /&gt;&lt;BR /&gt;Do you have any idea ? How it's possible ?&lt;BR /&gt;&lt;BR /&gt;Thanks.</description>
      <pubDate>Thu, 11 Aug 2011 12:37:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Mkl-geqrf-Cublas/m-p/772585#M741</guid>
      <dc:creator>loloasb</dc:creator>
      <dc:date>2011-08-11T12:37:26Z</dc:date>
    </item>
  </channel>
</rss>

