<?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 TimP in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/difficulties-in-a-program-in-which-some-blas-work-but-ddot/m-p/957024#M15567</link>
    <description>&lt;P&gt;Hi TimP&lt;/P&gt;
&lt;P&gt;I used "&lt;STRONG&gt;use&lt;/STRONG&gt; mkl_blas" instead of using "&lt;STRONG&gt;include&lt;/STRONG&gt; 'mkl_blas.fi'". I always include "&lt;STRONG&gt;implicit none&lt;/STRONG&gt; below the last &lt;STRONG&gt;use&lt;/STRONG&gt; statement".&lt;/P&gt;
&lt;P&gt;I don't know the effective difference between &lt;STRONG&gt;use&lt;/STRONG&gt; and &lt;STRONG&gt;include&lt;/STRONG&gt; statements, I always write &lt;STRONG&gt;use&lt;/STRONG&gt; statements in my source codes.&lt;/P&gt;
&lt;P&gt;Including your suggestion and using "&amp;nbsp;&lt;STRONG&gt;ifort -mkl&lt;/STRONG&gt; teste_mkl.f90" to compile I got the following error message:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;"&lt;/P&gt;
&lt;P&gt;teste_mkl.f90(3): error #5102: Cannot open include file 'mlk_blas.fi'&lt;BR /&gt;include 'mlk_blas.fi'&lt;BR /&gt;--------^&lt;BR /&gt;teste_mkl.f90(51): error #6404: This name does not have a type, and must have an explicit type.&amp;nbsp;&amp;nbsp; [DDOT]&lt;BR /&gt;alpha= ddot(m, d, i, e, i)&lt;BR /&gt;-------^&lt;BR /&gt;compilation aborted for teste_mkl.f90 (code 1)&lt;BR /&gt;"&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;with &lt;STRONG&gt;include&lt;/STRONG&gt; statement and&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;"&lt;/P&gt;
&lt;P&gt;teste_mkl.f90(4): error #7002: Error in opening the compiled module file.&amp;nbsp; Check INCLUDE paths.&amp;nbsp;&amp;nbsp; [MKL_BLAS]&lt;BR /&gt;use mkl_blas&lt;BR /&gt;----^&lt;BR /&gt;teste_mkl.f90(5): error #7002: Error in opening the compiled module file.&amp;nbsp; Check INCLUDE paths.&amp;nbsp;&amp;nbsp; [MKL_LAPACK]&lt;BR /&gt;use mkl_lapack&lt;BR /&gt;----^&lt;BR /&gt;teste_mkl.f90(52): error #6404: This name does not have a type, and must have an explicit type.&amp;nbsp;&amp;nbsp; [DDOT]&lt;BR /&gt;alpha= ddot(m, d, i, e, i)&lt;BR /&gt;-------^&lt;BR /&gt;compilation aborted for teste_mkl.f90 (code 1)&lt;BR /&gt;"&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;with &lt;STRONG&gt;use&lt;/STRONG&gt; statement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; It's important to emphatize that when I remove the &lt;STRONG&gt;use&lt;/STRONG&gt; or &lt;STRONG&gt;include&lt;/STRONG&gt; statement and comment the line with &lt;STRONG&gt;ddot&lt;/STRONG&gt; calling, I can compile (&amp;nbsp;&lt;STRONG&gt;ifort -mkl&lt;/STRONG&gt; teste_mkl.f90) and execute (./a.out) &lt;STRONG&gt;dsymm&lt;/STRONG&gt; and &lt;STRONG&gt;dsymv&lt;/STRONG&gt; callings without problems or warnings.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; As the new versions of ifort/mkl don't complain about lack of &lt;STRONG&gt;"use&lt;/STRONG&gt; mkl_blas" and &lt;STRONG&gt;"use&lt;/STRONG&gt; mkl_lapack", I stopped putting them within my source codes, i just add &lt;STRONG&gt;-mkl&lt;/STRONG&gt; option in the compile command, which is sufficient to build programs with shared parallel version of mkl. So I write &lt;STRONG&gt;use&lt;/STRONG&gt; statements and compile with the full link advisor prescription just when something goes bad. Do you think I should change my behavior?&lt;/P&gt;
&lt;P&gt;Thanks.&lt;/P&gt;</description>
    <pubDate>Wed, 16 Oct 2013 12:30:32 GMT</pubDate>
    <dc:creator>Achille_B_</dc:creator>
    <dc:date>2013-10-16T12:30:32Z</dc:date>
    <item>
      <title>difficulties in a program in which some blas work but ddot.</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/difficulties-in-a-program-in-which-some-blas-work-but-ddot/m-p/957022#M15565</link>
      <description>&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Hi guys&lt;/P&gt;
&lt;P&gt;I found a problem and maybe some of you could help-me.&lt;/P&gt;
&lt;P&gt;In order to solve problems with a blas function in a bigger program, I've tried to make a shorter program to test linking options. So I can easily compile and run this short program with blas calls:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;"&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;...&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;real&lt;/STRONG&gt;(8):: a(6000,6000), b(6000,4000), c(6000,4000), d(6000), e(6000), alpha, beta&lt;BR /&gt;&lt;STRONG&gt;integer&lt;/STRONG&gt;(8)::m, n, lda, ldb, ldc, i, j&lt;/P&gt;
&lt;P&gt;uplo = 'u'&lt;BR /&gt;side = 'l'&lt;BR /&gt;m = 6000&lt;BR /&gt;n = 4000&lt;BR /&gt;lda = m&lt;BR /&gt;ldb = m&lt;BR /&gt;ldc = m&lt;BR /&gt;alpha = 0.5&lt;BR /&gt;beta = 2.0&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;call dsymv('u', 3000, alpha, a, 6000, d, 1, beta, e, 1)&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;call dsymm (side, uplo, m, n, alpha,a, lda, b, ldb, beta, c, ldc)&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;..."&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;With this simple command: &lt;STRONG&gt;ifort teste_mkl.f90 -mkl&lt;/STRONG&gt;&lt;BR /&gt;And no "&lt;STRONG&gt;use"&lt;/STRONG&gt; statement in the source code. However, if i try uncomment:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;"&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;P&gt;i=1&lt;/P&gt;
&lt;P&gt;alpha=&lt;STRONG&gt;ddot(m, d, i, e, i)&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;...."&lt;/P&gt;
&lt;P&gt;or&lt;/P&gt;
&lt;P&gt;"&lt;/P&gt;
&lt;P&gt;....&lt;/P&gt;
&lt;P&gt;alpha=&lt;STRONG&gt;ddot(6000, d, 1, e, 1)&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;..."&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I get the message&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;"teste_mkl.f90(51): error #6404: This name does not have a type, and must have an explicit type.&amp;nbsp;&amp;nbsp; [DDOT]&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;alpha= ddot(m, d, i, e, i)&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;-------^&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;compilation aborted for teste_mkl.f90 (code 1)"&lt;/EM&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;When I replace &lt;STRONG&gt;ddot&lt;/STRONG&gt; f77 call by &lt;STRONG&gt;dot(d,e)&lt;/STRONG&gt; f95 call, add &lt;STRONG&gt;"use mkl_blas95"&lt;/STRONG&gt; and "&lt;STRONG&gt;use mkl_lapack95"&lt;/STRONG&gt; in the source code and compile with "&lt;STRONG&gt;ifort -mkl teste_mkl.f90 -lmkl_blas95_ilp64 -lmkl_lapack95_ilp64&lt;/STRONG&gt;" every thingworks fine.&lt;/P&gt;
&lt;P&gt;But I don't want to use blas95 (portability issues). What I'm doing wrong with &lt;STRONG&gt;ddot&lt;/STRONG&gt; f77 call? I can compile and use other blas routines through f77 call without problems in the same program.&lt;/P&gt;
&lt;P&gt;Thanks for your attention.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 15 Oct 2013 18:35:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/difficulties-in-a-program-in-which-some-blas-work-but-ddot/m-p/957022#M15565</guid>
      <dc:creator>Achille_B_</dc:creator>
      <dc:date>2013-10-15T18:35:56Z</dc:date>
    </item>
    <item>
      <title>You must have included</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/difficulties-in-a-program-in-which-some-blas-work-but-ddot/m-p/957023#M15566</link>
      <description>&lt;P&gt;You must have included IMPLICIT NONE or equivalent (which is good practice).&amp;nbsp; Then you need a declaration of ddot, such as you might find by&lt;/P&gt;
&lt;P&gt;include 'mkl_blas.fi'&lt;/P&gt;
&lt;P&gt;If your program has portability problem with blas95, it might be good to correct it.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Oct 2013 23:46:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/difficulties-in-a-program-in-which-some-blas-work-but-ddot/m-p/957023#M15566</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2013-10-15T23:46:21Z</dc:date>
    </item>
    <item>
      <title>Hi TimP</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/difficulties-in-a-program-in-which-some-blas-work-but-ddot/m-p/957024#M15567</link>
      <description>&lt;P&gt;Hi TimP&lt;/P&gt;
&lt;P&gt;I used "&lt;STRONG&gt;use&lt;/STRONG&gt; mkl_blas" instead of using "&lt;STRONG&gt;include&lt;/STRONG&gt; 'mkl_blas.fi'". I always include "&lt;STRONG&gt;implicit none&lt;/STRONG&gt; below the last &lt;STRONG&gt;use&lt;/STRONG&gt; statement".&lt;/P&gt;
&lt;P&gt;I don't know the effective difference between &lt;STRONG&gt;use&lt;/STRONG&gt; and &lt;STRONG&gt;include&lt;/STRONG&gt; statements, I always write &lt;STRONG&gt;use&lt;/STRONG&gt; statements in my source codes.&lt;/P&gt;
&lt;P&gt;Including your suggestion and using "&amp;nbsp;&lt;STRONG&gt;ifort -mkl&lt;/STRONG&gt; teste_mkl.f90" to compile I got the following error message:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;"&lt;/P&gt;
&lt;P&gt;teste_mkl.f90(3): error #5102: Cannot open include file 'mlk_blas.fi'&lt;BR /&gt;include 'mlk_blas.fi'&lt;BR /&gt;--------^&lt;BR /&gt;teste_mkl.f90(51): error #6404: This name does not have a type, and must have an explicit type.&amp;nbsp;&amp;nbsp; [DDOT]&lt;BR /&gt;alpha= ddot(m, d, i, e, i)&lt;BR /&gt;-------^&lt;BR /&gt;compilation aborted for teste_mkl.f90 (code 1)&lt;BR /&gt;"&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;with &lt;STRONG&gt;include&lt;/STRONG&gt; statement and&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;"&lt;/P&gt;
&lt;P&gt;teste_mkl.f90(4): error #7002: Error in opening the compiled module file.&amp;nbsp; Check INCLUDE paths.&amp;nbsp;&amp;nbsp; [MKL_BLAS]&lt;BR /&gt;use mkl_blas&lt;BR /&gt;----^&lt;BR /&gt;teste_mkl.f90(5): error #7002: Error in opening the compiled module file.&amp;nbsp; Check INCLUDE paths.&amp;nbsp;&amp;nbsp; [MKL_LAPACK]&lt;BR /&gt;use mkl_lapack&lt;BR /&gt;----^&lt;BR /&gt;teste_mkl.f90(52): error #6404: This name does not have a type, and must have an explicit type.&amp;nbsp;&amp;nbsp; [DDOT]&lt;BR /&gt;alpha= ddot(m, d, i, e, i)&lt;BR /&gt;-------^&lt;BR /&gt;compilation aborted for teste_mkl.f90 (code 1)&lt;BR /&gt;"&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;with &lt;STRONG&gt;use&lt;/STRONG&gt; statement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; It's important to emphatize that when I remove the &lt;STRONG&gt;use&lt;/STRONG&gt; or &lt;STRONG&gt;include&lt;/STRONG&gt; statement and comment the line with &lt;STRONG&gt;ddot&lt;/STRONG&gt; calling, I can compile (&amp;nbsp;&lt;STRONG&gt;ifort -mkl&lt;/STRONG&gt; teste_mkl.f90) and execute (./a.out) &lt;STRONG&gt;dsymm&lt;/STRONG&gt; and &lt;STRONG&gt;dsymv&lt;/STRONG&gt; callings without problems or warnings.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; As the new versions of ifort/mkl don't complain about lack of &lt;STRONG&gt;"use&lt;/STRONG&gt; mkl_blas" and &lt;STRONG&gt;"use&lt;/STRONG&gt; mkl_lapack", I stopped putting them within my source codes, i just add &lt;STRONG&gt;-mkl&lt;/STRONG&gt; option in the compile command, which is sufficient to build programs with shared parallel version of mkl. So I write &lt;STRONG&gt;use&lt;/STRONG&gt; statements and compile with the full link advisor prescription just when something goes bad. Do you think I should change my behavior?&lt;/P&gt;
&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Wed, 16 Oct 2013 12:30:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/difficulties-in-a-program-in-which-some-blas-work-but-ddot/m-p/957024#M15567</guid>
      <dc:creator>Achille_B_</dc:creator>
      <dc:date>2013-10-16T12:30:32Z</dc:date>
    </item>
    <item>
      <title>You have a typo in your</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/difficulties-in-a-program-in-which-some-blas-work-but-ddot/m-p/957025#M15568</link>
      <description>&lt;P&gt;You have a typo in your&lt;EM&gt;&lt;STRONG&gt; include 'mkl_blas.fi'&amp;nbsp;&lt;/STRONG&gt;&lt;/EM&gt; statement,&lt;/P&gt;
&lt;P&gt;teste_mkl.f90(3): error #5102: Cannot open include file&lt;STRONG&gt; 'mlk_blas.fi'&lt;/STRONG&gt;&lt;BR /&gt;include 'mlk_blas.fi'&lt;/P&gt;
&lt;P&gt;DDOT is a Fortran function that returns a double precision value, whereas DSYMM, DSYMV are Fortran Subroutines and so you need to include the appropriate interface file that contains the type information of the function.&lt;/P&gt;
&lt;P&gt;Could you try it again after fixing the typo?&lt;/P&gt;</description>
      <pubDate>Thu, 17 Oct 2013 02:29:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/difficulties-in-a-program-in-which-some-blas-work-but-ddot/m-p/957025#M15568</guid>
      <dc:creator>Vamsi_S_Intel</dc:creator>
      <dc:date>2013-10-17T02:29:06Z</dc:date>
    </item>
    <item>
      <title>Thanks TimP and Vansi</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/difficulties-in-a-program-in-which-some-blas-work-but-ddot/m-p/957026#M15569</link>
      <description>&lt;P&gt;Thanks TimP and Vansi&lt;/P&gt;
&lt;P&gt;Fixing the typo solved the problem.&lt;/P&gt;
&lt;P&gt;But I still can't understand:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;- why &lt;STRONG&gt;DSYMM&lt;/STRONG&gt; and &lt;STRONG&gt;DSYMV&lt;/STRONG&gt; that are blas levels 3 and 2 subroutines don't require &lt;STRONG&gt;include&lt;/STRONG&gt; statement to work properly but &lt;STRONG&gt;DDOT&lt;/STRONG&gt; (blas level 1) requires;&lt;/P&gt;
&lt;P&gt;- And why &lt;STRONG&gt;include 'mkl_blas.fi'&lt;/STRONG&gt; works and &lt;STRONG&gt;use mkl_blas&lt;/STRONG&gt; doesn't. If I write the f95 interface &lt;STRONG&gt;dot(d,e)&lt;/STRONG&gt;, a &lt;STRONG&gt;use mkl59_blas&lt;/STRONG&gt; before &lt;STRONG&gt;implict none&lt;/STRONG&gt; works fine.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Best Regards&lt;/P&gt;
&lt;P&gt;Arantes&lt;/P&gt;</description>
      <pubDate>Thu, 17 Oct 2013 11:47:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/difficulties-in-a-program-in-which-some-blas-work-but-ddot/m-p/957026#M15569</guid>
      <dc:creator>Achille_B_</dc:creator>
      <dc:date>2013-10-17T11:47:09Z</dc:date>
    </item>
  </channel>
</rss>

