<?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 Sparse Matrix Storage in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865294#M7909</link>
    <description>Dear guys;&lt;BR /&gt;&lt;BR /&gt;I'm trying to use PARDISO routine insteade of ?GETRS to use the advantage of sparse matrix. However, I couldn't find any MKL routine for converting a matrix to the proper sparse storage.&lt;BR /&gt;&lt;BR /&gt;Is there any library that I can use for sparse storage, or I should write my own code for it?&lt;BR /&gt;&lt;BR /&gt;Thanks in advance&lt;BR /&gt;Hossein&lt;BR /&gt;</description>
    <pubDate>Tue, 07 Apr 2009 07:41:53 GMT</pubDate>
    <dc:creator>pourmatin85</dc:creator>
    <dc:date>2009-04-07T07:41:53Z</dc:date>
    <item>
      <title>Sparse Matrix Storage</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865294#M7909</link>
      <description>Dear guys;&lt;BR /&gt;&lt;BR /&gt;I'm trying to use PARDISO routine insteade of ?GETRS to use the advantage of sparse matrix. However, I couldn't find any MKL routine for converting a matrix to the proper sparse storage.&lt;BR /&gt;&lt;BR /&gt;Is there any library that I can use for sparse storage, or I should write my own code for it?&lt;BR /&gt;&lt;BR /&gt;Thanks in advance&lt;BR /&gt;Hossein&lt;BR /&gt;</description>
      <pubDate>Tue, 07 Apr 2009 07:41:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865294#M7909</guid>
      <dc:creator>pourmatin85</dc:creator>
      <dc:date>2009-04-07T07:41:53Z</dc:date>
    </item>
    <item>
      <title>Re: Sparse Matrix Storage</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865295#M7910</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/421818"&gt;pourmatin85&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;Dear guys;&lt;BR /&gt;&lt;BR /&gt;I'm trying to use PARDISO routine insteade of ?GETRS to use the advantage of sparse matrix. However, I couldn't find any MKL routine for converting a matrix to the proper sparse storage.&lt;BR /&gt;&lt;BR /&gt;Is there any library that I can use for sparse storage, or I should write my own code for it?&lt;BR /&gt;&lt;BR /&gt;Thanks in advance&lt;BR /&gt;Hossein&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
there is. see description of mkl_dcsrcoo routine. also &lt;A href="http://software.intel.com/en-us/forums/showthread.php?t=64691"&gt;this thread&lt;/A&gt; and Gennady's response for additional info.&lt;BR /&gt;&lt;BR /&gt;A.&lt;BR /&gt;</description>
      <pubDate>Tue, 07 Apr 2009 07:57:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865295#M7910</guid>
      <dc:creator>ArturGuzik</dc:creator>
      <dc:date>2009-04-07T07:57:42Z</dc:date>
    </item>
    <item>
      <title>Re: Sparse Matrix Storage</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865296#M7911</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/342379"&gt;ArturGuzik&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
there is. see description of mkl_dcsrcoo routine. also &lt;A href="http://software.intel.com/en-us/forums/showthread.php?t=64691"&gt;this thread&lt;/A&gt; and Gennady's response for additional info.&lt;BR /&gt;&lt;BR /&gt;A.&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Thanks alot for your quick reply. I found mkl_dcsrcoo and learned to use it. However, I just found out that my actual problem is with the matrix at the beginning of the execution. It means that for a heavy input data (for example 15000 elements) the code would allocate a, say, 20000 by 20000 matrix, which will led to memory stack error.&lt;BR /&gt;&lt;BR /&gt;So, seems to me I have to generate CSR at the very first beginning of the code so i would never use such a huge matrix.&lt;BR /&gt;&lt;BR /&gt;Is there any routine which can help me in this case?&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;Hossein&lt;BR /&gt;</description>
      <pubDate>Tue, 07 Apr 2009 10:25:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865296#M7911</guid>
      <dc:creator>pourmatin85</dc:creator>
      <dc:date>2009-04-07T10:25:12Z</dc:date>
    </item>
    <item>
      <title>Re: Sparse Matrix Storage</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865297#M7912</link>
      <description>&lt;BR /&gt;
&lt;P&gt;Hossein, &lt;BR /&gt;It seems that your input matrix is not sparse matrix but the dense one.&lt;BR /&gt;The number of non-zeros elements for sparse matrix is pretty small - several percentage.&lt;BR /&gt;So that is the reason why the sparse Solvers work with very big system and 20000x20000 is the typical sizes.&lt;BR /&gt;What is the number of non-zeros elements in your input matrix and what is the size of this matrix?&lt;BR /&gt;-Gennady&lt;/P&gt;</description>
      <pubDate>Tue, 07 Apr 2009 12:39:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865297#M7912</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2009-04-07T12:39:12Z</dc:date>
    </item>
    <item>
      <title>Re: Sparse Matrix Storage</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865298#M7913</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/334681"&gt;Gennady Fedorov (Intel)&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;&lt;BR /&gt;
&lt;P&gt;Hossein, &lt;BR /&gt;It seems that your input matrix is not sparse matrix but the dense one.&lt;BR /&gt;The number of non-zeros elements for sparse matrix is pretty small - several percentage.&lt;BR /&gt;So that is the reason why the sparse Solvers work with very big system and 20000x20000 is the typical sizes.&lt;BR /&gt;What is the number of non-zeros elements in your input matrix and what is the size of this matrix?&lt;BR /&gt;-Gennady&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
I can assure you that my matrix is a sparse matrix, for the number of non-zero elements are 2% to 5% of total elements.&lt;BR /&gt;However, I'm very surperised about what you said about 20000x20000 matrixes, is it really a typical size to you!!&lt;BR /&gt;anyway, is there any routine that could avoid allocation of big matrixes. If not, what can I do with the memory stack errors?&lt;BR /&gt;</description>
      <pubDate>Tue, 07 Apr 2009 12:59:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865298#M7913</guid>
      <dc:creator>pourmatin85</dc:creator>
      <dc:date>2009-04-07T12:59:19Z</dc:date>
    </item>
    <item>
      <title>Re: Sparse Matrix Storage</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865299#M7914</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/421818"&gt;pourmatin85&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt; I can assure you that my matrix is a sparse matrix, for the number of non-zero elements are 2% to 5% of total elements.&lt;BR /&gt;However, I'm very surperised about what you said about 20000x20000 matrixes, is it really a typical size to you!!&lt;BR /&gt;anyway, is there any routine that could avoid allocation of big matrixes. If not, what can I do with the memory stack errors?&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
Hossein,&lt;BR /&gt;&lt;BR /&gt;before trying to suggest something, a few things (additional info) need to be clarified:&lt;BR /&gt;&lt;BR /&gt;(1) what architecture (IA32/x64) and what system (win/linux) are you on?&lt;BR /&gt;(2) what is the 'nature' of your problem to solve? Is it FEM or something else?&lt;BR /&gt;(3) how do you allocate matrix (COMMON block, ALLOCATABLE statement) and how do you pass the matrix to subroutines, if at all?&lt;BR /&gt;&lt;BR /&gt;Comments:&lt;BR /&gt;(1) stack (for windows exe) can be increased. &lt;BR /&gt;(2) matrices passed incorrectly require compiler (sometimes) to make temp copy&lt;BR /&gt;(3) you can use heap arrays switch&lt;BR /&gt;(4) anyway you should try to avoid creating rectangular matrix just for the sake of making a sparse (compressed) version at the next step.&lt;BR /&gt;&lt;BR /&gt;A.&lt;BR /&gt;</description>
      <pubDate>Wed, 08 Apr 2009 00:28:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865299#M7914</guid>
      <dc:creator>ArturGuzik</dc:creator>
      <dc:date>2009-04-08T00:28:50Z</dc:date>
    </item>
    <item>
      <title>Re: Sparse Matrix Storage</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865300#M7915</link>
      <description>I have a 64 achitecture intel processor (T7700) and vista (32-bit). However, my code works in win32 platform (becuase of of problems that I had with including mkl for 64x). Anyway my program is FEM and I allocate my stiffness matrix and I pass it through a madule.&lt;BR /&gt;</description>
      <pubDate>Wed, 08 Apr 2009 05:42:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865300#M7915</guid>
      <dc:creator>pourmatin85</dc:creator>
      <dc:date>2009-04-08T05:42:38Z</dc:date>
    </item>
    <item>
      <title>Re: Sparse Matrix Storage</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865301#M7916</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/421818"&gt;pourmatin85&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt; I have a 64 achitecture intel processor (T7700) and vista (32-bit). However, my code works in win32 platform (becuase of of problems that I had with including mkl for 64x). Anyway my program is FEM and I allocate my stiffness matrix and I pass it through a madule.&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
OK then. You not only have a spare but also a symmetric (stiffness) matrix. For IA32 with 20,000 x 20,000 (double?) real matrix you just reach the (theoretical) 2GB (you may try boot with 3GB option) per process limits. So basically you have two options at hand:&lt;BR /&gt;&lt;BR /&gt;(1) fix problem once for all and create sparse matrix (avoiding the huge matrix) only. In case of FEM is not that difficult, as you need something like:&lt;BR /&gt;&lt;BR /&gt;(a) loop over all nodes&lt;BR /&gt;(b) for each node determine column and row indexes&lt;BR /&gt;(c) write routine for assembling the matrix (symm part only).&lt;BR /&gt;&lt;BR /&gt;Try to find something (source code) on Internet as this was done in FEM for ages.&lt;BR /&gt;&lt;BR /&gt;(2) switch to x64 system (what problems did you have????, MKL works very well on x64 system) and try to go along existing path of assembling matrix and then using mkl_xxx routine to create compressed format matrix.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;A.&lt;BR /&gt;</description>
      <pubDate>Wed, 08 Apr 2009 06:15:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865301#M7916</guid>
      <dc:creator>ArturGuzik</dc:creator>
      <dc:date>2009-04-08T06:15:01Z</dc:date>
    </item>
    <item>
      <title>Re: Sparse Matrix Storage</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865302#M7917</link>
      <description>Ok, here is my problem about x64 system:&lt;BR /&gt;when I start to build my project in x64, this error appears:&lt;BR /&gt;Error 1 fatal error LNK1112: module machine type 'IA64' conflicts with target machine type 'x64' mkl_intel_ilp64.lib(_dgetrf.obj) &lt;BR /&gt;&lt;BR /&gt;Am I including wrong libraries?&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 08 Apr 2009 06:51:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865302#M7917</guid>
      <dc:creator>pourmatin85</dc:creator>
      <dc:date>2009-04-08T06:51:31Z</dc:date>
    </item>
    <item>
      <title>Re: Sparse Matrix Storage</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865303#M7918</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/421818"&gt;pourmatin85&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt; Ok, here is my problem about x64 system:&lt;BR /&gt;when I start to build my project in x64, this error appears:&lt;BR /&gt;Error	1	 fatal error LNK1112: module machine type 'IA64' conflicts with target machine type 'x64'	mkl_intel_ilp64.lib(_dgetrf.obj)	&lt;BR /&gt;&lt;BR /&gt;Am I including wrong libraries?&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
yes, you do (use wrong libs). IA64 means Itanium processor. Your architecture is known as em64t or Intel64, so you need to point to something like C:Program Files (x86)IntelCompiler11.0&amp;#0;72fortranmklem64tlib.&lt;BR /&gt;&lt;BR /&gt;Please take a look also at &lt;A href="http://software.intel.com/en-us/forums/showthread.php?t=64487"&gt;this thread&lt;/A&gt; (end of it).&lt;BR /&gt;&lt;BR /&gt;A.&lt;BR /&gt;</description>
      <pubDate>Wed, 08 Apr 2009 07:09:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865303#M7918</guid>
      <dc:creator>ArturGuzik</dc:creator>
      <dc:date>2009-04-08T07:09:33Z</dc:date>
    </item>
    <item>
      <title>Re: Sparse Matrix Storage</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865304#M7919</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/342379"&gt;ArturGuzik&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt; yes, you do (use wrong libs). IA64 means Itanium processor. Your architecture is known as em64t or Intel64, so you need to point to something like C:Program Files (x86)IntelCompiler11.0&amp;#0;72fortranmklem64tlib.&lt;BR /&gt;&lt;BR /&gt;Please take a look also at &lt;A href="http://software.intel.com/en-us/forums/showthread.php?t=64487"&gt;this thread&lt;/A&gt; (end of it).&lt;BR /&gt;&lt;BR /&gt;A.&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
Thanks alot A.&lt;BR /&gt;You were right. My problem with x64 platform was just solved. However, now I cannot use MKL_DCSRCOO correctly. When I call it, it just does not do anything and doesn't show any error either! (info=0)&lt;BR /&gt;For the record, I want to convert the coordinate format sparse that I've made into CSR so I can use the output as an input for PRADISO&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;Hossein&lt;BR /&gt;</description>
      <pubDate>Wed, 08 Apr 2009 07:49:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865304#M7919</guid>
      <dc:creator>pourmatin85</dc:creator>
      <dc:date>2009-04-08T07:49:36Z</dc:date>
    </item>
    <item>
      <title>Re: Sparse Matrix Storage</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865305#M7920</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/421818"&gt;pourmatin85&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
Thanks alot A.&lt;BR /&gt;You were right. My problem with x64 platform was just solved. However, now I cannot use MKL_DCSRCOO correctly. When I call it, it just does not do anything and doesn't show any error either! (info=0)&lt;BR /&gt;For the record, I want to convert the coordinate format sparse that I've made into CSR so I can use the output as an input for PRADISO&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;Hossein&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
This one I don't know. If the code is working on IA32 system, then the (very wild) guess would be that there is something wrong with the data type (say, integer/real size), (did you modify any default VS setting related to that?). Show snippet of the code, so guys from Intel can take a look and offer some advice.&lt;BR /&gt;&lt;BR /&gt;A.&lt;BR /&gt;</description>
      <pubDate>Wed, 08 Apr 2009 09:40:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865305#M7920</guid>
      <dc:creator>ArturGuzik</dc:creator>
      <dc:date>2009-04-08T09:40:43Z</dc:date>
    </item>
    <item>
      <title>Re: Sparse Matrix Storage</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865306#M7921</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/342379"&gt;ArturGuzik&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt; This one I don't know. If the code is working on IA32 system, then the (very wild) guess would be that there is something wrong with the data type (say, integer/real size), (did you modify any default VS setting related to that?). Show snippet of the code, so guys from Intel can take a look and offer some advice.&lt;BR /&gt;&lt;BR /&gt;A.&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
No, it didn't work in win32 either. The problem is I cannot find any reliable resource about it and MKL manual hasn't mentioned it at all.&lt;BR /&gt;However, here is my code:&lt;BR /&gt;INTEGER INFO, JOB(8), IA(SIZE(GSTIFF,1)+1), NZZ, TEMP_ROW(SIZE(GSTIFF)), TEMP_COL(SIZE(GSTIFF))&lt;BR /&gt;INTEGER, ALLOCATABLE :: JA(:), STIFF_ROW(:), STIFF_COL(:)&lt;BR /&gt;REAL*8, ALLOCATABLE :: ACSR(:), STIFF_VALUE(:)&lt;BR /&gt;REAL*8  TEMP_VALUE(SIZE(GSTIFF))&lt;BR /&gt;.&lt;BR /&gt;.&lt;BR /&gt;.&lt;BR /&gt;I=1&lt;BR /&gt; DO INODE=1,SIZE(GSTIFF,1)&lt;BR /&gt; DO JNODE=1,SIZE(GSTIFF,1)&lt;BR /&gt; IF (ABS(GSTIFF(INODE,JNODE))&amp;gt;1.D-4) THEN&lt;BR /&gt; TEMP_VALUE(I)=GSTIFF(INODE,JNODE)&lt;BR /&gt; TEMP_ROW(I)=INODE&lt;BR /&gt; TEMP_COL(I)=JNODE&lt;BR /&gt; I=I+1&lt;BR /&gt; ENDIF&lt;BR /&gt; ENDDO&lt;BR /&gt; ENDDO&lt;BR /&gt; I=I-1&lt;BR /&gt; ALLOCATE(STIFF_VALUE(I), STIFF_ROW(I), STIFF_COL(I))&lt;BR /&gt; STIFF_VALUE=TEMP_VALUE(1:I)&lt;BR /&gt; STIFF_ROW=TEMP_ROW(1:I)&lt;BR /&gt; STIFF_COL=TEMP_COL(1:I)&lt;BR /&gt; JOB(5)=I&lt;BR /&gt; DATA (JOB(1)=1, JOB(2)=1, JOB(3)=1, JOB(6)=1 )&lt;BR /&gt; CALL MKL_DCSRCOO(JOB, SIZE(GSTIFF,1), ACSR, JA, IA, NNZ, STIFF_VALUE, STIFF_ROW, STIFF_COL, INFO)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 08 Apr 2009 11:41:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865306#M7921</guid>
      <dc:creator>pourmatin85</dc:creator>
      <dc:date>2009-04-08T11:41:06Z</dc:date>
    </item>
    <item>
      <title>Re: Sparse Matrix Storage</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865307#M7922</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/421818"&gt;pourmatin85&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
No, it didn't work in win32 either. The problem is I cannot find any reliable resource about it and MKL manual hasn't mentioned it at all.&lt;BR /&gt;However, here is my code:&lt;BR /&gt;INTEGER INFO, JOB(8), IA(SIZE(GSTIFF,1)+1), NZZ, TEMP_ROW(SIZE(GSTIFF)), TEMP_COL(SIZE(GSTIFF))&lt;BR /&gt;INTEGER, ALLOCATABLE :: JA(:), STIFF_ROW(:), STIFF_COL(:)&lt;BR /&gt;REAL*8, ALLOCATABLE :: ACSR(:), STIFF_VALUE(:)&lt;BR /&gt;REAL*8  TEMP_VALUE(SIZE(GSTIFF))&lt;BR /&gt;.&lt;BR /&gt;.&lt;BR /&gt;.&lt;BR /&gt;I=1&lt;BR /&gt; DO INODE=1,SIZE(GSTIFF,1)&lt;BR /&gt; DO JNODE=1,SIZE(GSTIFF,1)&lt;BR /&gt; IF (ABS(GSTIFF(INODE,JNODE))&amp;gt;1.D-4) THEN&lt;BR /&gt; TEMP_VALUE(I)=GSTIFF(INODE,JNODE)&lt;BR /&gt; TEMP_ROW(I)=INODE&lt;BR /&gt; TEMP_COL(I)=JNODE&lt;BR /&gt; I=I+1&lt;BR /&gt; ENDIF&lt;BR /&gt; ENDDO&lt;BR /&gt; ENDDO&lt;BR /&gt; I=I-1&lt;BR /&gt; ALLOCATE(STIFF_VALUE(I), STIFF_ROW(I), STIFF_COL(I))&lt;BR /&gt; STIFF_VALUE=TEMP_VALUE(1:I)&lt;BR /&gt; STIFF_ROW=TEMP_ROW(1:I)&lt;BR /&gt; STIFF_COL=TEMP_COL(1:I)&lt;BR /&gt; JOB(5)=I&lt;BR /&gt; DATA (JOB(1)=1, JOB(2)=1, JOB(3)=1, JOB(6)=1 )&lt;BR /&gt; CALL MKL_DCSRCOO(JOB, SIZE(GSTIFF,1), ACSR, JA, IA, NNZ, STIFF_VALUE, STIFF_ROW, STIFF_COL, INFO)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
I will take a look, however, doesn't see how you get GSTIFF.&lt;BR /&gt;&lt;BR /&gt;A.&lt;BR /&gt;</description>
      <pubDate>Thu, 09 Apr 2009 02:30:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865307#M7922</guid>
      <dc:creator>ArturGuzik</dc:creator>
      <dc:date>2009-04-09T02:30:39Z</dc:date>
    </item>
    <item>
      <title>Re: Sparse Matrix Storage</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865308#M7923</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/342379"&gt;ArturGuzik&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt; I will take a look, however, doesn't see how you get GSTIFF.&lt;BR /&gt;&lt;BR /&gt;A.&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;I must say, that I'm VERY frequently wondering who writes/maintains the MKL docs. Really. Trying to decipher the docs and MKL_dcsrcoo i found that:&lt;BR /&gt;&lt;BR /&gt;(1) seems to be bug (?) in Interface, correct me if I'm wrong, but where "m" is defined there? Should be n&lt;BR /&gt;&lt;BR /&gt;
&lt;PRE&gt;[cpp]      INTERFACE&lt;BR /&gt;      subroutine mkl_dcsrcoo ( job, &lt;STRONG&gt;n&lt;/STRONG&gt;, Acsr, AJR, AIR, nnz              &amp;amp;&lt;BR /&gt;     &amp;amp;Acoo, ir, jc, info)&lt;BR /&gt;      Integer            job(8)&lt;BR /&gt;      integer            n, nnz, info &lt;BR /&gt;      integer 		     AJR(*), AIR(&lt;STRONG&gt;m&lt;/STRONG&gt;+1), ir(*), jc(*)&lt;BR /&gt;      double precision   Acsr(*), Acoo(*)&lt;BR /&gt;      END&lt;BR /&gt;      END INTERFACE&lt;BR /&gt;[/cpp]&lt;/PRE&gt;
&lt;BR /&gt;(2) it seems that in handling request is also a bug or rather documentation is out of date/touch with reality. &lt;BR /&gt;&lt;BR /&gt;If JOB(6) = 0, which seems to get JA, IA, ACSR on output, it does nothing (INFO =0) but complains about input parameter 1 (JOB). However, if called twice, first time with JOB(6) = 1 and then JOB(6) = 2, then all is fine.&lt;BR /&gt;&lt;BR /&gt;So, call routine twice, and then you'll get what you want.&lt;BR /&gt;&lt;BR /&gt;A.&lt;BR /&gt;</description>
      <pubDate>Thu, 09 Apr 2009 02:40:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865308#M7923</guid>
      <dc:creator>ArturGuzik</dc:creator>
      <dc:date>2009-04-09T02:40:25Z</dc:date>
    </item>
    <item>
      <title>Re: Sparse Matrix Storage</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865309#M7924</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="margin-top: 5px; width: 100%;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/421818"&gt;pourmatin85&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;No, it didn't work in win32 either. The problem is I cannot find any reliable resource about it and MKL manual hasn't mentioned it at all.&lt;BR /&gt;However, here is my code:&lt;BR /&gt;INTEGER INFO, JOB(8), IA(SIZE(GSTIFF,1)+1), NZZ, TEMP_ROW(SIZE(GSTIFF)), TEMP_COL(SIZE(GSTIFF))&lt;BR /&gt;INTEGER, ALLOCATABLE :: JA(:), STIFF_ROW(:), STIFF_COL(:)&lt;BR /&gt;REAL*8, ALLOCATABLE :: ACSR(:), STIFF_VALUE(:)&lt;BR /&gt;REAL*8 TEMP_VALUE(SIZE(GSTIFF))&lt;BR /&gt;.&lt;BR /&gt;.&lt;BR /&gt;.&lt;BR /&gt;I=1&lt;BR /&gt;DO INODE=1,SIZE(GSTIFF,1)&lt;BR /&gt;DO JNODE=1,SIZE(GSTIFF,1)&lt;BR /&gt;IF (ABS(GSTIFF(INODE,JNODE))&amp;gt;1.D-4) THEN&lt;BR /&gt;TEMP_VALUE(I)=GSTIFF(INODE,JNODE)&lt;BR /&gt;TEMP_ROW(I)=INODE&lt;BR /&gt;TEMP_COL(I)=JNODE&lt;BR /&gt;I=I+1&lt;BR /&gt;ENDIF&lt;BR /&gt;ENDDO&lt;BR /&gt;ENDDO&lt;BR /&gt;I=I-1&lt;BR /&gt;ALLOCATE(STIFF_VALUE(I), STIFF_ROW(I), STIFF_COL(I))&lt;BR /&gt;STIFF_VALUE=TEMP_VALUE(1:I)&lt;BR /&gt;STIFF_ROW=TEMP_ROW(1:I)&lt;BR /&gt;STIFF_COL=TEMP_COL(1:I)&lt;BR /&gt;JOB(5)=I&lt;BR /&gt;DATA (JOB(1)=1, JOB(2)=1, JOB(3)=1, JOB(6)=1 )&lt;BR /&gt;CALL MKL_DCSRCOO(JOB, SIZE(GSTIFF,1), ACSR, JA, IA, NNZ, STIFF_VALUE, STIFF_ROW, STIFF_COL, INFO)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;
&lt;P&gt;Hossein,&lt;BR /&gt;"No, it didn't work in win32 either. The problem is I cannot find any reliable resource about it and MKL manual hasn't mentioned it at all."&lt;/P&gt;
&lt;P&gt;There are two examples program for using MKL Sparse format converters for "C" and "Fortran". &lt;BR /&gt;You can find these files into directory: ..examplesspblassourceconverters_f.f and converters_c.c. &lt;BR /&gt;Both of these examples are used the following routines:&lt;BR /&gt;&lt;STRONG&gt;MKL_DDNSCSR, MKL_DCSRCOO, MKL_DCSRBSR, MKL_DCSRDIA,MKL_DCSRCSC andMKL_DCSRSKY&lt;BR /&gt;&lt;/STRONG&gt;I hope it will help you.&lt;BR /&gt;--Gennady&lt;/P&gt;</description>
      <pubDate>Thu, 09 Apr 2009 10:25:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865309#M7924</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2009-04-09T10:25:35Z</dc:date>
    </item>
    <item>
      <title>Re: Sparse Matrix Storage</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865310#M7925</link>
      <description>&lt;DIV style="margin:0px;"&gt;
&lt;DIV id="quote_reply" style="width: 100%; margin-top: 5px;"&gt;
&lt;DIV style="margin-left:2px;margin-right:2px;"&gt;Quoting - &lt;A href="https://community.intel.com/en-us/profile/334681"&gt;Gennady Fedorov (Intel)&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV style="background-color:#E5E5E5; padding:5px;border: 1px; border-style: inset;margin-left:2px;margin-right:2px;"&gt;&lt;EM&gt;
&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
&lt;P&gt;There are two examples program for using MKL Sparse format converters for "C" and "Fortran". &lt;BR /&gt;You can find these files into directory: ..examplesspblassourceconverters_f.f and converters_c.c. &lt;BR /&gt;Both of these examples are used the following routines:&lt;BR /&gt;&lt;STRONG&gt;MKL_DDNSCSR, MKL_DCSRCOO, MKL_DCSRBSR, MKL_DCSRDIA,MKL_DCSRCSC andMKL_DCSRSKY&lt;BR /&gt;&lt;/STRONG&gt;I hope it will help you.&lt;BR /&gt;--Gennady&lt;/P&gt;
&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Gennady,&lt;BR /&gt;&lt;BR /&gt;what about Interface (include file)? Is that correct?&lt;BR /&gt;&lt;BR /&gt;And what about documentation? I mean the job(6)=0? The examples you mentioned, are calling routine in a sequence (of tasks), and then all is fine (see my previous post).&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;A.&lt;BR /&gt;</description>
      <pubDate>Fri, 10 Apr 2009 00:22:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Sparse-Matrix-Storage/m-p/865310#M7925</guid>
      <dc:creator>ArturGuzik</dc:creator>
      <dc:date>2009-04-10T00:22:06Z</dc:date>
    </item>
  </channel>
</rss>

