<?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 Real to Half-complex 3d Cluster FFT mkl implementation in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896639#M10918</link>
    <description>&lt;P&gt;Hi Giorgos,&lt;/P&gt;
&lt;P&gt;Actually MKL does have the functionality you are asking for. What it lacks are examples illustrating this type of transforms via Dfti-like family of functions. Such examples will be added in one of our future releases.&lt;/P&gt;
&lt;P&gt;Meanwhile you can get a notion of how to do it by looking at the following C example&lt;/P&gt;
&lt;P&gt;examples\fftw2x_cdft\source\wrappers_r3d.c&lt;/P&gt;
&lt;P&gt;on how to do it in C via our FFTW MPI wrappers.&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;-Vladimir&lt;/P&gt;</description>
    <pubDate>Thu, 11 Feb 2010 11:08:00 GMT</pubDate>
    <dc:creator>Vladimir_Petrov__Int</dc:creator>
    <dc:date>2010-02-11T11:08:00Z</dc:date>
    <item>
      <title>Real to Half-complex 3d Cluster FFT mkl implementation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896636#M10915</link>
      <description>&lt;P&gt;Greetings,&lt;/P&gt;
&lt;P&gt;I would like to ask if there is any information available about plans to implement real to half-complex Cluster FFT routines in future versions of mkl. If I am not mistaken, such routines are currently unavailable.&lt;/P&gt;
&lt;P&gt;My implementation of the real to half-complex cluster FFT based on the complex to complex cluster FFT mkl routine spends an unacceptable amount of time in communicating complex numbers between positive and negative wavevectors in order to make a conjugate-symmetric complex input for the mkl routine.&lt;/P&gt;
&lt;P&gt;Is there any better way to do this than the obvious one I am currently using?&lt;/P&gt;</description>
      <pubDate>Tue, 09 Feb 2010 15:02:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896636#M10915</guid>
      <dc:creator>giorgos17</dc:creator>
      <dc:date>2010-02-09T15:02:29Z</dc:date>
    </item>
    <item>
      <title>Real to Half-complex 3d Cluster FFT mkl implementation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896637#M10916</link>
      <description>&lt;P&gt;Hi giorgos17,&lt;/P&gt;
&lt;P&gt;Could you specify what do you mean by 'half-complex 3d'? This term may have different meaning than what you intended to say. For example, in FFTW this term refers to peculiar layout of the data in the frequency domain of &lt;STRONG&gt;1D&lt;/STRONG&gt; real-to-complex transform. For one 1D half-complex result is laid out as all real parts followed by all imaginary parts in the reverse order (R0,R1,R2,...I3,I2,I1). How do you want it be extended to 3D?&lt;/P&gt;
&lt;P&gt;Thanks&lt;BR /&gt;Dima&lt;/P&gt;</description>
      <pubDate>Tue, 09 Feb 2010 15:13:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896637#M10916</guid>
      <dc:creator>Dmitry_B_Intel</dc:creator>
      <dc:date>2010-02-09T15:13:52Z</dc:date>
    </item>
    <item>
      <title>Real to Half-complex 3d Cluster FFT mkl implementation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896638#M10917</link>
      <description>&lt;P&gt;Hi Dima,&lt;/P&gt;
&lt;P&gt;I use the following half-complex format:&lt;/P&gt;
&lt;P&gt;for odd i only:&lt;/P&gt;
&lt;P&gt;r(i,j,k) = Re(c(floor(i/2)+1,j,k))&lt;/P&gt;
&lt;P&gt;r(i+1,j,k)=Im(c(floor(i/2)+1,j,k))&lt;/P&gt;
&lt;P&gt;where c is the complex array and r is the corresponding half-complex array.&lt;/P&gt;
&lt;P&gt;i runs from 1 to n, so that only positive frequencies are stored in the half-complex&lt;/P&gt;
&lt;P&gt;array, and their symmetric conjugates in the negative frequencies are dropped.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Giorgos&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 09 Feb 2010 15:57:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896638#M10917</guid>
      <dc:creator>giorgos17</dc:creator>
      <dc:date>2010-02-09T15:57:56Z</dc:date>
    </item>
    <item>
      <title>Real to Half-complex 3d Cluster FFT mkl implementation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896639#M10918</link>
      <description>&lt;P&gt;Hi Giorgos,&lt;/P&gt;
&lt;P&gt;Actually MKL does have the functionality you are asking for. What it lacks are examples illustrating this type of transforms via Dfti-like family of functions. Such examples will be added in one of our future releases.&lt;/P&gt;
&lt;P&gt;Meanwhile you can get a notion of how to do it by looking at the following C example&lt;/P&gt;
&lt;P&gt;examples\fftw2x_cdft\source\wrappers_r3d.c&lt;/P&gt;
&lt;P&gt;on how to do it in C via our FFTW MPI wrappers.&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;-Vladimir&lt;/P&gt;</description>
      <pubDate>Thu, 11 Feb 2010 11:08:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896639#M10918</guid>
      <dc:creator>Vladimir_Petrov__Int</dc:creator>
      <dc:date>2010-02-11T11:08:00Z</dc:date>
    </item>
    <item>
      <title>Real to Half-complex 3d Cluster FFT mkl implementation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896640#M10919</link>
      <description>&lt;P&gt;Thank you Vladimir, is there a simple way I can use these routines form Fortran 90?&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Giorgos&lt;/P&gt;</description>
      <pubDate>Thu, 11 Feb 2010 12:14:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896640#M10919</guid>
      <dc:creator>giorgos17</dc:creator>
      <dc:date>2010-02-11T12:14:20Z</dc:date>
    </item>
    <item>
      <title>Real to Half-complex 3d Cluster FFT mkl implementation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896641#M10920</link>
      <description>&lt;P&gt;Giorgos,&lt;/P&gt;
&lt;P&gt;If you prefer to use the FFTW MPI interface then use the following routines provided by MKL wrappers:&lt;/P&gt;
&lt;P&gt;rfftw3d_f77_mpi_create_plan&lt;/P&gt;
&lt;P&gt;rfftwnd_f77_mpi_local_sizes&lt;/P&gt;
&lt;P&gt;rfftwnd_f77_mpi&lt;/P&gt;
&lt;P&gt;rfftwnd_f77_mpi_destroy_plan&lt;BR /&gt;.&lt;/P&gt;
&lt;P&gt;If you choose the Dfti-like interface you just build the module from the file include/mkl_cdft.f90 and use the functions:&lt;/P&gt;
&lt;P&gt;DftiCreateDescriptorDM&lt;/P&gt;
&lt;P&gt;DftiSetValueDM/DftiGetValueDM&lt;/P&gt;
&lt;P&gt;DftiCommitDescriptorDM&lt;/P&gt;
&lt;P&gt;DftiComputeForwardDM/DftiComputeBackwardDM&lt;/P&gt;
&lt;P&gt;DftiFreeDescriptorDM&lt;/P&gt;
&lt;P&gt;.&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;-Vladimir&lt;/P&gt;</description>
      <pubDate>Thu, 11 Feb 2010 12:43:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896641#M10920</guid>
      <dc:creator>Vladimir_Petrov__Int</dc:creator>
      <dc:date>2010-02-11T12:43:55Z</dc:date>
    </item>
    <item>
      <title>Real to Half-complex 3d Cluster FFT mkl implementation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896642#M10921</link>
      <description>&lt;P&gt;I prefer the Dfti-like interface, but it is impossible to call DftiComputeForwardDM/DftiComputeBackwardDM&lt;/P&gt;
&lt;P&gt;with a real array as argument, there is no matching interface.&lt;/P&gt;</description>
      <pubDate>Thu, 11 Feb 2010 12:59:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896642#M10921</guid>
      <dc:creator>giorgos17</dc:creator>
      <dc:date>2010-02-11T12:59:40Z</dc:date>
    </item>
    <item>
      <title>Real to Half-complex 3d Cluster FFT mkl implementation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896643#M10922</link>
      <description>&lt;P&gt;You are right, CFFT doesn't provide Compute functions that would accept real array. This will be fixed.&lt;/P&gt;
&lt;P&gt;At this point, however, tricking the compute function into accepting real arrays as complex shouldwork. Unfortunately, Fortran doesn't providelegal means to storage associate dynamically allocated real array withcomplex array (let me know if you know how to do this).So I'd suggest you tryingto bypass type checking.&lt;/P&gt;
&lt;P&gt;Thanks&lt;BR /&gt;Dima&lt;/P&gt;</description>
      <pubDate>Thu, 11 Feb 2010 17:29:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896643#M10922</guid>
      <dc:creator>Dmitry_B_Intel</dc:creator>
      <dc:date>2010-02-11T17:29:08Z</dc:date>
    </item>
    <item>
      <title>Real to Half-complex 3d Cluster FFT mkl implementation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896644#M10923</link>
      <description>&lt;P&gt;No, as far as i know there is no way to storage-associate an allocatable array, but using an external procedure&lt;/P&gt;
&lt;P&gt;to bypass type checking should work.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Do I have to set some particular value via DftiSetValueDM, or should I just use defaults?&lt;/P&gt;
&lt;P&gt;Thanks&lt;/P&gt;
&lt;P&gt;Giorgos&lt;/P&gt;</description>
      <pubDate>Thu, 11 Feb 2010 18:04:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896644#M10923</guid>
      <dc:creator>giorgos17</dc:creator>
      <dc:date>2010-02-11T18:04:02Z</dc:date>
    </item>
    <item>
      <title>Real to Half-complex 3d Cluster FFT mkl implementation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896645#M10924</link>
      <description>&lt;P&gt;Giorgos,&lt;/P&gt;
&lt;P&gt;You will definitely have to call DftiSetValueDM(h, DFTI_PLACEMENT, DFTI_NOT_INPLACE) if you want the transform to be done out-of-place.&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;-Vladimir&lt;/P&gt;</description>
      <pubDate>Thu, 11 Feb 2010 20:07:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896645#M10924</guid>
      <dc:creator>Vladimir_Petrov__Int</dc:creator>
      <dc:date>2010-02-11T20:07:57Z</dc:date>
    </item>
    <item>
      <title>Real to Half-complex 3d Cluster FFT mkl implementation</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896646#M10925</link>
      <description>Thanks, I will try your suggestion.</description>
      <pubDate>Thu, 11 Feb 2010 21:46:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Real-to-Half-complex-3d-Cluster-FFT-mkl-implementation/m-p/896646#M10925</guid>
      <dc:creator>giorgos17</dc:creator>
      <dc:date>2010-02-11T21:46:50Z</dc:date>
    </item>
  </channel>
</rss>

