<?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 Use of Scalapack for solving general square system of linear equations in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Use-of-Scalapack-for-solving-general-square-system-of-linear/m-p/984104#M17617</link>
    <description>&lt;P&gt;Hi!&lt;/P&gt;
&lt;P&gt;I have used FGMRES from mkl recently and since mkl doesn't support parallelization of FGMRES on multiple processors (only multithreading!), I would like to try my hands on Scalapack, which is able to solve the linear system of equations&amp;nbsp;in&amp;nbsp;a direct sense on multiple processors.&lt;/P&gt;
&lt;P&gt;I was studying p?getrs and found the mention of a distributed matrix. Physically this makes sense to me as I can imagine that the&amp;nbsp;actual&amp;nbsp;matrix will be split into various sub&amp;nbsp;matrices. Each of these would then&amp;nbsp;be solved&amp;nbsp;in parallel on multiple processors.&amp;nbsp;BUT there's some information missing or perhaps I missed it:(?)&lt;/P&gt;
&lt;P&gt;1. Should the user provide the sub matrices to all processors or will mkl scalapack do this automatically? If the user should provide this, what is the format and on what basis the partitioning must be performed. Will it be okay to use a library like ParMETIS to do this? If not, then does that mean the code runs sequentially to start with and then&amp;nbsp;broadcasts the sub matrices to respective processors?&lt;/P&gt;
&lt;P&gt;2. Also, I expect some communication between processors when the sub matrices are solved in parallel. There is no mention of this either.&lt;/P&gt;
&lt;P&gt;3. In the examples&amp;nbsp;folder, I was unable to locate&amp;nbsp;codes which give the actual calling sequence of sub routines for scalapack like for other solvers like FGMRES. Is this because this is rather trivial and needs just a factorization call followed by the call to the linear solver?&lt;/P&gt;
&lt;P&gt;Many Thanks,&lt;/P&gt;
&lt;P&gt;Amar&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 06 Jun 2013 22:33:31 GMT</pubDate>
    <dc:creator>Amar_K_1</dc:creator>
    <dc:date>2013-06-06T22:33:31Z</dc:date>
    <item>
      <title>Use of Scalapack for solving general square system of linear equations</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Use-of-Scalapack-for-solving-general-square-system-of-linear/m-p/984104#M17617</link>
      <description>&lt;P&gt;Hi!&lt;/P&gt;
&lt;P&gt;I have used FGMRES from mkl recently and since mkl doesn't support parallelization of FGMRES on multiple processors (only multithreading!), I would like to try my hands on Scalapack, which is able to solve the linear system of equations&amp;nbsp;in&amp;nbsp;a direct sense on multiple processors.&lt;/P&gt;
&lt;P&gt;I was studying p?getrs and found the mention of a distributed matrix. Physically this makes sense to me as I can imagine that the&amp;nbsp;actual&amp;nbsp;matrix will be split into various sub&amp;nbsp;matrices. Each of these would then&amp;nbsp;be solved&amp;nbsp;in parallel on multiple processors.&amp;nbsp;BUT there's some information missing or perhaps I missed it:(?)&lt;/P&gt;
&lt;P&gt;1. Should the user provide the sub matrices to all processors or will mkl scalapack do this automatically? If the user should provide this, what is the format and on what basis the partitioning must be performed. Will it be okay to use a library like ParMETIS to do this? If not, then does that mean the code runs sequentially to start with and then&amp;nbsp;broadcasts the sub matrices to respective processors?&lt;/P&gt;
&lt;P&gt;2. Also, I expect some communication between processors when the sub matrices are solved in parallel. There is no mention of this either.&lt;/P&gt;
&lt;P&gt;3. In the examples&amp;nbsp;folder, I was unable to locate&amp;nbsp;codes which give the actual calling sequence of sub routines for scalapack like for other solvers like FGMRES. Is this because this is rather trivial and needs just a factorization call followed by the call to the linear solver?&lt;/P&gt;
&lt;P&gt;Many Thanks,&lt;/P&gt;
&lt;P&gt;Amar&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 06 Jun 2013 22:33:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Use-of-Scalapack-for-solving-general-square-system-of-linear/m-p/984104#M17617</guid>
      <dc:creator>Amar_K_1</dc:creator>
      <dc:date>2013-06-06T22:33:31Z</dc:date>
    </item>
    <item>
      <title>Hi Amar, thanks for your</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Use-of-Scalapack-for-solving-general-square-system-of-linear/m-p/984105#M17618</link>
      <description>&lt;P&gt;Hi Amar, thanks for your questions. Many of them would require quite a bit of writeup, so&amp;nbsp;it occurred to me that this must have been written up somewhere. I have done some research for you&amp;nbsp;on past questions/answers pertaining to this specific subject.&lt;/P&gt;
&lt;P&gt;First things first, I noticed that there was a forum post a few years ago pertaining to the essentials of Scalapack&lt;/P&gt;
&lt;P&gt;&lt;A href="http://software.intel.com/en-us/forums/topic/288028"&gt;http://software.intel.com/en-us/forums/topic/288028&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Second, on your question on the distributed matrices, I found some information here.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://publib.boulder.ibm.com/infocenter/clresctr/vxrx/index.jsp?topic=%2Fcom.ibm.cluster.pessl.v4r2.pssl100.doc%2Fam6gr_lpotrs.htm"&gt;http://publib.boulder.ibm.com/infocenter/clresctr/vxrx/index.jsp?topic=%2Fcom.ibm.cluster.pessl.v4r2.pssl100.doc%2Fam6gr_lpotrs.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;As far as how Intel MKL specifically handles the distributed matrices? I will defer to Ivan, our resident scalapack expert. I will ask him to take a look at your question and he will respond here ASAP. I hope this is enough to sink your teeth into until then.&lt;/P&gt;</description>
      <pubDate>Fri, 07 Jun 2013 17:26:58 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Use-of-Scalapack-for-solving-general-square-system-of-linear/m-p/984105#M17618</guid>
      <dc:creator>Noah_C_Intel</dc:creator>
      <dc:date>2013-06-07T17:26:58Z</dc:date>
    </item>
    <item>
      <title>Dear Amar,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Use-of-Scalapack-for-solving-general-square-system-of-linear/m-p/984106#M17619</link>
      <description>&lt;P&gt;Dear Amar,&lt;/P&gt;
&lt;P&gt;The examples of &amp;nbsp;calling sequence of ScaLAPACK subroutines p?getrf&amp;nbsp; and p?getrs &amp;nbsp;can be found in the tests folder: __release_lnx/mkl/tests/scalapack/source/LIN. Please take a look at pdludriver.f &amp;nbsp;as an example for the for the double precision &amp;nbsp;&amp;nbsp;ScaLAPACK LU routines.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;All communications in ScaLAPACK are done with the help of BLACS routines. The BLACS &amp;nbsp;routines are used to support a linear algebra oriented message passing interface.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;All the best&lt;/P&gt;
&lt;P&gt;Sergey&lt;/P&gt;</description>
      <pubDate>Thu, 13 Jun 2013 05:40:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Use-of-Scalapack-for-solving-general-square-system-of-linear/m-p/984106#M17619</guid>
      <dc:creator>Sergey_K_Intel1</dc:creator>
      <dc:date>2013-06-13T05:40:00Z</dc:date>
    </item>
  </channel>
</rss>

