<?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 Re:call pardiso when using coarray fortran in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1433990#M33929</link>
    <description>&lt;P&gt;Hi Xu,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for getting back to us.&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;gt;&amp;gt;4 is slower than setting it to 2. My laptop has 6 cores.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Could you please let us know the timings that you are getting with 4 threads and 2 threads?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vidya.&lt;/P&gt;&lt;BR /&gt;</description>
    <pubDate>Tue, 29 Nov 2022 14:12:10 GMT</pubDate>
    <dc:creator>VidyalathaB_Intel</dc:creator>
    <dc:date>2022-11-29T14:12:10Z</dc:date>
    <item>
      <title>call pardiso when using coarray fortran</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1424346#M33791</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I wonder that what is the most efficient way to call pardiso in coarray fortran. For example, my laptop has 6 cores and 12 logical processors. The num_images() was set to be 6 and I call pardiso in the following way:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;if(this_image()==1)then&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; call psrdiso&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; !&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;call pardiso on image 1&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; sync images(*)&lt;/P&gt;
&lt;P&gt;else&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; sync images(1)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;!&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; other images are waiting the pardiso&lt;/P&gt;
&lt;P&gt;end if&lt;/P&gt;
&lt;P&gt;call co_broadcast(&amp;lt;solution&amp;gt;,1)&amp;nbsp; ! broadcast the solution to images 2-6.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It works. But, is this the best way to use pardiso in this case? I feel that in this way pardiso can not make full use of the cpu. I mean, there are some processors occupied by images 2-6 and they can not be used by pardiso, and also, they can not do anything else because their next tasks are based on the result from pardiso. Is there a better way to call pardiso in such a case?&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Using sparse solver efficiently is important for our project.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks and best regards,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Xu&lt;/P&gt;</description>
      <pubDate>Sun, 23 Oct 2022 16:14:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1424346#M33791</guid>
      <dc:creator>xulisdu</dc:creator>
      <dc:date>2022-10-23T16:14:07Z</dc:date>
    </item>
    <item>
      <title>Re:call pardiso when using coarray fortran</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1424472#M33792</link>
      <description>&lt;P&gt;Hi Xu,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for reaching out to us.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;gt;&amp;gt;...pardiso can not make full use of the cpu&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Could you please let us know how you are compiling the code?&lt;/P&gt;&lt;P&gt;Because, by default, Intel® oneAPI Math Kernel Library uses the number of OpenMP threads equal to the number of physical cores on the system.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;&lt;EM&gt;Is there a better way to call pardiso in such a case? Using sparse solver efficiently is important for our project.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Please provide us with the sample reproducer code and the steps to compile (along with your OS details and MKL version being used) and run &amp;amp; the timings that you are getting so that we could try the same from our end.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vidya.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 24 Oct 2022 13:35:40 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1424472#M33792</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2022-10-24T13:35:40Z</dc:date>
    </item>
    <item>
      <title>Re:call pardiso when using coarray fortran</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1426410#M33810</link>
      <description>&lt;P&gt;Hi Xu,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;As we haven't heard back from you, could you please provide us with an update regarding the issue? Please get back to us with the above-mentioned details if the issue still persists.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vidya.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 31 Oct 2022 12:13:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1426410#M33810</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2022-10-31T12:13:01Z</dc:date>
    </item>
    <item>
      <title>Re: Re:call pardiso when using coarray fortran</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1426420#M33813</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;SPAN&gt;Vidya,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I complie the code with both Visual Studio 2022 (Win 10 system) and in my workstation (Linux system).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I make a short smaple, which you can find in the attachment. On Win 10 you can directly open the .sln file and then run it. On Linux I use the following commands:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; mpiifort -c -O3 -coarray -coarray-num-images=9 main.f90 sparseMatrix.f90&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;mpiifort -c -O3 -coarray -coarray-num-images=9 main.f90 sparseMatrix.f90&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;mpiifort -zero -coarray -coarray-num-images=9 sparseMatrix.o main.o -o main -I${MKLROOT}/include -L${MKLROOT}/lib/intel64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_lapack95_lp64 -liomp5 -lpthread&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;./main&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;...&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;It seems that in both cases pardiso is run on 1 openmp automatically. The ifort version is 2021.6 and the MKL version is 2022.1.0.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thanks and best regards,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Xu&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 31 Oct 2022 13:22:45 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1426420#M33813</guid>
      <dc:creator>xulisdu</dc:creator>
      <dc:date>2022-10-31T13:22:45Z</dc:date>
    </item>
    <item>
      <title>Re:call pardiso when using coarray fortran</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1428351#M33835</link>
      <description>&lt;P&gt;Hi Xu,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for providing us the details.&lt;/P&gt;&lt;P&gt;The issue is reproducible from our end and could see that even after setting the MKL to parallel it still runs on 1 openmp thread.&lt;/P&gt;&lt;P&gt;We are working on this issue, we will get back to you soon.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Meanwhile, could you please try setting MKL_NUM_THREADS environment variable and then try executing the code and check if the issue still persists?&lt;/P&gt;&lt;P&gt;Eg:&lt;/P&gt;&lt;P&gt;&amp;gt; set MKL_NUM_THREADS=4&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vidya.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 08 Nov 2022 05:54:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1428351#M33835</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2022-11-08T05:54:54Z</dc:date>
    </item>
    <item>
      <title>Re:call pardiso when using coarray fortran</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1430240#M33868</link>
      <description>&lt;P&gt;Hi Xu,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;As we haven't heard back from you, could you please provide us with an update regarding the issue?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vidya.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 15 Nov 2022 08:42:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1430240#M33868</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2022-11-15T08:42:34Z</dc:date>
    </item>
    <item>
      <title>Re: Re:call pardiso when using coarray fortran</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1431608#M33892</link>
      <description>&lt;P&gt;Hi Vidya,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am sorry for my late reply. Setting&amp;nbsp;&lt;SPAN&gt;MKL_NUM_THREADS=4 really works. However, what is wired is that setting it to 4 is slower than setting it to 2. My laptop has 6 cores. This is indeed the real reason why I propose the question. I wonder an optimal choice of&amp;nbsp;MKL_NUM_THREADS under coarray environment. Does this depend on the image numbers set for the coarray Fortran?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thanks and best regards,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Xu&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 20 Nov 2022 21:39:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1431608#M33892</guid>
      <dc:creator>xulisdu</dc:creator>
      <dc:date>2022-11-20T21:39:57Z</dc:date>
    </item>
    <item>
      <title>Re:call pardiso when using coarray fortran</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1433990#M33929</link>
      <description>&lt;P&gt;Hi Xu,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks for getting back to us.&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;gt;&amp;gt;4 is slower than setting it to 2. My laptop has 6 cores.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;Could you please let us know the timings that you are getting with 4 threads and 2 threads?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Vidya.&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 29 Nov 2022 14:12:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1433990#M33929</guid>
      <dc:creator>VidyalathaB_Intel</dc:creator>
      <dc:date>2022-11-29T14:12:10Z</dc:date>
    </item>
    <item>
      <title>Re: Re:call pardiso when using coarray fortran</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1435269#M33948</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;the timing on 4 threads is nearly twice as long as the one on 2 threads. On the other hand, I plan to close this question. Anyway, thank you very much for you kindly help!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Xu&lt;/P&gt;</description>
      <pubDate>Fri, 02 Dec 2022 17:18:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/call-pardiso-when-using-coarray-fortran/m-p/1435269#M33948</guid>
      <dc:creator>xulisdu</dc:creator>
      <dc:date>2022-12-02T17:18:14Z</dc:date>
    </item>
  </channel>
</rss>

