<?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 This is the file in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-cluster-fft-under-windows/m-p/946919#M14962</link>
    <description>This is the file</description>
    <pubDate>Mon, 12 Nov 2012 16:56:39 GMT</pubDate>
    <dc:creator>deniz_v_</dc:creator>
    <dc:date>2012-11-12T16:56:39Z</dc:date>
    <item>
      <title>How to link cluster fft under windows</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-cluster-fft-under-windows/m-p/946913#M14956</link>
      <description>&lt;P&gt;I have been trying to compile and run my cluster fft code which contains mpi. I have been successful in single core mkl fft with this command&lt;/P&gt;
&lt;P&gt;ifort /Qmkl "C:\Program Files (x86)\Intel\Composer XE 2011 SP1\mkl\include\mkl_dfti.f90" fft_single.f90&lt;/P&gt;
&lt;P&gt;But when it comes to cluster fft,below fails to link&lt;/P&gt;
&lt;P&gt;mpif90 /Qmkl "C:\Program Files (x86)\Intel\Composer XE 2011 SP1\mkl\include\mkl_cdft.f90" fft_mpi.f90&lt;/P&gt;
&lt;P&gt;It gives me : There is no matching specific function for this generic function reference DFTICREATEDESCRIPTORDM. I also noticed that when i give these functions a wrong handle or parameter, it gives exactly the same error (for ifort). Error algorithm cannot make a difference between a wrongly written function name and wrongly given parameter in it.&lt;/P&gt;
&lt;P&gt;So how can i compile/link cluster fft scripts. Is there a problem in linking or is there a problem in coding? A give a very basic script below, it should be able to at least compile and link this&lt;/P&gt;
&lt;P&gt;program main&lt;BR /&gt;use mpi&lt;BR /&gt;Use MKL_CDFT&lt;/P&gt;
&lt;P&gt;complex(8), allocatable :: A(:)&lt;/P&gt;
&lt;P&gt;integer :: len(2),ierr,id,numprocs&lt;BR /&gt;type(DFTI_DESCRIPTOR), POINTER :: FFT&lt;/P&gt;
&lt;P&gt;call MPI_INIT(ierr)&lt;BR /&gt;call MPI_COMM_SIZE(MPI_COMM_WORLD,numprocs,ierr)&lt;BR /&gt;call MPI_COMM_RANK(MPI_COMM_WORLD,id,ierr)&lt;/P&gt;
&lt;P&gt;len(1)=4; len(2)=4&lt;/P&gt;
&lt;P&gt;status = DftiCreateDescriptorDM(MPI_COMM_WORLD,FFT,DFTI_DOUBLE,DFTI_COMPLEX,2,len)&lt;BR /&gt;call mpi_finalize(ierr)&lt;/P&gt;
&lt;P&gt;end program main&lt;/P&gt;</description>
      <pubDate>Sun, 11 Nov 2012 14:17:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-cluster-fft-under-windows/m-p/946913#M14956</guid>
      <dc:creator>deniz_v_</dc:creator>
      <dc:date>2012-11-11T14:17:11Z</dc:date>
    </item>
    <item>
      <title>I'm not familiar with that</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-cluster-fft-under-windows/m-p/946914#M14957</link>
      <description>I'm not familiar with that function.  The message indicates a discrepancy between the function arguments you provided and those required according to MKL_CDFT.  Discrepancy could be in number of arguments, type, or rank.</description>
      <pubDate>Sun, 11 Nov 2012 15:41:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-cluster-fft-under-windows/m-p/946914#M14957</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2012-11-11T15:41:00Z</dc:date>
    </item>
    <item>
      <title>I tried couple of things, i</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-cluster-fft-under-windows/m-p/946915#M14958</link>
      <description>I tried couple of things, i tried linking another libraries, i tried adding another "use - include" packages, all leads to same result.
If i understand correctly you say there is something wrong in code? I should alter the code in order to be able to compile? Is it a compilation error?
I use "use mkl_dfti" header when i write it for single core (ifort). I use " use mkl_cdft" header for multi-core( cluster or mpi). And i link correspondent source code for these. There is more than 1 function (DftiCreateDescriptorDM). These are pack of functions for fft calculations. I wrote first of them to keep it simple.
Interestingly the script above works. When i comply it with ifort for single core. Ofcourse i had to remove mpi calls and i had to change DftiCreateDescriptorDM to DftiCreateDescriptor. I looked at the C examples of cluster fft and it looks like i'm doing it right. My guess is, i fail to link it with proper package. 
Any help is appreciated, i'm experienced in fortran and mpi but im very new in intel mkl packages.</description>
      <pubDate>Sun, 11 Nov 2012 16:30:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-cluster-fft-under-windows/m-p/946915#M14958</guid>
      <dc:creator>deniz_v_</dc:creator>
      <dc:date>2012-11-11T16:30:01Z</dc:date>
    </item>
    <item>
      <title>Hi, Deniz!</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-cluster-fft-under-windows/m-p/946916#M14959</link>
      <description>Hi, Deniz!

The problem is that /Qmkl doesn't include MKL cluster libraries where DftiCommitDescriptorDM is implemented.
Did you tried to link with /Qmkl:cluster option as it's written in here: &lt;A href="http://software.intel.com/en-us/articles/using-mkl-in-intel-compiler-mkl-qmkl-options" target="_blank"&gt;http://software.intel.com/en-us/articles/using-mkl-in-intel-compiler-mkl-qmkl-options&lt;/A&gt; or &lt;A href="http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/compiler/cpp-mac/GUID-F0B0FBC0-4AEA-4DEC-960C-C37B390BD0B5.htm" target="_blank"&gt;http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/compiler/cpp-mac/GUID-F0B0FBC0-4AEA-4DEC-960C-C37B390BD0B5.htm&lt;/A&gt;.

If this doesn't help, please try to set libraries for linker explicitly. I should be something like:
mpif90 ... /LIBPATH:$(MKL_LIB_PATH) $(MKL_LIBS)
where (e.g.)
$(MKL_LIB_PATH)  = C:\Program Files (x86)\Intel\Composer XE 2011 SP1\mkl\lib\intel64
$(MKL_LIBS) = mkl_cdft_core.lib mkl_intel_ilp64.lib mkl_intel_thread.lib mkl_core.lib mkl_blacs_intelmpi_ilp64.lib -Qopenmp

Also please find some additional info here: &lt;A href="http://software.intel.com/sites/products/documentation/hpc/mkl/mkl_userguide_lnx/GUID-75CABA2D-272A-4E55-BE10-30D8EF592752.htm" target="_blank"&gt;http://software.intel.com/sites/products/documentation/hpc/mkl/mkl_userguide_lnx/GUID-75CABA2D-272A-4E55-BE10-30D8EF592752.htm&lt;/A&gt;</description>
      <pubDate>Mon, 12 Nov 2012 05:42:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-cluster-fft-under-windows/m-p/946916#M14959</guid>
      <dc:creator>Evarist_F_Intel</dc:creator>
      <dc:date>2012-11-12T05:42:54Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-cluster-fft-under-windows/m-p/946917#M14960</link>
      <description>Hi,

To link with cluster MKL it needs to use /Qmkl:cluster option.
Please try also MKL link Advisor &lt;A href="http://software.intel.com/sites/products/mkl/" target="_blank"&gt;http://software.intel.com/sites/products/mkl/&lt;/A&gt; to specify explicitly MKL libraries in command line</description>
      <pubDate>Mon, 12 Nov 2012 05:53:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-cluster-fft-under-windows/m-p/946917#M14960</guid>
      <dc:creator>barragan_villanueva_</dc:creator>
      <dc:date>2012-11-12T05:53:49Z</dc:date>
    </item>
    <item>
      <title>Thank you Victor Pasko</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-cluster-fft-under-windows/m-p/946918#M14961</link>
      <description>Thank you Victor Pasko

Adding /Qmkl:cluster option did the trick. So working command is now
mpif90 /Qmkl:cluster "C:\Program Files (x86)\Intel\Composer XE 2011 SP1\mkl\include\mkl_cdft.f90" fft_cluster.f90

I also added the working final code for this. For people who learns by examples. I hardly find any fortran example for mkl. 
It's a simple fft for 2 dimensional matrix. I compared the results to Matlab's fftn function and its working (same)  for my 4 core PC. Feel free to modify :D</description>
      <pubDate>Mon, 12 Nov 2012 16:54:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-cluster-fft-under-windows/m-p/946918#M14961</guid>
      <dc:creator>deniz_v_</dc:creator>
      <dc:date>2012-11-12T16:54:04Z</dc:date>
    </item>
    <item>
      <title>This is the file</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-cluster-fft-under-windows/m-p/946919#M14962</link>
      <description>This is the file</description>
      <pubDate>Mon, 12 Nov 2012 16:56:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/How-to-link-cluster-fft-under-windows/m-p/946919#M14962</guid>
      <dc:creator>deniz_v_</dc:creator>
      <dc:date>2012-11-12T16:56:39Z</dc:date>
    </item>
  </channel>
</rss>

