<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic MKL issue on MAC OS in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877262#M9094</link>
    <description>I extracted a sample program. It has no physic sense but i hope it can be useful to check what's wrong in my actual code. As in my full code i've considered a module.&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;MAIN PROGRAM +++++++++++++++++++++++++++++++++++++++++++++++++++&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;PROGRAM JACOBI_MATRIX&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;use module1_DJAC&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IMPLICIT NONE&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INCLUDE 'MKL_RCI.fi'&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;EXTERNAL FCN&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER N,M&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;PARAMETER(N=10,M=1)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;double precision Fun&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;double precision jac_eps,gnew(1,N)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;real g(N),res&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!-------------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!	CREATE FFT DESCRIPTOR&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; dim1=N&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; dim2=1&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; allocate(data_in(dim1*dim2))&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; length_FFT(1)=dim1;length_FFT(2)=dim2&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; ! Create Descriptor&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; Status_FFT=DftiCreateDescriptor( Desc_Handle_FFT, DFTI_DOUBLE,DFTI_COMPLEX,2,length_FFT)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; ! Commit Descriptor&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; Status_FFT=DftiCommitDescriptor(Desc_Handle_FFT)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;	&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!	INITIALIZE X and yn&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;	allocate(X(N),yn(N))&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;	X(1:3)=0.05*70;X(4:7)=0.1*70;X(8:10)=0.15*70&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;	yn=1e-7;yn(5:8)=1.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;	&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!	EVALUATE FCN (EXTERNAL FUNCTION)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! FCN is the norm of the difference of the FFT of the term exp(j*X) and the vector yn&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;i.e. &lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;FCN=norm(FFT(exp(j*X)),yn)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;call FCN(M,N,X,Fun)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;print *,'Starting Fun =',Fun&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;	&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;	&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! EVALUATE GRADIENT &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;gnew=0;jac_eps=1D-7;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;res=djacobi(FCN,N,1,gnew(1,1:N),X(1:N),jac_eps)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;print *,gnew(1,1:N)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;end program JACOBI_MATRIX&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! ***********************************************************************&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;	subroutine FCN(M,N,X_IN,F)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; use module1_DJAC&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; implicit none&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; integer M,N,M_out&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; external sdot&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; double precision X_IN(N),F&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; real m1(N),ps1,sdot&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; complex out(N)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!-----------------------------------  &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; 	M_out=N&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; ! CALL EVAL FFT FUNCTION (That realizes the FFT of exp(j*X_IN))&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; call EVAL_FFT(X_IN,N,out,M_out)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; out=out/maxval(cabs(out))&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; m1=((cabs(out))**2)-yn   	&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; ps1=sdot(M_out,m1,1,m1,1)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; F=ps1&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;end subroutine FCN&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;+++++++++++++++++++++++++++++++++++++++++++++++++++&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;MODULE&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;+++++++++++++++++++++++++++++++++++++++++++++++++++&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;DIV id="_mcePaste"&gt;module module1_DJAC&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;Use MKL_DFTI&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;implicit none&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;!  FFT MKL DECLARATIONS&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;double complex, dimension(:),allocatable   :: data_in&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; type(DFTI_DESCRIPTOR), POINTER :: Desc_Handle_FFT&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; integer  Status_FFT,length_FFT(2),dim1,dim2&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; real   Scale_FFT&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; !&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;FUNCTION YN&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; real,dimension(:),allocatable&lt;SPAN style="white-space: pre;"&gt;				&lt;/SPAN&gt;::yn&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; double precision,dimension(:),allocatable&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;::X&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;contains&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! ***********************************************************************&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;subroutine EVAL_FFT(X_IN,N_X,OUT_VETT,N_OUT)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; implicit none&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; integer N_X,N_OUT&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; double precision X_IN(N_X)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; complex imag&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; parameter (imag=(0.,1.))&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; real dummy(N_X)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; complex OUT_VETT(N_OUT)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!-----------------------------------  &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;! Data_in=exp(j*X_IN)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;dummy(1:N_X)=X(1:N_X)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; data_in=cexp(imag*dummy)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;! OUT_VETT=FFT(data_in)  &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; Status_FFT=DftiComputeForward(Desc_Handle_FFT,data_in)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; OUT_VETT=data_in&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; end subroutine EVAL_FFT&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! ***********************************************************************&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;end module module1_DJAC&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;+++++++++++++++++++++++++++++++++++++++++++++++++++&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;When i use OMP_NUM_THREADS=4 and MKL_NUM_THREADS=1 the obtained gradient has all the components equal to 0.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;THAT'S THE OUTPUT FOR MKL_NUM_THREADS=1&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;DIV id="_mcePaste"&gt;&amp;gt;&amp;gt;Mac-Pro-di-apple:TEST_DJACOBI claudio$ ./djacobi2.out&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;Starting Fun =  4.81621265411377  &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;0.000000000000000E+000&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;When i use MKL_NUM_THREADS=4&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;DIV id="_mcePaste"&gt;&amp;gt;&amp;gt;Mac-Pro-di-apple:TEST_DJACOBI claudio$ export MKL_NUM_THREADS=4&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;Mac-Pro-di-apple:TEST_DJACOBI claudio$ ./djacobi2.out&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;Starting Fun =  4.81621265411377  &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;-4442684.99101911    223754.474094936    1467580.79528809  &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;0.000000000000000E+000 -1739650.11324201    0.000000000000000E+000&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;0.000000000000000E+000 0.000000000000000E+000 -917188.099452427  &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;0.000000000000000E+000&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;And different numbers are obtained each time i run the code&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;I hope the explanation of the issue is clear&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;Thank you&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Mon, 26 Apr 2010 16:44:44 GMT</pubDate>
    <dc:creator>clodxp</dc:creator>
    <dc:date>2010-04-26T16:44:44Z</dc:date>
    <item>
      <title>MKL issue on MAC OS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877253#M9085</link>
      <description>&lt;P&gt;Recently I've moved on a MAC PRO (2x2.26GHz Quad Core Intel Xeon 16GB DDR3).&lt;/P&gt;
&lt;P&gt;I've tried to run a code previously tested on a Dual Core Intel PC with a 32 bit Windows Xp OS.&lt;/P&gt;
&lt;P&gt;I noted that the code running on the MAC show a serious issue when running a MKL ruotine (djacobi). Infact the code is significantly slower than the Windows machine an does not furnish the same results.&lt;/P&gt;
&lt;P&gt;The interested function is the djacobi function evaluating the jacobian matrix of a certain user assigned function.&lt;/P&gt;
&lt;P&gt;I guess that the problem could be related to the compiling and/or linking option i've used on the two machine.&lt;/P&gt;
&lt;P&gt;Accordingly i report the adopted option for both cases:&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;WINDOWS XP 32 bit (I'm using Visual Studio so i report the command line generated by VS)&lt;/P&gt;
&lt;P&gt;/nologo /debug:full /Od /heap-arrays0 /I"D:\\Programmi\\Intel\\Compiler\\11.0\\066\\fortran\\mkl\\include\\ " /I"D:\\Programmi\\VNI\\imsl\\fnl600\\IA32\\include\\STATIC\\\\" /gen-interfaces /warn:interfaces /module:"Debug\\\\" /object:"Debug\\\\" /traceback /check:bounds /libs:static /threads /dbglibs /c&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;------------------&lt;/P&gt;
&lt;P&gt;MAC OS 64 bit (this is the makefile since i'm using the command line)&lt;/P&gt;
&lt;P&gt;
&lt;/P&gt;&lt;DIV id="_mcePaste"&gt;INCLUDE=-I/opt/intel/Compiler/11.1/076/Frameworks/mkl/include/em64t/lp64&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;MKLINCLUDE=-I/opt/intel/Compiler/11.1/076/Frameworks/mkl/include&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;LIBDIR=/opt/intel/Compiler/11.1/076/lib/&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;LIBMKL=/opt/intel/Compiler/11.1/076/Frameworks/mkl/lib/em64t/&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;FC = ifort&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;FFLAGS1 =-O2 -heap-arrays -warn interfaces -check bounds -threads&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;#----------------------------------------------&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;TARGET:&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;@echo ".... Compiling DFTI MKL"&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;$(FC) /opt/intel/Compiler/11.1/076/Frameworks/mkl/include/mkl_dfti.f90 -c&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;@echo ".... Compiling NUFFT"&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;$(FC) $(FFLAGS1) Nufft.f90 -c&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;@echo ".... Compiling "&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;$(FC) $(FFLAGS1) Module1_FLAT.F90 Modulo_2.F90 SINTESI_MAIN.F90 -c&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;$(FC) $(FFLAGS1) -o sintesi.out *.o -L${LIBDIR} -L${LIBMKL} ${LIBMKL}/libmkl_intel_lp64.a ${LIBMKL}/libmkl_intel_thread.a ${LIBMKL}/libmkl_solver_lp64.a ${LIBMKL}/libmkl_core.a ${LIBDIR}libiomp5.a -lpthread&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;
&lt;DIV id="_mcePaste"&gt;#----------------------------------------------&lt;/DIV&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;where the main program is SINTESI_MAIN.F90 using three modules: MODULE1_FLAT Modulo_2 and NUFFT.f90 (which uses mkl_dfti.f90)&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Thanks&lt;/P&gt;
&lt;P&gt;Clodxp&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Mar 2010 12:08:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877253#M9085</guid>
      <dc:creator>clodxp</dc:creator>
      <dc:date>2010-03-05T12:08:29Z</dc:date>
    </item>
    <item>
      <title>MKL issue on MAC OS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877254#M9086</link>
      <description>&lt;P&gt;/Od on Windows ia32 compiler invokes x87 extra precision to some extent. If the difference is associated with the difference between -O2 and -Od (-O0 for Mac), you may need double precision somewhere, or you may want some options to disable non-standard optimizations; e.g.&lt;/P&gt;
&lt;P&gt;-assume protect_parens&lt;/P&gt;
&lt;P&gt;If the question is associated with MKL, the MKL forum is more suitable.&lt;/P&gt;</description>
      <pubDate>Fri, 05 Mar 2010 16:50:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877254#M9086</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2010-03-05T16:50:04Z</dc:date>
    </item>
    <item>
      <title>MKL issue on MAC OS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877255#M9087</link>
      <description>&lt;P&gt;Hi Tim,&lt;/P&gt;
&lt;P&gt;thank you for your answer.&lt;/P&gt;
&lt;P&gt;According to your suggestions i compiled using the following option, separetely:&lt;/P&gt;
&lt;P&gt;-O0&lt;/P&gt;
&lt;P&gt;-O2 -r8&lt;/P&gt;
&lt;P&gt;-O2 -assume protect_parens&lt;/P&gt;
&lt;P&gt;-O0 -assume protect_parens&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;Unfortunately i did not solve the problem.&lt;/P&gt;
&lt;P&gt;At the moment i'm trying to identify the variables involved in the gradient evaluation that could need the double precision (since up to now i'm using real variable instead of double, except in the routine called by the djacobi where i'm using double precision)&lt;/P&gt;
&lt;P&gt;Thank&lt;/P&gt;
&lt;P&gt;C&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Mar 2010 14:36:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877255#M9087</guid>
      <dc:creator>clodxp</dc:creator>
      <dc:date>2010-03-08T14:36:24Z</dc:date>
    </item>
    <item>
      <title>MKL issue on MAC OS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877256#M9088</link>
      <description>&lt;BR /&gt;Are there suggestions regarding this topic?&lt;BR /&gt;Thank you&lt;BR /&gt;Clodxp&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 23 Mar 2010 16:47:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877256#M9088</guid>
      <dc:creator>clodxp</dc:creator>
      <dc:date>2010-03-23T16:47:48Z</dc:date>
    </item>
    <item>
      <title>MKL issue on MAC OS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877257#M9089</link>
      <description>Clodxp,
&lt;DIV&gt;quote:"Infact the code is significantly slower than the Windows machine&lt;B&gt; an does not furnish the same results."&lt;/B&gt;&lt;/DIV&gt;
&lt;DIV&gt;Do you mean on Win 64 you have different results?&lt;/DIV&gt;
&lt;DIV&gt;if yes,I don't think that the compiler options will affect on the such result.&lt;/DIV&gt;
&lt;DIV&gt;How can we check the problem on our side?&lt;/DIV&gt;
&lt;DIV&gt;Can you please give us the reproducible test case?&lt;/DIV&gt;
&lt;DIV&gt;--Gennady&lt;/DIV&gt;
&lt;DIV&gt;&lt;B&gt;
&lt;BR /&gt;
&lt;BR /&gt;&lt;/B&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 23 Mar 2010 18:56:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877257#M9089</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2010-03-23T18:56:45Z</dc:date>
    </item>
    <item>
      <title>MKL issue on MAC OS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877258#M9090</link>
      <description>Dear Gennady,&lt;BR /&gt;thank you for your answer.&lt;BR /&gt;I did not tried it on a Win64, but I can make a test on a Linux 64bit.&lt;BR /&gt;I'll let you know asap.&lt;BR /&gt;Moreover, i'll try to extract a smaller test code and i'll upload it on the forum.&lt;BR /&gt;Thank you&lt;BR /&gt;Clodxp&lt;BR /&gt;</description>
      <pubDate>Wed, 24 Mar 2010 17:52:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877258#M9090</guid>
      <dc:creator>clodxp</dc:creator>
      <dc:date>2010-03-24T17:52:03Z</dc:date>
    </item>
    <item>
      <title>MKL issue on MAC OS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877259#M9091</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;DIV id="_mcePaste"&gt;Maybe i've found the issue causing the malfunctioning.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;It is due to the use of multi-thread. In fact when i'm using OMP_NUM_THREADS=1 the program works fine on the MAC machine, &lt;B&gt;while when i'm setting OMP_NUM_THREAD&amp;gt;1 i get the nan in the function of interest&lt;/B&gt;, as discussed in the initial post.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;On the other hand, when i'm using OMP_NUM_THREADS&amp;gt;1 and MKL_NUM_THREADS=1 the code works fine.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;Thank you&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;Clodxp&lt;/DIV&gt;Maybe i've found the issue causing the malfunctioning.It is due to the use of multi-thread. In fact when i'm using OMP_NUM_THREADS=1 the program works fine on the MAC machine, while when i'm setting OMP_NUM_THREAD&amp;gt;1 i get the nan in the function of interest, as discussed in the initial post.On the other hand, when i'm using OMP_NUM_THREADS&amp;gt;1 and MKL_NUM_THREADS=1 the code works fine.&lt;DIV&gt;Thank youClodxp&lt;/DIV&gt;</description>
      <pubDate>Mon, 19 Apr 2010 14:29:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877259#M9091</guid>
      <dc:creator>clodxp</dc:creator>
      <dc:date>2010-04-19T14:29:19Z</dc:date>
    </item>
    <item>
      <title>MKL issue on MAC OS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877260#M9092</link>
      <description>HelloClodxp,&lt;DIV&gt;That's very strange. I don't understand how it could be.How Can we check the problem on our side?&lt;/DIV&gt;&lt;DIV&gt;Can You upload the test?&lt;/DIV&gt;&lt;DIV&gt;Regards, Gennady&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 19 Apr 2010 15:27:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877260#M9092</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2010-04-19T15:27:43Z</dc:date>
    </item>
    <item>
      <title>MKL issue on MAC OS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877261#M9093</link>
      <description>Dear Gennady,&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;thank you for your answer.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;Unfortunately the code is very long and require a lot of data to run. I'll try to extract the part of interest and i'll test it, so that i can upload.&lt;/DIV&gt;&lt;DIV&gt;Up to now i can try to explain the functioning of the part of interest. The djacobi function has to evaluate the jacobian of an external function F. This function F evaluates the distance between two functions, say Q and W. The first function Q is dependent upon the unknowns, to be sought for. The second function, W, is a desired target function: the aim of the code is to find the unknowns that minimize the distance between Q and W.&lt;/DIV&gt;&lt;DIV&gt;The function Q is essentially obtained by using a FFT (DftiComputeForward). As i known from the MKL manual, the FFT can be easily parallelized by using OMP_NUM_THREAD&amp;gt;1 or MKL_NUM_THREADS&amp;gt;1. I known that, if not specified, the number of MKL threads performing the threaded MKL function is equal to OMP_NUM_THREADS. As consequence i guess that the there is something wrong in the evaluation of the function Q, when i set MKL_NUM_THREADS&amp;gt;1. It's like that some data remains "dirty" when performing the parallel execution of the FFT. &lt;/DIV&gt;&lt;DIV&gt;Thank you.&lt;/DIV&gt;&lt;DIV&gt;Let me know if you have any suggestion.&lt;/DIV&gt;&lt;DIV&gt;As soon as i can i will upload the part of interest of my code.&lt;/DIV&gt;&lt;DIV&gt;Ciao&lt;/DIV&gt;&lt;DIV&gt;Clodxp&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 20 Apr 2010 08:46:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877261#M9093</guid>
      <dc:creator>clodxp</dc:creator>
      <dc:date>2010-04-20T08:46:18Z</dc:date>
    </item>
    <item>
      <title>MKL issue on MAC OS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877262#M9094</link>
      <description>I extracted a sample program. It has no physic sense but i hope it can be useful to check what's wrong in my actual code. As in my full code i've considered a module.&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;MAIN PROGRAM +++++++++++++++++++++++++++++++++++++++++++++++++++&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;PROGRAM JACOBI_MATRIX&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;use module1_DJAC&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;IMPLICIT NONE&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INCLUDE 'MKL_RCI.fi'&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;EXTERNAL FCN&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;INTEGER N,M&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;PARAMETER(N=10,M=1)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;double precision Fun&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;double precision jac_eps,gnew(1,N)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;real g(N),res&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!-------------------------------------------------------------------------&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!	CREATE FFT DESCRIPTOR&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; dim1=N&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; dim2=1&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; allocate(data_in(dim1*dim2))&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; length_FFT(1)=dim1;length_FFT(2)=dim2&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; ! Create Descriptor&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; Status_FFT=DftiCreateDescriptor( Desc_Handle_FFT, DFTI_DOUBLE,DFTI_COMPLEX,2,length_FFT)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; ! Commit Descriptor&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; Status_FFT=DftiCommitDescriptor(Desc_Handle_FFT)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;	&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!	INITIALIZE X and yn&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;	allocate(X(N),yn(N))&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;	X(1:3)=0.05*70;X(4:7)=0.1*70;X(8:10)=0.15*70&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;	yn=1e-7;yn(5:8)=1.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;	&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!	EVALUATE FCN (EXTERNAL FUNCTION)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! FCN is the norm of the difference of the FFT of the term exp(j*X) and the vector yn&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!&lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;i.e. &lt;SPAN style="white-space: pre;"&gt;		&lt;/SPAN&gt;FCN=norm(FFT(exp(j*X)),yn)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;call FCN(M,N,X,Fun)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;print *,'Starting Fun =',Fun&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;	&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;	&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! EVALUATE GRADIENT &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;gnew=0;jac_eps=1D-7;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;res=djacobi(FCN,N,1,gnew(1,1:N),X(1:N),jac_eps)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;print *,gnew(1,1:N)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;end program JACOBI_MATRIX&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! ***********************************************************************&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;	subroutine FCN(M,N,X_IN,F)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; use module1_DJAC&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; implicit none&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; integer M,N,M_out&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; external sdot&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; double precision X_IN(N),F&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; real m1(N),ps1,sdot&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; complex out(N)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!-----------------------------------  &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; 	M_out=N&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; ! CALL EVAL FFT FUNCTION (That realizes the FFT of exp(j*X_IN))&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; call EVAL_FFT(X_IN,N,out,M_out)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; out=out/maxval(cabs(out))&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; m1=((cabs(out))**2)-yn   	&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; ps1=sdot(M_out,m1,1,m1,1)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; F=ps1&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;end subroutine FCN&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;+++++++++++++++++++++++++++++++++++++++++++++++++++&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;MODULE&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;+++++++++++++++++++++++++++++++++++++++++++++++++++&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;DIV id="_mcePaste"&gt;module module1_DJAC&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;Use MKL_DFTI&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;implicit none&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;!  FFT MKL DECLARATIONS&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;double complex, dimension(:),allocatable   :: data_in&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; type(DFTI_DESCRIPTOR), POINTER :: Desc_Handle_FFT&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; integer  Status_FFT,length_FFT(2),dim1,dim2&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; real   Scale_FFT&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; !&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;FUNCTION YN&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; real,dimension(:),allocatable&lt;SPAN style="white-space: pre;"&gt;				&lt;/SPAN&gt;::yn&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; double precision,dimension(:),allocatable&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;::X&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;contains&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! ***********************************************************************&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;subroutine EVAL_FFT(X_IN,N_X,OUT_VETT,N_OUT)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; implicit none&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; integer N_X,N_OUT&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; double precision X_IN(N_X)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; complex imag&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; parameter (imag=(0.,1.))&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; real dummy(N_X)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; complex OUT_VETT(N_OUT)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;!-----------------------------------  &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;! Data_in=exp(j*X_IN)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;dummy(1:N_X)=X(1:N_X)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; data_in=cexp(imag*dummy)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;! OUT_VETT=FFT(data_in)  &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; Status_FFT=DftiComputeForward(Desc_Handle_FFT,data_in)&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; OUT_VETT=data_in&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt; end subroutine EVAL_FFT&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;! ***********************************************************************&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;SPAN style="white-space: pre;"&gt;	&lt;/SPAN&gt;end module module1_DJAC&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;+++++++++++++++++++++++++++++++++++++++++++++++++++&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;When i use OMP_NUM_THREADS=4 and MKL_NUM_THREADS=1 the obtained gradient has all the components equal to 0.&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;THAT'S THE OUTPUT FOR MKL_NUM_THREADS=1&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;DIV id="_mcePaste"&gt;&amp;gt;&amp;gt;Mac-Pro-di-apple:TEST_DJACOBI claudio$ ./djacobi2.out&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;Starting Fun =  4.81621265411377  &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;0.000000000000000E+000&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;When i use MKL_NUM_THREADS=4&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;DIV id="_mcePaste"&gt;&amp;gt;&amp;gt;Mac-Pro-di-apple:TEST_DJACOBI claudio$ export MKL_NUM_THREADS=4&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;Mac-Pro-di-apple:TEST_DJACOBI claudio$ ./djacobi2.out&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;Starting Fun =  4.81621265411377  &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;-4442684.99101911    223754.474094936    1467580.79528809  &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;0.000000000000000E+000 -1739650.11324201    0.000000000000000E+000&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;0.000000000000000E+000 0.000000000000000E+000 -917188.099452427  &lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;0.000000000000000E+000&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;And different numbers are obtained each time i run the code&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;I hope the explanation of the issue is clear&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;Thank you&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;/DIV&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 26 Apr 2010 16:44:44 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877262#M9094</guid>
      <dc:creator>clodxp</dc:creator>
      <dc:date>2010-04-26T16:44:44Z</dc:date>
    </item>
    <item>
      <title>MKL issue on MAC OS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877263#M9095</link>
      <description>I've modified the test program (now it does not contain a module and is simpler) and i attached the file.&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;I've run the file on the Windows 32 bit machine (using Visual Studio) and on the MAC machine (Leopard Snow OS).&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;That's what i've got:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="sectionheading"&gt;&lt;SPAN style="font-weight: normal;"&gt;&amp;gt;&amp;gt;&amp;gt; WINDOWS:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-style: italic;"&gt;NUMBER OF ACTIVE THREADS ----&amp;gt;      2&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;I&gt;Starting Fun =  3.33070492744446&lt;/I&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;I&gt;-0.111034938267299    0.516687120710100    0.528608049665179&lt;/I&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;I&gt;-0.496421541486468   -3.746577671595982E-003 3.916876656668527E-003&lt;/I&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;I&gt;0.496421541486468   -0.528608049665178   -0.517254783993676&lt;/I&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;I&gt;0.111489068894159&lt;/I&gt;&lt;/DIV&gt;&lt;DIV id="_mcePaste"&gt;&lt;I&gt;GRADIENT EVALUATION TIME= 4.699999999866122E-002&lt;/I&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-size: small;"&gt;&lt;SPAN style="font-size: 12px;"&gt;-------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN class="sectionheading"&gt;&lt;SPAN style="font-weight: normal;"&gt;&amp;gt;&amp;gt;&amp;gt; MAC (OMP_NUM_THREADS=4; MKL_NUM_THREADS=1)&lt;/SPAN&gt;&lt;/SPAN&gt; (even if i do not use the OMP threads)&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-style: italic;"&gt;NUMBER OF ACTIVE THREADS ----&amp;gt;      4&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;I&gt;Starting Fun =  3.33070489925336  &lt;/I&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;I&gt;0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000&lt;/I&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;I&gt;0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000&lt;/I&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;I&gt;0.000000000000000E+000 0.000000000000000E+000 0.000000000000000E+000&lt;/I&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;I&gt;0.000000000000000E+000&lt;/I&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;I&gt;GRADIENT EVALUATION TIME= 3.499200000078417E-002&lt;/I&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-size: 12px;"&gt;-------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-size: 12px;"&gt;&amp;gt;&amp;gt;&amp;gt; MAC (OMP_NUM_THREADS=4; MKL_NUM_THREADS=4)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN style="font-size: small;"&gt;&lt;SPAN style="font-size: 12px;"&gt;&lt;DIV&gt;&lt;I&gt;NUMBER OF ACTIVE THREADS ----&amp;gt;      4&lt;/I&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;I&gt;Starting Fun =  3.33070489925336  &lt;/I&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;I&gt; 419.025421142578    -2416.71494075230    -3924.92464610509  &lt;/I&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;I&gt; 696.506159646171    -227.673053741455    -2490.09626252311  &lt;/I&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;I&gt;-2120.22244930267    1211.30568640573    -1522.04831441243  &lt;/I&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;I&gt;-3601.87212626139  &lt;/I&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;I&gt;GRADIENT EVALUATION TIME= 8.075900000403635E-002&lt;/I&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;I&gt;&lt;SPAN style="font-style: normal;"&gt;-------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/I&gt;&lt;/DIV&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV class="sectionheading"&gt;&lt;SPAN style="font-size: 11px; font-weight: normal;"&gt;I also attached the makefile i use on the MAC&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Please can someone test it and upload the results?&lt;/DIV&gt;&lt;DIV&gt;Thank you&lt;/DIV&gt;&lt;DIV&gt;Clodxp&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 28 Apr 2010 11:28:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877263#M9095</guid>
      <dc:creator>clodxp</dc:creator>
      <dc:date>2010-04-28T11:28:22Z</dc:date>
    </item>
    <item>
      <title>MKL issue on MAC OS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877264#M9096</link>
      <description>Clodxp,&lt;DIV&gt;looking at your makefile:&lt;/DIV&gt;&lt;DIV&gt;$(FC) $(FFLAGS1) TEST_DJACOBI3.f90 -o djacobi3.out *.o -L${LIBDIR} -L${LIBMKL} ${LIBMKL}/libmkl_intel_lp64.a ${LIBMKL}/libmkl_intel_thread.a ${LIBMKL}/libmkl_solver_lp64.a ${LIBMKL}/libmkl_core.a -lpthread&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;question: if you are linking with threaded lib's,why you missed liomp?&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;the end of your linking line should be like: ... &lt;B&gt;-liomp - lpthreads&lt;/B&gt; isn't it?&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;--Gennady&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 28 Apr 2010 12:06:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877264#M9096</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2010-04-28T12:06:45Z</dc:date>
    </item>
    <item>
      <title>MKL issue on MAC OS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877265#M9097</link>
      <description>&lt;BR /&gt;&lt;BR /&gt;Gennady&lt;BR /&gt;I've tried -liomp but i've got : "library not found".&lt;BR /&gt;So i tried -liomp5 and it works, but the results do not change.&lt;BR /&gt;Thank you&lt;BR /&gt;C&lt;BR /&gt;</description>
      <pubDate>Wed, 28 Apr 2010 12:34:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877265#M9097</guid>
      <dc:creator>clodxp</dc:creator>
      <dc:date>2010-04-28T12:34:06Z</dc:date>
    </item>
    <item>
      <title>MKL issue on MAC OS</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877266#M9098</link>
      <description>sorry for misprint.&lt;DIV&gt;Ok, need to check the problem on our side. I will back if any news.&lt;/DIV&gt;&lt;DIV&gt;--Gennady&lt;/DIV&gt;</description>
      <pubDate>Wed, 28 Apr 2010 13:23:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-issue-on-MAC-OS/m-p/877266#M9098</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2010-04-28T13:23:12Z</dc:date>
    </item>
  </channel>
</rss>

