<?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 Inversion of matrix of dimension greater than 2^15.5 in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802337#M3162</link>
    <description>&lt;P&gt;Intel MKL uses instead of int variable MKL_INT. For MKL ILP64 integer type is MKL_INT64.&lt;/P&gt;</description>
    <pubDate>Mon, 31 Oct 2011 19:26:47 GMT</pubDate>
    <dc:creator>yuriisig</dc:creator>
    <dc:date>2011-10-31T19:26:47Z</dc:date>
    <item>
      <title>Inversion of matrix of dimension greater than 2^15.5</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802333#M3158</link>
      <description>Hi, MKL matrix inversions are based on LAPACK and store matrices in vectors. Their dimension is thus limited by the integer size, namely sqrt(2^31). Is it possible to inverse a matrix greater than that?&lt;BR /&gt;&lt;BR /&gt;PS. in animal breeding, large covariance matrix  inversion is often used. Before, we are using the relationship expectation and its inversion has an O(n) algorithm. Now we are using realized relationship due to the advances of molecular genetics. Then we have to inverse such matrices with brute force.&lt;BR /&gt;&lt;BR /&gt;At the moment, matirx dim=40k, dgetrf+dgetri take about 560min user time on Intel x5550. This is acceptable, so is their accuracy. If using dpotrf+dpotri, the time can be further reduced to 275 min.</description>
      <pubDate>Sun, 30 Oct 2011 11:07:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802333#M3158</guid>
      <dc:creator>qtl</dc:creator>
      <dc:date>2011-10-30T11:07:04Z</dc:date>
    </item>
    <item>
      <title>Inversion of matrix of dimension greater than 2^15.5</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802334#M3159</link>
      <description>Anyhow, using block matrix inversion can circumvent this. But a one step function is preferred.</description>
      <pubDate>Sun, 30 Oct 2011 11:58:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802334#M3159</guid>
      <dc:creator>qtl</dc:creator>
      <dc:date>2011-10-30T11:58:53Z</dc:date>
    </item>
    <item>
      <title>Inversion of matrix of dimension greater than 2^15.5</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802335#M3160</link>
      <description>&lt;P&gt;I've checked IPP's Matrix Processing API:&lt;/P&gt;&lt;P&gt;- There are lots of functions to calculate a matrix inverse, like:&lt;/P&gt;&lt;P&gt; IppStatus &lt;STRONG&gt;ippmInvert_m_32f&lt;/STRONG&gt;(&lt;BR /&gt; ...&lt;BR /&gt; Ipp32u widthHeight,&lt;BR /&gt;... );&lt;/P&gt;&lt;P&gt;- A declaration for '&lt;STRONG&gt;Ipp32u&lt;/STRONG&gt;', is as follows:&lt;/P&gt;&lt;P&gt;typedef &lt;STRONG&gt;unsigned int&lt;/STRONG&gt; Ipp32u;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;- A max value for '&lt;STRONG&gt;unsigned int&lt;/STRONG&gt;' is as follows:&lt;/P&gt;&lt;P&gt;0xFFFFFFFF(base16) = &lt;STRONG&gt;4294967295&lt;/STRONG&gt;(Base10) = ((2^32) - 1)(Base10)&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;- And, there is another declaration:&lt;/P&gt;&lt;P&gt;#define IPP_MAX_32U ( 0xFFFFFFFF )&lt;/P&gt;&lt;P&gt;- A maximum size of a matrix could be &lt;STRONG&gt;4294967295 x 4294967295&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 31 Oct 2011 13:57:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802335#M3160</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2011-10-31T13:57:37Z</dc:date>
    </item>
    <item>
      <title>Inversion of matrix of dimension greater than 2^15.5</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802336#M3161</link>
      <description>&lt;DIV&gt;one note should be added specifically for IPP vector math function implementation - all of these functions are highly optimized for 2x2, 3x3... 6x6 matrixes. So, execution the ippmInvertr_m_32f function for the big inputs will take very long time...&lt;/DIV&gt;</description>
      <pubDate>Mon, 31 Oct 2011 14:44:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802336#M3161</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2011-10-31T14:44:36Z</dc:date>
    </item>
    <item>
      <title>Inversion of matrix of dimension greater than 2^15.5</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802337#M3162</link>
      <description>&lt;P&gt;Intel MKL uses instead of int variable MKL_INT. For MKL ILP64 integer type is MKL_INT64.&lt;/P&gt;</description>
      <pubDate>Mon, 31 Oct 2011 19:26:47 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802337#M3162</guid>
      <dc:creator>yuriisig</dc:creator>
      <dc:date>2011-10-31T19:26:47Z</dc:date>
    </item>
    <item>
      <title>Inversion of matrix of dimension greater than 2^15.5</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802338#M3163</link>
      <description>&amp;gt;PS. in animal breeding, large covariance matrix  inversion is often 
used. Before, we are using the relationship expectation and its 
&amp;gt;inversion has an O(n) algorithm. Now we are using realized relationship
 due to the advances of molecular genetics. Then we have &amp;gt;to inverse 
such matrices with brute force.&lt;BR /&gt;&lt;BR /&gt;Is the matrix sparse and symmetric?&lt;BR /&gt;&lt;BR /&gt;Olaf&lt;BR /&gt;</description>
      <pubDate>Mon, 31 Oct 2011 20:12:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802338#M3163</guid>
      <dc:creator>basel</dc:creator>
      <dc:date>2011-10-31T20:12:26Z</dc:date>
    </item>
    <item>
      <title>Inversion of matrix of dimension greater than 2^15.5</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802339#M3164</link>
      <description>&amp;gt; &lt;I&gt;Is the matrix sparse and symmetric?&lt;/I&gt;&lt;BR /&gt;&lt;BR /&gt;It is symmetric since multiplication is commutative. Often, elements that should be zero show up with small non-zero values because of noise in the data from which the covariance matrix is computed.</description>
      <pubDate>Tue, 01 Nov 2011 04:22:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802339#M3164</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2011-11-01T04:22:36Z</dc:date>
    </item>
    <item>
      <title>Inversion of matrix of dimension greater than 2^15.5</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802340#M3165</link>
      <description>&lt;BR /&gt;&amp;gt;It is symmetric since multiplication is commutative. Often, elements
 that should be zero show up with small non-zero values &amp;gt;because of noise
 in the data from which the covariance matrix is computed.&lt;BR /&gt;&lt;BR /&gt;If it is symmtric and sparse you might use other options than the LAPACK routines. We are computing diagonal elements of the inverse in A in an animal breeding applications with millions of equations. Send me an email and we can discuss it offline.&lt;BR /&gt;&lt;BR /&gt;olaf.schenk@unibas.ch</description>
      <pubDate>Tue, 01 Nov 2011 06:07:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802340#M3165</guid>
      <dc:creator>basel</dc:creator>
      <dc:date>2011-11-01T06:07:26Z</dc:date>
    </item>
    <item>
      <title>Inversion of matrix of dimension greater than 2^15.5</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802341#M3166</link>
      <description>With the realized relationship, the matrix is not sparse, all values are in [0, 1]. But the matrix is symmetric. The matrix dimension is acturally the number of ID in a population, ie number of animals/plant individuals. So relationship between ID A &amp;amp; B is same to relationship of B&amp;amp;A.&lt;BR /&gt;&lt;BR /&gt;I also realized that large matrix needs really `super' computers, e.g., even using half storage, 1M id  need 3.7T memory.</description>
      <pubDate>Tue, 01 Nov 2011 13:07:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802341#M3166</guid>
      <dc:creator>qtl</dc:creator>
      <dc:date>2011-11-01T13:07:17Z</dc:date>
    </item>
    <item>
      <title>Inversion of matrix of dimension greater than 2^15.5</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802342#M3167</link>
      <description>&lt;P&gt;You read my message? There it is written that you can work with matrixes of dimension greater than 2^15.5 on one computer, using Intel MKL.&lt;/P&gt;</description>
      <pubDate>Tue, 01 Nov 2011 14:48:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802342#M3167</guid>
      <dc:creator>yuriisig</dc:creator>
      <dc:date>2011-11-01T14:48:10Z</dc:date>
    </item>
    <item>
      <title>Inversion of matrix of dimension greater than 2^15.5</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802343#M3168</link>
      <description>I wrote a sample program as below&lt;BR /&gt;&lt;PRE&gt;[cpp]#include &lt;IOSTREAM&gt;
#include &lt;MKL.H&gt;
using namespace std;
int main(int argc, char *argv[])
{
  MKL_INT c(4294967295), inc(1), i;
  double a&lt;C&gt;;

  for(i=0; i&lt;C&gt;=.5;
  cout&amp;lt;&lt;DASUM&gt; Then I compiled with the following command:&lt;BR /&gt;icpc -DMKL_ILP64 -mkl t.cpp&lt;BR /&gt;When running the binary, I got a segment fault error. My ulimit stack size is 6G. So I think the BLAS core is not ready for int64.&lt;BR /&gt;&lt;/DASUM&gt;&lt;/C&gt;&lt;/C&gt;&lt;/MKL.H&gt;&lt;/IOSTREAM&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 01 Nov 2011 15:56:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802343#M3168</guid>
      <dc:creator>qtl</dc:creator>
      <dc:date>2011-11-01T15:56:42Z</dc:date>
    </item>
    <item>
      <title>Inversion of matrix of dimension greater than 2^15.5</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802344#M3169</link>
      <description>MKL_INTc(4294967295) ???&lt;BR /&gt;Dynamic selection of storage is necessary.</description>
      <pubDate>Tue, 01 Nov 2011 19:26:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802344#M3169</guid>
      <dc:creator>yuriisig</dc:creator>
      <dc:date>2011-11-01T19:26:34Z</dc:date>
    </item>
    <item>
      <title>Inversion of matrix of dimension greater than 2^15.5</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802345#M3170</link>
      <description>&lt;DIV id="tiny_quote"&gt;&lt;DIV style="margin-left: 2px; margin-right: 2px;"&gt;Quoting &lt;A jquery1320204918656="53" rel="/en-us/services/profile/quick_profile.php?is_paid=&amp;amp;user_id=176595" href="https://community.intel.com/en-us/profile/176595/" class="basic"&gt;qtl&lt;/A&gt;&lt;/DIV&gt;&lt;DIV style="background-color: #e5e5e5; margin-left: 2px; margin-right: 2px; border: 1px inset; padding: 5px;"&gt;&lt;I&gt;With the realized relationship, the matrix is not sparse, all values are in [0, 1]. But the matrix is symmetric.&lt;/I&gt;&lt;/DIV&gt;Intel MKL is able to process the symmetric matrixes in the packed form. It saves storage. But these algorithms in Intel MKL are ineffective: &lt;A href="http://software.intel.com/en-us/forums/showthread.php?t=76595&amp;amp;o=d&amp;amp;s=lr"&gt;http://software.intel.com/en-us/forums/showthread.php?t=76595&amp;amp;o=d&amp;amp;s=lr&lt;/A&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 02 Nov 2011 03:37:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802345#M3170</guid>
      <dc:creator>yuriisig</dc:creator>
      <dc:date>2011-11-02T03:37:43Z</dc:date>
    </item>
    <item>
      <title>Inversion of matrix of dimension greater than 2^15.5</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802346#M3171</link>
      <description>&lt;DIV&gt;Please add the all ILP64 libraries explicitly. See the MKL Linker adviser &lt;A href="http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/"&gt;here&lt;/A&gt;.&lt;/DIV&gt;</description>
      <pubDate>Wed, 02 Nov 2011 05:25:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Inversion-of-matrix-of-dimension-greater-than-2-15-5/m-p/802346#M3171</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2011-11-02T05:25:13Z</dc:date>
    </item>
  </channel>
</rss>

