<?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 holmz,  in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/F90-SIMD-Parallel-FFT/m-p/1047786#M21037</link>
    <description>&lt;P&gt;Hi holmz,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Your issue seem related several questions. &amp;nbsp;I try answer some of them.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;1) Right, if possible, please try the latest version and 64bit on Xeon phi machine.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;2) ) mic sample and how to build&amp;nbsp;&lt;/P&gt;

&lt;P&gt;MKL should provide some mic sample for example,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;/opt/intel/composer_xe_2013/mkl/examples/mic_offload/dftf/source.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;It provide build command. &amp;nbsp;Could you please try them first and see if they can run ok on your machine.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;3) the code itsefl&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;CODE class="keyword" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(0, 102, 153) !important; background-image: none !important; background-attachment: initial !important; background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;Status&lt;/CODE&gt;&lt;SPAN style="color: rgb(0, 0, 0); font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13.0080003738403px; line-height: 14.3088006973267px;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="plain" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; color: rgb(0, 0, 0); font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; min-height: auto !important; background-image: none !important; background-attachment: initial !important; background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;= DftiCreateDescriptor(MyDesc1_Handle, DFTI_SINGLE, DFTI_REAL,&lt;STRONG&gt; 1 , &amp;nbsp;nFFT&lt;/STRONG&gt;)&lt;/CODE&gt;&lt;/P&gt;

&lt;P&gt;&lt;CODE class="keyword" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(0, 102, 153) !important; background-image: none !important; background-attachment: initial !important; background-color: rgb(248, 248, 248); background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;IF&lt;/CODE&gt;&lt;CODE class="plain" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; color: rgb(0, 0, 0); font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; min-height: auto !important; background-image: none !important; background-attachment: initial !important; background-color: rgb(248, 248, 248); background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;(Local_IO == .TRUE. .AND. Entries &amp;lt;= 2)&amp;nbsp;&lt;/CODE&gt;&lt;CODE class="keyword" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(0, 102, 153) !important; background-image: none !important; background-attachment: initial !important; background-color: rgb(248, 248, 248); background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;WRITE&lt;/CODE&gt;&lt;CODE class="plain" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; color: rgb(0, 0, 0); font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; min-height: auto !important; background-image: none !important; background-attachment: initial !important; background-color: rgb(248, 248, 248); background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;(11,*)&lt;/CODE&gt;&lt;CODE class="string" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; min-height: auto !important; color: blue !important; background-image: none !important; background-attachment: initial !important; background-color: rgb(248, 248, 248); background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;'Threads:114&amp;nbsp; Status='&lt;/CODE&gt;&lt;CODE class="plain" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; color: rgb(0, 0, 0); font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; min-height: auto !important; background-image: none !important; background-attachment: initial !important; background-color: rgb(248, 248, 248); background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;,&lt;/CODE&gt;&lt;CODE class="keyword" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(0, 102, 153) !important; background-image: none !important; background-attachment: initial !important; background-color: rgb(248, 248, 248); background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;Status&lt;/CODE&gt;&lt;SPAN style="color: rgb(0, 0, 0); font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13.0080003738403px; line-height: 14.3088006973267px; background-color: rgb(248, 248, 248);"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="plain" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; color: rgb(0, 0, 0); font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; min-height: auto !important; background-image: none !important; background-attachment: initial !important; background-color: rgb(248, 248, 248); background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;!&amp;lt;- SigDump&amp;nbsp; without&lt;/CODE&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT color="#000000" face="Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace"&gt;&lt;SPAN style="line-height: 14.3088006973267px; background-color: rgb(248, 248, 248);"&gt;there is , &amp;nbsp;between 1 and nFFT. Please check if it is missed?&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT color="#000000" face="Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace"&gt;&lt;SPAN style="line-height: 14.3088006973267px; background-color: rgb(248, 248, 248);"&gt;After create, there should be commit operation. like &lt;/SPAN&gt;&lt;/FONT&gt;if (0 == status) status = DftiCommitDescriptor(&lt;FONT color="#000000" face="Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace"&gt;&lt;SPAN style="line-height: 14.3088006973267px; background-color: rgb(248, 248, 248);"&gt;&amp;nbsp;It seems messed in the code. Could you please add it before dft computing. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT color="#000000" face="Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace"&gt;&lt;SPAN style="line-height: 14.3088006973267px; background-color: rgb(248, 248, 248);"&gt;4) FFT in IPP and MKL , we have article to explain this.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;A href="https://software.intel.com/en-us/articles/mkl-ipp-choosing-an-fft/" target="_blank"&gt;https://software.intel.com/en-us/articles/mkl-ipp-choosing-an-fft/&lt;/A&gt;&lt;FONT color="#000000" face="Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace"&gt;&lt;SPAN style="line-height: 14.3088006973267px; background-color: rgb(248, 248, 248);"&gt;&amp;nbsp; Basically, i recommend MKL on Xeon and Xeon phi.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT color="#000000" face="Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace"&gt;&lt;SPAN style="line-height: 14.3088006973267px; background-color: rgb(248, 248, 248);"&gt;5) OpenMP thread and FFT thread. &amp;nbsp;if you do in-place FFT, the code&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;DIV class="line alt2" style="line-height: 14.3088006973267px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13.0080003738403px; color: rgb(96, 96, 96); margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; min-height: auto !important; background: none rgb(248, 248, 248) !important;"&gt;
	&lt;TABLE style="border-collapse: collapse !important; border: 0px !important; font-size: 1em !important; margin-top: 0px !important; margin-bottom: 0px !important; width: auto !important; vertical-align: baseline !important; outline: 0px !important; float: none !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; line-height: 1.1em !important; min-height: auto !important; background: none !important;"&gt;
		&lt;TBODY style="border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; background: none !important;"&gt;
			&lt;TR style="border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; background: none !important;"&gt;
				&lt;TD class="content" style="border-width: 0px 0px 0px 3px !important; padding: 0px 0px 0px 0.5em !important; border-left-style: solid !important; border-left-color: rgb(108, 226, 108) !important; outline: 0px !important; float: none !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; color: rgb(0, 0, 0) !important; background: none !important;"&gt;&lt;CODE class="plain" style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; min-height: auto !important; background: none !important;"&gt;!$OMP PARALLEL&amp;nbsp;&lt;/CODE&gt;&lt;CODE class="keyword" style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-weight: bold !important; min-height: auto !important; color: rgb(0, 102, 153) !important; background: none !important;"&gt;DO&lt;/CODE&gt;&amp;nbsp;&amp;nbsp;&lt;CODE class="plain" style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; min-height: auto !important; background: none !important;"&gt;SHARED(Sig, SigSF)&lt;/CODE&gt;&lt;/TD&gt;
			&lt;/TR&gt;
		&lt;/TBODY&gt;
	&lt;/TABLE&gt;
&lt;/DIV&gt;

&lt;DIV class="line alt1" style="line-height: 14.3088006973267px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13.0080003738403px; color: rgb(96, 96, 96); margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; min-height: auto !important; background-image: none !important; background-attachment: initial !important; background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;
	&lt;TABLE style="border-collapse: collapse !important; border: 0px !important; font-size: 1em !important; margin-top: 0px !important; margin-bottom: 0px !important; width: auto !important; vertical-align: baseline !important; outline: 0px !important; float: none !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; line-height: 1.1em !important; min-height: auto !important; background: none !important;"&gt;
		&lt;TBODY style="border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; background: none !important;"&gt;
			&lt;TR style="border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; background: none !important;"&gt;
				&lt;TD class="number" style="border-width: 0px !important; border-style: initial !important; padding: 0px !important; outline: 0px !important; float: none !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: 3em !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; color: rgb(175, 175, 175) !important; background: none !important;"&gt;&lt;CODE style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px 0.3em 0px 0px !important; border: 0px !important; outline: 0px !important; text-align: right !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: 2.7em !important; line-height: 1.1em !important; min-height: auto !important; display: block !important; background: none !important;"&gt;33&lt;/CODE&gt;&lt;/TD&gt;
				&lt;TD class="content" style="border-width: 0px 0px 0px 3px !important; padding: 0px 0px 0px 0.5em !important; border-left-style: solid !important; border-left-color: rgb(108, 226, 108) !important; outline: 0px !important; float: none !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; color: rgb(0, 0, 0) !important; background: none !important;"&gt;&lt;CODE class="plain" style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; min-height: auto !important; background: none !important;"&gt;Sig = SigSF&lt;/CODE&gt;&lt;/TD&gt;
			&lt;/TR&gt;
		&lt;/TBODY&gt;
	&lt;/TABLE&gt;
&lt;/DIV&gt;

&lt;DIV class="line alt2" style="line-height: 14.3088006973267px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13.0080003738403px; color: rgb(96, 96, 96); margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; min-height: auto !important; background: none rgb(248, 248, 248) !important;"&gt;
	&lt;TABLE style="border-collapse: collapse !important; border: 0px !important; font-size: 1em !important; margin-top: 0px !important; margin-bottom: 0px !important; width: auto !important; vertical-align: baseline !important; outline: 0px !important; float: none !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; line-height: 1.1em !important; min-height: auto !important; background: none !important;"&gt;
		&lt;TBODY style="border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; background: none !important;"&gt;
			&lt;TR style="border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; background: none !important;"&gt;
				&lt;TD class="number" style="border-width: 0px !important; border-style: initial !important; padding: 0px !important; outline: 0px !important; float: none !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: 3em !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; color: rgb(175, 175, 175) !important; background: none !important;"&gt;&lt;CODE style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px 0.3em 0px 0px !important; border: 0px !important; outline: 0px !important; text-align: right !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: 2.7em !important; line-height: 1.1em !important; min-height: auto !important; display: block !important; background: none !important;"&gt;34&lt;/CODE&gt;&lt;/TD&gt;
				&lt;TD class="content" style="border-width: 0px 0px 0px 3px !important; padding: 0px 0px 0px 0.5em !important; border-left-style: solid !important; border-left-color: rgb(108, 226, 108) !important; outline: 0px !important; float: none !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; color: rgb(0, 0, 0) !important; background: none !important;"&gt;&lt;CODE class="spaces" style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; min-height: auto !important; background: none !important;"&gt;&amp;nbsp;&lt;/CODE&gt;&lt;CODE class="plain" style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; min-height: auto !important; background: none !important;"&gt;!$OMP&amp;nbsp;&lt;/CODE&gt;&lt;CODE class="keyword" style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-weight: bold !important; min-height: auto !important; color: rgb(0, 102, 153) !important; background: none !important;"&gt;END&lt;/CODE&gt;&amp;nbsp;&lt;CODE class="plain" style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; min-height: auto !important; background: none !important;"&gt;PARALLEL&lt;/CODE&gt;&lt;/TD&gt;
			&lt;/TR&gt;
		&lt;/TBODY&gt;
	&lt;/TABLE&gt;

	&lt;P&gt;&amp;nbsp;&lt;/P&gt;

	&lt;P&gt;don't need,right?&lt;/P&gt;
&lt;/DIV&gt;

&lt;P&gt;there is some explaination in MKL manual, like Examples of Using Multi-Threading for FFT Computation&lt;BR /&gt;
	Using Parallel Mode with a Common Descriptor&lt;BR /&gt;
	C code for the example is as follows:&lt;BR /&gt;
	#include "mkl_dfti.h"&lt;BR /&gt;
	#include &amp;lt;omp.h&amp;gt;&lt;BR /&gt;
	#define ARRAY_LEN(a) sizeof(a)/sizeof(a[0])&lt;BR /&gt;
	int main ()&lt;BR /&gt;
	{&lt;BR /&gt;
	// 4 OMP threads, each does 2D FFT 50x100 points&lt;BR /&gt;
	MKL_Complex8 x[4][50][100];&lt;BR /&gt;
	int nth = ARRAY_LEN(x);&lt;BR /&gt;
	MKL_LONG len[2] = {ARRAY_LEN(x[0]), ARRAY_LEN(x[0][0])};&lt;BR /&gt;
	DFTI_DESCRIPTOR_HANDLE FFT;&lt;BR /&gt;
	int th;&lt;BR /&gt;
	DftiCreateDescriptor (&amp;amp;FFT, DFTI_SINGLE, DFTI_COMPLEX, 2, len);&lt;BR /&gt;
	DftiCommitDescriptor (FFT);&lt;BR /&gt;
	// assume x is initialized and do 2D FFTs&lt;BR /&gt;
	#pragma omp parallel for shared(FFT, x)&lt;BR /&gt;
	for (th = 0; th &amp;lt; nth; th++)&lt;BR /&gt;
	DftiComputeForward (FFT, x[th]);&lt;BR /&gt;
	DftiFreeDescriptor (&amp;amp;FFT);&lt;BR /&gt;
	return 0;&lt;/P&gt;

&lt;P&gt;&lt;FONT color="#000000" face="Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace"&gt;&lt;SPAN style="line-height: 14.3088006973267px; background-color: rgb(248, 248, 248);"&gt;could you please package all of your code and makefile. so we can investigate the threading issue directly?&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;Best Regards,&lt;/P&gt;

&lt;P&gt;Ying&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 12 Aug 2015 07:41:49 GMT</pubDate>
    <dc:creator>Ying_H_Intel</dc:creator>
    <dc:date>2015-08-12T07:41:49Z</dc:date>
    <item>
      <title>F90 SIMD/Parallel FFT</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/F90-SIMD-Parallel-FFT/m-p/1047784#M21035</link>
      <description>&lt;P&gt;I found some related posts and links such as&amp;nbsp;https://software.intel.com/en-us/node/507041#EEACAA31-C805-484F-B4AE-D8F49CEDD83D&lt;/P&gt;

&lt;P&gt;However nothing that jumped out.&lt;/P&gt;

&lt;P&gt;Most of what I do results in executables that run on a single core, and I have enough executables linked together that I end up with 'all' the stuff running most of the cores, such that they are relatively evenly loaded. However I also have some cases where the machine is idle and I want to run a single executable across all the cores. Additionally I also got access to a XEON-Phi. My previous efforts have mostly taken advantage of structuring code such that the vectorization report allows me to restructure to get plenty of automatic optimization without having to dig into OpenMP to extensively... But the times 'they are a changing'.&lt;/P&gt;

&lt;P&gt;My goals are:&lt;/P&gt;

&lt;P&gt;1) To get the code running the FFTs across multiple cores&lt;/P&gt;

&lt;P&gt;2) To port to a MIC (XEON-Phi) which I have available to me, and use that to then move some other code to the MIC.&lt;/P&gt;

&lt;P&gt;Here is where I am with a simple library (Since I am poking this in by hand, there may be typos!)...:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;MODULE RHVECTMATH
  USE omp_lib
  IMPLICIT NONE
  PUBLIC :: RH$VSADD, RH$VSUM, 

  CONTAINS
...
...
  SUBROUTINE RH$RFFT(SIG, nFFT, FFT_Type)
  !DEC$ ATTRIBUTES DEFAULT, REFERENCE, ALIAS:'rh$rfft_'::rh$rfft
  USE MKL_DFTI
  IMPLICIT NONE
  REAL(KIND=4), DIMENSION(nFFT), INTENT(INOUT) :: Sig
  INTEGER(KIND=4)                             , INTENT(IN   ) :: nFFT
  INTEGER(KIND=4)                             , INTENT(IN   ) :: FFT_Type

  INTEGER(KIND=4)                                 :: Entires = 0
  INTEGER(KIND=4)                                 :: Status
  REAL(KIND=4), DIMENSION(nFFT)   :: SigCF
  COMPLEX(KIND=4), DIMENSION(nFFT)   :: SigCF
  LOGICAL(KIND=4)                                 :: Local_IO = .TRUE.

 TYPE(DFTI_DESCRIPTOR), POINTER :: My_Dec1_Handle
 Entries = Entries + 1
 Status = DftiCreateDescriptor(MyDesc1_Handle, DFTI_SINGLE, DFTI_REAL, 1 nFFT)
  IF(Local_IO == .TRUE. .AND. Entries &amp;lt;= 2) WRITE(11,*)'Threads:114  Status=',Status !&amp;lt;- SigDump  without
 Status = DftiSetValue(MyDesc1_Handle, DFTI_NOT_INPLACE)
!no  !$OMP PARALLEL DO SIMD PRIVATE(Entries) SHARED(Sig, SigSF)
 Status = DftiComputeForward(MyDesc1_Handle, Sig, SigSF)
!no  !$OMP END PARALLEL

 !$OMP PARALLEL DO  SHARED(Sig, SigSF)
Sig = SigSF
 !$OMP END PARALLEL

RETURN
END SUBROUTINE RH$RFFT

...
END MODULE RHVECTORMATH&lt;/PRE&gt;

&lt;P&gt;Without the write at ^line #26^ it sigdumps whether I compile with -O0 or -O3.&lt;/P&gt;

&lt;P&gt;Question #1: is what should I be doing differently with the MKL to avoid the sigdump without the write?&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;The library build is as follows:&lt;/SPAN&gt;&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;DO_RH_DBG = -nod-lines
MIC = -D__MIC__ -mmic
NOMIC = -D__NOMIC__
MICOFFLOAD = -D__MIC__ -D__INTEL_OFFLOAD -offload-attribute-target=mic
F90_NO_WARN = ifort -132 ${DO_RH_DBG} -ip -inline-min-size=10 -inline-max-size=40000 inline-max-per-routine=100000 inline-max-total-size=2000 -inline-max-per-compile=500000 -recursive -fPIC -gen-interfaces source
F90_LINK = ifort -w1 -g -debug all -check-all -recursive -static-libcxa

RHINKS = -I$(&amp;lt;a path&amp;gt;)/inc
RHINKS3 = -I$(&amp;lt;a path&amp;gt;)/lib/rhvec
RHINKS4 = -I$(&amp;lt;another path&amp;gt;)/inc

LIB = ../../librhvec.a

rhobjects = threads.o mkl_dfti.o

all: $(LIB)

mkl_dfti.o: mkl_dfti.f90
   $F90_NO_WARN -O3 $(RHINCS) $(RHINCS4) -align -cpp -openmp -openmp-report2 -axSSE,AVX $NO_MIC -diag-file=mkl_dfti.compile_txt -opt-report 3 -opt-report-file=mkl_dfti.opt_rpt -Winline -vec-report3 -vec-guard-write $(RHINKS) -o $&amp;lt; -0 $@
...
threads.o: threads.f90 mkl_dfti.o
   $F90_NO_WARN -O3 $(RHINCS) $(RHINCS4) -align -cpp -openmp -openmp-report2 -axSSE,AVX $NO_MIC -diag-file=threads.compile_txt -opt-report 3 -opt-report-file=threads.opt_rpt -Winline -vec-report3 -vec-guard-write $(RHINKS) -o $&amp;lt; -0 $@
...


$(LIB): $(rhobjects)

  ar sr $(LIB) $(rhobjects)&lt;/PRE&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.0080003738403px; line-height: 19.5120010375977px;"&gt;...&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;The library compiles with only the warning:&lt;/P&gt;

&lt;P&gt;ifort: &lt;STRONG&gt;command line warning #10152: option '-axSSE,AVX' not supported.&lt;/STRONG&gt;&lt;/P&gt;

&lt;P&gt;(This machine is using composer_xe_2013 and ifort is pointing to 14.1.106)&lt;/P&gt;

&lt;P&gt;So question #2 is in which phase does the -axSSE get used? I am assuming it is not in preprocessor or linking, so it should be in the creation of the .o file?? From the documentation it appears that the -axSSE should work?? However none of the single -ax&amp;lt;&amp;gt; seem to work...&lt;/P&gt;

&lt;P&gt;The calling code looks like:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;!... reading in the data from file...
!buffer = Sig (N)
...
get = nFFT
CALL GRAB(&amp;lt;datasource&amp;gt;, Sig, get, got)
if(got == get)
Sig1 = Sig(
...
!DIR$ prefetch sig1
CALL RH$RFFT(Sig1, nFFT, 3)
endif
...
&amp;lt;more code&amp;gt;&lt;/PRE&gt;

&lt;P&gt;The MKL implementation is giving the same results, but is 1/2 the speed of what was getting using .f77 code, and appears to be saturating a core.&lt;/P&gt;

&lt;P&gt;Question #3:&lt;BR /&gt;
	I am assuming to run across many cores I will need something like the following... Or are there some MKL switches that enable the many cores to used?:&lt;/P&gt;

&lt;PRE class="brush:fortran;"&gt;!... reading in the data from file...
!buffer = Sig (N * N_Cores)
...
get = nFFT * &amp;lt;N_Cores&amp;gt;
CALL GRAB(&amp;lt;datasource&amp;gt;, Sig, get, got)
...
!$OMP PARALLEL DO SIMD SHARED(SIG), PRIVATE(nFFT)
DO I = 1, N_Cores
  Start = ((I-1)*nFFT) + 1
  End = (I*nFFT)
  CALL RH$RFFT(Sig(Start:End), nFFT, 3)
ENDDO
!$OMP END PARALLEL DO
endif
...&lt;/PRE&gt;

&lt;P&gt;Also it appears that there is no library or API for calling IPP FFT modules from Fortran??&lt;/P&gt;

&lt;P&gt;Question #4:&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;What is the fastest way to run FFTs using the entire host (MKL, IPP)? (Are there any examples of .c++ interface wrappers?)&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;Am I correct in preferring OpenMP for spreading the processing across the cores? - Or are there MKL switches to achieve this?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;Regardless of whether I am heading to the MIC/XEON-Phi, I would want the non-MIC machines to poke along faster that I am doing with the .f77 code. And understanding this should help me work through a totally different problem which I want to put onto the MIC.&lt;/P&gt;

&lt;P&gt;Any insights appreciated.&lt;/P&gt;</description>
      <pubDate>Tue, 11 Aug 2015 04:35:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/F90-SIMD-Parallel-FFT/m-p/1047784#M21035</guid>
      <dc:creator>holmz</dc:creator>
      <dc:date>2015-08-11T04:35:14Z</dc:date>
    </item>
    <item>
      <title>Some of the questions seem to</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/F90-SIMD-Parallel-FFT/m-p/1047785#M21036</link>
      <description>&lt;P&gt;Some of the questions seem to belong on the linux Fortran forum, but I'll take a start.&lt;/P&gt;

&lt;P&gt;Your version of ifort is far too recent to have support for Pentium-III SSE.&amp;nbsp; You must be looking at very old documentation.&amp;nbsp; If you would set -axAVX, it would generate both SSE2 and AVX code paths, where it sees an advantage in AVX.&amp;nbsp; Of course, when you set -mmic, the -ax option isn't valid.&lt;/P&gt;

&lt;P&gt;I guess you are using the 32-bit ifort.&amp;nbsp; If you are planning to use MIC, you will need to get used to the 64-bit "intel64" compilers.&amp;nbsp; I don't think there is good support for MIC on host platforms which don't have AVX.&lt;/P&gt;

&lt;P&gt;The option -align isn't much use without a specification, e.g. -align array32byte (or array64byte for MIC).&lt;/P&gt;

&lt;P&gt;If you are looking to spread a single MKL function across all cores, the automatic threading built into MKL does that more effectively than use of OpenMP in your source code.&amp;nbsp; Calling MKL inside omp parallel region puts the MKL function into single thread by default; the assumption is you will be specifying parallel operations in your source code.&amp;nbsp; It may be quite difficult to get effective use of MIC if your MKL functions work on data sets which aren't of the size where MIC works best, but running multiple single thread MKL functions in parallel is not likely to be effective.&amp;nbsp;&amp;nbsp; The Automatic Offload feature of MKL is meant to ease the task of deciding when to use MIC.&lt;/P&gt;</description>
      <pubDate>Tue, 11 Aug 2015 13:13:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/F90-SIMD-Parallel-FFT/m-p/1047785#M21036</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2015-08-11T13:13:12Z</dc:date>
    </item>
    <item>
      <title>Hi holmz, </title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/F90-SIMD-Parallel-FFT/m-p/1047786#M21037</link>
      <description>&lt;P&gt;Hi holmz,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Your issue seem related several questions. &amp;nbsp;I try answer some of them.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;1) Right, if possible, please try the latest version and 64bit on Xeon phi machine.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;2) ) mic sample and how to build&amp;nbsp;&lt;/P&gt;

&lt;P&gt;MKL should provide some mic sample for example,&amp;nbsp;&lt;/P&gt;

&lt;P&gt;/opt/intel/composer_xe_2013/mkl/examples/mic_offload/dftf/source.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;It provide build command. &amp;nbsp;Could you please try them first and see if they can run ok on your machine.&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;3) the code itsefl&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;CODE class="keyword" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(0, 102, 153) !important; background-image: none !important; background-attachment: initial !important; background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;Status&lt;/CODE&gt;&lt;SPAN style="color: rgb(0, 0, 0); font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13.0080003738403px; line-height: 14.3088006973267px;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="plain" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; color: rgb(0, 0, 0); font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; min-height: auto !important; background-image: none !important; background-attachment: initial !important; background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;= DftiCreateDescriptor(MyDesc1_Handle, DFTI_SINGLE, DFTI_REAL,&lt;STRONG&gt; 1 , &amp;nbsp;nFFT&lt;/STRONG&gt;)&lt;/CODE&gt;&lt;/P&gt;

&lt;P&gt;&lt;CODE class="keyword" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(0, 102, 153) !important; background-image: none !important; background-attachment: initial !important; background-color: rgb(248, 248, 248); background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;IF&lt;/CODE&gt;&lt;CODE class="plain" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; color: rgb(0, 0, 0); font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; min-height: auto !important; background-image: none !important; background-attachment: initial !important; background-color: rgb(248, 248, 248); background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;(Local_IO == .TRUE. .AND. Entries &amp;lt;= 2)&amp;nbsp;&lt;/CODE&gt;&lt;CODE class="keyword" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(0, 102, 153) !important; background-image: none !important; background-attachment: initial !important; background-color: rgb(248, 248, 248); background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;WRITE&lt;/CODE&gt;&lt;CODE class="plain" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; color: rgb(0, 0, 0); font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; min-height: auto !important; background-image: none !important; background-attachment: initial !important; background-color: rgb(248, 248, 248); background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;(11,*)&lt;/CODE&gt;&lt;CODE class="string" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; min-height: auto !important; color: blue !important; background-image: none !important; background-attachment: initial !important; background-color: rgb(248, 248, 248); background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;'Threads:114&amp;nbsp; Status='&lt;/CODE&gt;&lt;CODE class="plain" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; color: rgb(0, 0, 0); font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; min-height: auto !important; background-image: none !important; background-attachment: initial !important; background-color: rgb(248, 248, 248); background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;,&lt;/CODE&gt;&lt;CODE class="keyword" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; font-weight: bold !important; min-height: auto !important; color: rgb(0, 102, 153) !important; background-image: none !important; background-attachment: initial !important; background-color: rgb(248, 248, 248); background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;Status&lt;/CODE&gt;&lt;SPAN style="color: rgb(0, 0, 0); font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13.0080003738403px; line-height: 14.3088006973267px; background-color: rgb(248, 248, 248);"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;CODE class="plain" style="font-size: 13.0080003738403px; line-height: 14.3088006973267px; color: rgb(0, 0, 0); font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; min-height: auto !important; background-image: none !important; background-attachment: initial !important; background-color: rgb(248, 248, 248); background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;!&amp;lt;- SigDump&amp;nbsp; without&lt;/CODE&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT color="#000000" face="Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace"&gt;&lt;SPAN style="line-height: 14.3088006973267px; background-color: rgb(248, 248, 248);"&gt;there is , &amp;nbsp;between 1 and nFFT. Please check if it is missed?&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT color="#000000" face="Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace"&gt;&lt;SPAN style="line-height: 14.3088006973267px; background-color: rgb(248, 248, 248);"&gt;After create, there should be commit operation. like &lt;/SPAN&gt;&lt;/FONT&gt;if (0 == status) status = DftiCommitDescriptor(&lt;FONT color="#000000" face="Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace"&gt;&lt;SPAN style="line-height: 14.3088006973267px; background-color: rgb(248, 248, 248);"&gt;&amp;nbsp;It seems messed in the code. Could you please add it before dft computing. &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT color="#000000" face="Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace"&gt;&lt;SPAN style="line-height: 14.3088006973267px; background-color: rgb(248, 248, 248);"&gt;4) FFT in IPP and MKL , we have article to explain this.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;A href="https://software.intel.com/en-us/articles/mkl-ipp-choosing-an-fft/" target="_blank"&gt;https://software.intel.com/en-us/articles/mkl-ipp-choosing-an-fft/&lt;/A&gt;&lt;FONT color="#000000" face="Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace"&gt;&lt;SPAN style="line-height: 14.3088006973267px; background-color: rgb(248, 248, 248);"&gt;&amp;nbsp; Basically, i recommend MKL on Xeon and Xeon phi.&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;&lt;FONT color="#000000" face="Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace"&gt;&lt;SPAN style="line-height: 14.3088006973267px; background-color: rgb(248, 248, 248);"&gt;5) OpenMP thread and FFT thread. &amp;nbsp;if you do in-place FFT, the code&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;DIV class="line alt2" style="line-height: 14.3088006973267px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13.0080003738403px; color: rgb(96, 96, 96); margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; min-height: auto !important; background: none rgb(248, 248, 248) !important;"&gt;
	&lt;TABLE style="border-collapse: collapse !important; border: 0px !important; font-size: 1em !important; margin-top: 0px !important; margin-bottom: 0px !important; width: auto !important; vertical-align: baseline !important; outline: 0px !important; float: none !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; line-height: 1.1em !important; min-height: auto !important; background: none !important;"&gt;
		&lt;TBODY style="border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; background: none !important;"&gt;
			&lt;TR style="border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; background: none !important;"&gt;
				&lt;TD class="content" style="border-width: 0px 0px 0px 3px !important; padding: 0px 0px 0px 0.5em !important; border-left-style: solid !important; border-left-color: rgb(108, 226, 108) !important; outline: 0px !important; float: none !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; color: rgb(0, 0, 0) !important; background: none !important;"&gt;&lt;CODE class="plain" style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; min-height: auto !important; background: none !important;"&gt;!$OMP PARALLEL&amp;nbsp;&lt;/CODE&gt;&lt;CODE class="keyword" style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-weight: bold !important; min-height: auto !important; color: rgb(0, 102, 153) !important; background: none !important;"&gt;DO&lt;/CODE&gt;&amp;nbsp;&amp;nbsp;&lt;CODE class="plain" style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; min-height: auto !important; background: none !important;"&gt;SHARED(Sig, SigSF)&lt;/CODE&gt;&lt;/TD&gt;
			&lt;/TR&gt;
		&lt;/TBODY&gt;
	&lt;/TABLE&gt;
&lt;/DIV&gt;

&lt;DIV class="line alt1" style="line-height: 14.3088006973267px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13.0080003738403px; color: rgb(96, 96, 96); margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; min-height: auto !important; background-image: none !important; background-attachment: initial !important; background-size: initial !important; background-origin: initial !important; background-clip: initial !important; background-position: initial !important; background-repeat: initial !important;"&gt;
	&lt;TABLE style="border-collapse: collapse !important; border: 0px !important; font-size: 1em !important; margin-top: 0px !important; margin-bottom: 0px !important; width: auto !important; vertical-align: baseline !important; outline: 0px !important; float: none !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; line-height: 1.1em !important; min-height: auto !important; background: none !important;"&gt;
		&lt;TBODY style="border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; background: none !important;"&gt;
			&lt;TR style="border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; background: none !important;"&gt;
				&lt;TD class="number" style="border-width: 0px !important; border-style: initial !important; padding: 0px !important; outline: 0px !important; float: none !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: 3em !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; color: rgb(175, 175, 175) !important; background: none !important;"&gt;&lt;CODE style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px 0.3em 0px 0px !important; border: 0px !important; outline: 0px !important; text-align: right !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: 2.7em !important; line-height: 1.1em !important; min-height: auto !important; display: block !important; background: none !important;"&gt;33&lt;/CODE&gt;&lt;/TD&gt;
				&lt;TD class="content" style="border-width: 0px 0px 0px 3px !important; padding: 0px 0px 0px 0.5em !important; border-left-style: solid !important; border-left-color: rgb(108, 226, 108) !important; outline: 0px !important; float: none !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; color: rgb(0, 0, 0) !important; background: none !important;"&gt;&lt;CODE class="plain" style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; min-height: auto !important; background: none !important;"&gt;Sig = SigSF&lt;/CODE&gt;&lt;/TD&gt;
			&lt;/TR&gt;
		&lt;/TBODY&gt;
	&lt;/TABLE&gt;
&lt;/DIV&gt;

&lt;DIV class="line alt2" style="line-height: 14.3088006973267px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 13.0080003738403px; color: rgb(96, 96, 96); margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; min-height: auto !important; background: none rgb(248, 248, 248) !important;"&gt;
	&lt;TABLE style="border-collapse: collapse !important; border: 0px !important; font-size: 1em !important; margin-top: 0px !important; margin-bottom: 0px !important; width: auto !important; vertical-align: baseline !important; outline: 0px !important; float: none !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; line-height: 1.1em !important; min-height: auto !important; background: none !important;"&gt;
		&lt;TBODY style="border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; background: none !important;"&gt;
			&lt;TR style="border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; background: none !important;"&gt;
				&lt;TD class="number" style="border-width: 0px !important; border-style: initial !important; padding: 0px !important; outline: 0px !important; float: none !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: 3em !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; color: rgb(175, 175, 175) !important; background: none !important;"&gt;&lt;CODE style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px 0.3em 0px 0px !important; border: 0px !important; outline: 0px !important; text-align: right !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: 2.7em !important; line-height: 1.1em !important; min-height: auto !important; display: block !important; background: none !important;"&gt;34&lt;/CODE&gt;&lt;/TD&gt;
				&lt;TD class="content" style="border-width: 0px 0px 0px 3px !important; padding: 0px 0px 0px 0.5em !important; border-left-style: solid !important; border-left-color: rgb(108, 226, 108) !important; outline: 0px !important; float: none !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-size: 1em !important; min-height: auto !important; color: rgb(0, 0, 0) !important; background: none !important;"&gt;&lt;CODE class="spaces" style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; min-height: auto !important; background: none !important;"&gt;&amp;nbsp;&lt;/CODE&gt;&lt;CODE class="plain" style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; min-height: auto !important; background: none !important;"&gt;!$OMP&amp;nbsp;&lt;/CODE&gt;&lt;CODE class="keyword" style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; font-weight: bold !important; min-height: auto !important; color: rgb(0, 102, 153) !important; background: none !important;"&gt;END&lt;/CODE&gt;&amp;nbsp;&lt;CODE class="plain" style="font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.1em !important; min-height: auto !important; background: none !important;"&gt;PARALLEL&lt;/CODE&gt;&lt;/TD&gt;
			&lt;/TR&gt;
		&lt;/TBODY&gt;
	&lt;/TABLE&gt;

	&lt;P&gt;&amp;nbsp;&lt;/P&gt;

	&lt;P&gt;don't need,right?&lt;/P&gt;
&lt;/DIV&gt;

&lt;P&gt;there is some explaination in MKL manual, like Examples of Using Multi-Threading for FFT Computation&lt;BR /&gt;
	Using Parallel Mode with a Common Descriptor&lt;BR /&gt;
	C code for the example is as follows:&lt;BR /&gt;
	#include "mkl_dfti.h"&lt;BR /&gt;
	#include &amp;lt;omp.h&amp;gt;&lt;BR /&gt;
	#define ARRAY_LEN(a) sizeof(a)/sizeof(a[0])&lt;BR /&gt;
	int main ()&lt;BR /&gt;
	{&lt;BR /&gt;
	// 4 OMP threads, each does 2D FFT 50x100 points&lt;BR /&gt;
	MKL_Complex8 x[4][50][100];&lt;BR /&gt;
	int nth = ARRAY_LEN(x);&lt;BR /&gt;
	MKL_LONG len[2] = {ARRAY_LEN(x[0]), ARRAY_LEN(x[0][0])};&lt;BR /&gt;
	DFTI_DESCRIPTOR_HANDLE FFT;&lt;BR /&gt;
	int th;&lt;BR /&gt;
	DftiCreateDescriptor (&amp;amp;FFT, DFTI_SINGLE, DFTI_COMPLEX, 2, len);&lt;BR /&gt;
	DftiCommitDescriptor (FFT);&lt;BR /&gt;
	// assume x is initialized and do 2D FFTs&lt;BR /&gt;
	#pragma omp parallel for shared(FFT, x)&lt;BR /&gt;
	for (th = 0; th &amp;lt; nth; th++)&lt;BR /&gt;
	DftiComputeForward (FFT, x[th]);&lt;BR /&gt;
	DftiFreeDescriptor (&amp;amp;FFT);&lt;BR /&gt;
	return 0;&lt;/P&gt;

&lt;P&gt;&lt;FONT color="#000000" face="Consolas, Bitstream Vera Sans Mono, Courier New, Courier, monospace"&gt;&lt;SPAN style="line-height: 14.3088006973267px; background-color: rgb(248, 248, 248);"&gt;could you please package all of your code and makefile. so we can investigate the threading issue directly?&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;

&lt;P&gt;Best Regards,&lt;/P&gt;

&lt;P&gt;Ying&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 12 Aug 2015 07:41:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/F90-SIMD-Parallel-FFT/m-p/1047786#M21037</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2015-08-12T07:41:49Z</dc:date>
    </item>
  </channel>
</rss>

