<?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_dss zero base ordering in c in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-dss-zero-base-ordering-in-c/m-p/922590#M13154</link>
    <description>&lt;P&gt;Hi, I'm trying to write a C code that solve a sparse system with dss_mkl, here it follows&lt;/P&gt;
&lt;P&gt;#include "mkl_dss.h"&lt;BR /&gt;#include "mkl_types.h"&lt;BR /&gt;&lt;BR /&gt;#define N 3&lt;BR /&gt;#define N2 (N*N)&lt;BR /&gt;#define NNZ (N*(N+2*(N-1))+2*(N-1)*N)&lt;BR /&gt;&lt;BR /&gt;static int* ri;&lt;BR /&gt;static int* ci;&lt;BR /&gt;static double* a;&lt;BR /&gt;&lt;BR /&gt;int main(){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i,j,k;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ri=malloc((N2+1)*sizeof(int));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ci=malloc((NNZ)*sizeof(int));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a=malloc(NNZ*sizeof(double));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; k=0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ri[0]=0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;N2;i++){&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ri[i+1]=ri&lt;I&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;for(j=0;j&amp;lt;N2;j++){&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(j-i==-N&amp;amp;&amp;amp;i&amp;gt;0){a&lt;K&gt;=1.;ci&lt;K&gt;=j;ri[i+1]++;k++;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(j-i==-1&amp;amp;&amp;amp;i%N&amp;gt;0){a&lt;K&gt;=1.;ci&lt;K&gt;=j;ri[i+1]++;k++;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(j-i==0){a&lt;K&gt;=-4.;ci&lt;K&gt;=j;ri[i+1]++;k++;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(j-i==1&amp;amp;&amp;amp;i%N&amp;lt;N-1){a&lt;K&gt;=1.;ci&lt;K&gt;=j;ri[i+1]++;k++;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(j-i==N&amp;amp;&amp;amp;i&amp;lt;N2-1){a&lt;K&gt;=1.;ci&lt;K&gt;=j;ri[i+1]++;k++;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(k=0;k&amp;lt;N2+1;k++) printf("%4d ",ri&lt;K&gt;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(k=0;k&amp;lt;NNZ;k++) printf("%4d ",ci&lt;K&gt;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(k=0;k&amp;lt;NNZ;k++) printf("%4.1f ",a&lt;K&gt;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("\n");&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int error;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _MKL_DSS_HANDLE_t handle;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int options=MKL_DSS_DEFAULTS;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; error=dss_create(handle,options);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int n2=N2;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int nnz=NNZ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int symmetry=MKL_DSS_NON_SYMMETRIC;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; error=dss_define_structure(handle,symmetry,ri,n2,n2,ci,nnz);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int reorder_opts=MKL_DSS_DEFAULTS;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; error=dss_reorder(handle,reorder_opts,0);&lt;BR /&gt;}&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;I successful compiled this with "icc -mkl poisson2d.c". When I run this I get the following error&lt;/P&gt;
&lt;P&gt;"MKL-DSS-DSS-Error, preordering failed (matrix types 11, 13 only)"&lt;/P&gt;
&lt;P&gt;Can anyone help me? Where I am doing a mistake?&lt;/P&gt;
&lt;P&gt;Thank You.&lt;/P&gt;</description>
    <pubDate>Fri, 12 Oct 2012 09:02:10 GMT</pubDate>
    <dc:creator>Fabio_G_</dc:creator>
    <dc:date>2012-10-12T09:02:10Z</dc:date>
    <item>
      <title>mkl_dss zero base ordering in c</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-dss-zero-base-ordering-in-c/m-p/922590#M13154</link>
      <description>&lt;P&gt;Hi, I'm trying to write a C code that solve a sparse system with dss_mkl, here it follows&lt;/P&gt;
&lt;P&gt;#include "mkl_dss.h"&lt;BR /&gt;#include "mkl_types.h"&lt;BR /&gt;&lt;BR /&gt;#define N 3&lt;BR /&gt;#define N2 (N*N)&lt;BR /&gt;#define NNZ (N*(N+2*(N-1))+2*(N-1)*N)&lt;BR /&gt;&lt;BR /&gt;static int* ri;&lt;BR /&gt;static int* ci;&lt;BR /&gt;static double* a;&lt;BR /&gt;&lt;BR /&gt;int main(){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i,j,k;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ri=malloc((N2+1)*sizeof(int));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ci=malloc((NNZ)*sizeof(int));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; a=malloc(NNZ*sizeof(double));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; k=0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ri[0]=0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i=0;i&amp;lt;N2;i++){&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ri[i+1]=ri&lt;I&gt;;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;for(j=0;j&amp;lt;N2;j++){&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(j-i==-N&amp;amp;&amp;amp;i&amp;gt;0){a&lt;K&gt;=1.;ci&lt;K&gt;=j;ri[i+1]++;k++;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(j-i==-1&amp;amp;&amp;amp;i%N&amp;gt;0){a&lt;K&gt;=1.;ci&lt;K&gt;=j;ri[i+1]++;k++;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(j-i==0){a&lt;K&gt;=-4.;ci&lt;K&gt;=j;ri[i+1]++;k++;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(j-i==1&amp;amp;&amp;amp;i%N&amp;lt;N-1){a&lt;K&gt;=1.;ci&lt;K&gt;=j;ri[i+1]++;k++;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(j-i==N&amp;amp;&amp;amp;i&amp;lt;N2-1){a&lt;K&gt;=1.;ci&lt;K&gt;=j;ri[i+1]++;k++;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(k=0;k&amp;lt;N2+1;k++) printf("%4d ",ri&lt;K&gt;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(k=0;k&amp;lt;NNZ;k++) printf("%4d ",ci&lt;K&gt;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(k=0;k&amp;lt;NNZ;k++) printf("%4.1f ",a&lt;K&gt;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("\n");&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int error;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _MKL_DSS_HANDLE_t handle;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int options=MKL_DSS_DEFAULTS;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; error=dss_create(handle,options);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int n2=N2;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int nnz=NNZ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int symmetry=MKL_DSS_NON_SYMMETRIC;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; error=dss_define_structure(handle,symmetry,ri,n2,n2,ci,nnz);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int reorder_opts=MKL_DSS_DEFAULTS;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; error=dss_reorder(handle,reorder_opts,0);&lt;BR /&gt;}&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/K&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;I successful compiled this with "icc -mkl poisson2d.c". When I run this I get the following error&lt;/P&gt;
&lt;P&gt;"MKL-DSS-DSS-Error, preordering failed (matrix types 11, 13 only)"&lt;/P&gt;
&lt;P&gt;Can anyone help me? Where I am doing a mistake?&lt;/P&gt;
&lt;P&gt;Thank You.&lt;/P&gt;</description>
      <pubDate>Fri, 12 Oct 2012 09:02:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-dss-zero-base-ordering-in-c/m-p/922590#M13154</guid>
      <dc:creator>Fabio_G_</dc:creator>
      <dc:date>2012-10-12T09:02:10Z</dc:date>
    </item>
    <item>
      <title>Hi,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-dss-zero-base-ordering-in-c/m-p/922591#M13155</link>
      <description>Hi,
Your ci and ri arrays start from zero element so change options for dss_create from MKL_DSS_DEFAULTS to MKL_DSS_ZERO_BASED_INDEXING:

    _MKL_DSS_HANDLE_t handle;
    int options=MKL_DSS_DEFAULTS;
    error=dss_create(handle,options);

-----&amp;gt;

    _MKL_DSS_HANDLE_t handle;
    int options=MKL_DSS_ZERO_BASED_INDEXING;
    error=dss_create(handle,options);

With best regards,
Alexander Kalinkin</description>
      <pubDate>Tue, 16 Oct 2012 01:10:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/mkl-dss-zero-base-ordering-in-c/m-p/922591#M13155</guid>
      <dc:creator>Alexander_K_Intel2</dc:creator>
      <dc:date>2012-10-16T01:10:09Z</dc:date>
    </item>
  </channel>
</rss>

