<?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 intel mkl 10.3 bus error on PARDISO use in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/intel-mkl-10-3-bus-error-on-PARDISO-use/m-p/827280#M5190</link>
    <description>Dear all, &lt;BR /&gt;&lt;BR /&gt;I am getting a bus error while trying to use the PARDISO solver.&lt;BR /&gt;&lt;BR /&gt;So bus error seems to be that it is trying to address a memory which is not physically there or due to non-alignment, I use the ilp64 support for my system, and include the &lt;BR /&gt;&lt;BR /&gt;-DMKL_ILP64 -m64&lt;BR /&gt;&lt;BR /&gt;and here is the link line&lt;BR /&gt;&lt;BR /&gt;g++ -DNDEBUG -O3 -o test_mkl_sparse_1 csr_boost_intel_1.o boost_matrix_utilities.o matrixMarketIO.o mmio.o -L/home/utab/intel/composerxe-2011.3.174/mkl/lib/intel64 -L /home/utab/thesis/intel_mkl \\&lt;BR /&gt;   -lboost_filesystem -lboost_system -Wl,--start-group -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -Wl,--end-group -lpthread&lt;BR /&gt;&lt;BR /&gt;Compile and link goes fine. However there is another issue which bothers me. If my system is a 64 bit system. Should I get the length of my integers 8 bytes or as usual 4 bytes? A simple c++ program shows ints as 4 bytes. I am a bit confused.&lt;BR /&gt;&lt;BR /&gt;Any comments are appreciated on this topic.&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Umut</description>
    <pubDate>Mon, 09 May 2011 15:52:41 GMT</pubDate>
    <dc:creator>utab</dc:creator>
    <dc:date>2011-05-09T15:52:41Z</dc:date>
    <item>
      <title>intel mkl 10.3 bus error on PARDISO use</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/intel-mkl-10-3-bus-error-on-PARDISO-use/m-p/827280#M5190</link>
      <description>Dear all, &lt;BR /&gt;&lt;BR /&gt;I am getting a bus error while trying to use the PARDISO solver.&lt;BR /&gt;&lt;BR /&gt;So bus error seems to be that it is trying to address a memory which is not physically there or due to non-alignment, I use the ilp64 support for my system, and include the &lt;BR /&gt;&lt;BR /&gt;-DMKL_ILP64 -m64&lt;BR /&gt;&lt;BR /&gt;and here is the link line&lt;BR /&gt;&lt;BR /&gt;g++ -DNDEBUG -O3 -o test_mkl_sparse_1 csr_boost_intel_1.o boost_matrix_utilities.o matrixMarketIO.o mmio.o -L/home/utab/intel/composerxe-2011.3.174/mkl/lib/intel64 -L /home/utab/thesis/intel_mkl \\&lt;BR /&gt;   -lboost_filesystem -lboost_system -Wl,--start-group -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -Wl,--end-group -lpthread&lt;BR /&gt;&lt;BR /&gt;Compile and link goes fine. However there is another issue which bothers me. If my system is a 64 bit system. Should I get the length of my integers 8 bytes or as usual 4 bytes? A simple c++ program shows ints as 4 bytes. I am a bit confused.&lt;BR /&gt;&lt;BR /&gt;Any comments are appreciated on this topic.&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Umut</description>
      <pubDate>Mon, 09 May 2011 15:52:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/intel-mkl-10-3-bus-error-on-PARDISO-use/m-p/827280#M5190</guid>
      <dc:creator>utab</dc:creator>
      <dc:date>2011-05-09T15:52:41Z</dc:date>
    </item>
    <item>
      <title>intel mkl 10.3 bus error on PARDISO use</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/intel-mkl-10-3-bus-error-on-PARDISO-use/m-p/827281#M5191</link>
      <description>As a reply to my own post, I realized that I did not understand the strategy to use the functions, &lt;BR /&gt;&lt;BR /&gt;+ should I use pardisoinit first of all&lt;BR /&gt;+ if I do not use pardisoinit and set iparm[0]=0 then the other parameters are filled automatically to default values and I get a segfault.&lt;BR /&gt;and under gdb I found out that &lt;BR /&gt;&lt;BR /&gt;Program received signal SIGSEGV, Segmentation fault.&lt;BR /&gt;0x00002aaaac91da38 in mkl_pds_pardiso_c () from /home/utab/intel/composerxe-2011.3.174/mkl/lib/intel64/libmkl_core.so&lt;BR /&gt;&lt;BR /&gt;I can understand this segfault at least c++ arrays are zero based and iparm(35) should be changed, but then should I enter all iparm array myself?&lt;BR /&gt;&lt;BR /&gt;Can you clarify the steps to follow please?&lt;BR /&gt;&lt;BR /&gt;Umut</description>
      <pubDate>Mon, 09 May 2011 16:48:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/intel-mkl-10-3-bus-error-on-PARDISO-use/m-p/827281#M5191</guid>
      <dc:creator>utab</dc:creator>
      <dc:date>2011-05-09T16:48:16Z</dc:date>
    </item>
    <item>
      <title>intel mkl 10.3 bus error on PARDISO use</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/intel-mkl-10-3-bus-error-on-PARDISO-use/m-p/827282#M5192</link>
      <description>Hi,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Let me try to answer your questions.&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Re "size of integer type".&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;In fact, C/C++ int type is platform independent and should be equal to 4-byte integer regardless you're on 32-bit or 64-bit system. The main difference of 64-bit system is a size of pointers (64-bit) that allows adressing much more memory. So, in general, if you're on 64-bit OS it doesn;t mean that you should compile with MKL_ILP64 and link with libmkl_intel_ilp64 library.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;The only need for that is when the size of your task for PARDISO is really huge (for example, matrix A has about a billion of non-zero elements and more). In this case you can use ILP64 version of PARDISO, but please take into account that all the integer data passed to PARDISO should be 64-bit - in other words, all scalars/arrays must have "long long int" or MKL_INT type, not "int".&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;So, my recommendation for you is to start with LP64 (not ILP64) version of MKL.&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Re "setting PARDISO parameter".&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;My recommendation is to set iparm[0]=1 and set all the parameters explicitly (you may refer how is was made in the examples of MKL). It's easy as far as the majority should be equal to 0.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;And a comment about zero-based c++ arrays: it should be applicable (I mean iparm(35)=1) only if rows/colums in your matrix are enumerated from 0, not 1. The fact that arrays start from 0 in C/C++ is Ok for PARDISO (it's not a zero-based case).&lt;/DIV&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Konstantin&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 10 May 2011 04:33:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/intel-mkl-10-3-bus-error-on-PARDISO-use/m-p/827282#M5192</guid>
      <dc:creator>Konstantin_A_Intel</dc:creator>
      <dc:date>2011-05-10T04:33:23Z</dc:date>
    </item>
  </channel>
</rss>

