<?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 Re: linking with ilp produces segmentation fault in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/linking-with-ilp-produces-segmentation-fault/m-p/876794#M9033</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/423696"&gt;zyserman&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;Hi Tim, thanks for your answer. It has helped me to find some mistakes in my code, but still I have some problems. As I am rather a newbie, could you please tell me what are the optional USE or .fi machinery, &lt;BR /&gt;and where can I read about them?&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
In the include directory of your mkl installation there are several .fi (f77 style include) and .f90 (source for f90 USE modules). You would find the appropriate files which contain declarations of the MKL functions you are using, and INCLUDE or USE them in your own source code. For the USE files, you need to compile the source file from the include directory along with your own source code, or first compile the include source file and put the resulting .mod file in the mkl include directory or in your own build directory. &lt;BR /&gt;Some of the functions are covered by both USE and INCLUDE files, some by only one or the other. They all contain f90 INTERFACE declarations, and should work with the USE or INCLUDE at the top of your subroutine, before all declarations. There are some examples in the mkl installation.&lt;BR /&gt;In the latest versions of the MKL provided with Intel compilers, under /mkl/include/em64t there are ilp64 and lp64 directories of compiled .mod files. You would need to specify the ilp64 or lp64 path in your USE, according to the library you intend to link.&lt;BR /&gt;When you have the USE or .fi files corresponding to the MKL functions you call, the compiler will check your data types and numbers of arguments automatically, so you don't have to worry about those particular errors.&lt;BR /&gt;</description>
    <pubDate>Fri, 19 Jun 2009 17:11:15 GMT</pubDate>
    <dc:creator>TimP</dc:creator>
    <dc:date>2009-06-19T17:11:15Z</dc:date>
    <item>
      <title>linking with ilp produces segmentation fault</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/linking-with-ilp-produces-segmentation-fault/m-p/876791#M9030</link>
      <description>Hi, I am using mkl to solve a set of linear systems with pardiso.&lt;BR /&gt;&lt;BR /&gt;I am working on a 64GB ram computer with four quad-core processors (xeon 7310), with&lt;BR /&gt;a 64 bit linux distro.&lt;BR /&gt;&lt;BR /&gt;I have been able to solve several (rather small) problems using the following compilation line:&lt;BR /&gt;&lt;BR /&gt; ifort -w -I /opt/intel/mkl/10.1.0.015/include/ gen_mod_compres_1_patch-paralelo.f -L${MKL_LIB} ${MKL_LIB}/libmkl_solver_lp64.a ${MKL_LIB}/libmkl_intel_lp64.a -Wl,--start-group ${MKL_LIB}/libmkl_intel_thread.a ${MKL_LIB}/libmkl_core.a -Wl,--end-group -L${MKL_LIB} -liomp5 -lpthread -lm -o test.out&lt;BR /&gt;&lt;BR /&gt;Then, I increased the size of the linear system. Compiling using lp produced errors, &lt;BR /&gt;that dissapeared when I compiled using ilp as:&lt;BR /&gt;&lt;BR /&gt;ifort -w -I /opt/intel/mkl/10.1.0.015/include/ gen_mod_compres_1_patch-paralelo.f $MKLPATH/libmkl_solver_ilp64.a -Wl,--start-group $MKLPATH/libmkl_intel_ilp64.a $MKLPATH/libmkl_intel_thread.a $MKLPATH/libmkl_core.a -Wl,--end-group -openmp -lpthread -lm -o test.out&lt;BR /&gt;&lt;BR /&gt;In this way, the executable file is generated, but when I run the program, it immediately&lt;BR /&gt;produces a segmentation fault. I do not know to use debbugers, so I wrote several&lt;BR /&gt;print lines within the code, but even the first one, located as the first executable statement is &lt;BR /&gt;not executed.&lt;BR /&gt;&lt;BR /&gt;Any hint about this?&lt;BR /&gt;&lt;BR /&gt;Thanks in advance!!!</description>
      <pubDate>Fri, 19 Jun 2009 00:48:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/linking-with-ilp-produces-segmentation-fault/m-p/876791#M9030</guid>
      <dc:creator>zyserman</dc:creator>
      <dc:date>2009-06-19T00:48:36Z</dc:date>
    </item>
    <item>
      <title>Re: linking with ilp produces segmentation fault</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/linking-with-ilp-produces-segmentation-fault/m-p/876792#M9031</link>
      <description>&lt;DIV style="margin:0px;"&gt;&lt;/DIV&gt;
You must make all integer arguments to MKL functions, and all real arguments, the same data types. ilp64 requires all 64-bit integers (e.g. integer*8, default integers with -i8 option), while lp64 requires all 32-bit integers (default integer without -i8, integer*4). Inclusion of the optional USE or .fi machinery will allow the compiler to check for correct data types and identify any errors.&lt;BR /&gt;</description>
      <pubDate>Fri, 19 Jun 2009 02:30:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/linking-with-ilp-produces-segmentation-fault/m-p/876792#M9031</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2009-06-19T02:30:06Z</dc:date>
    </item>
    <item>
      <title>Re: linking with ilp produces segmentation fault</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/linking-with-ilp-produces-segmentation-fault/m-p/876793#M9032</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/367365"&gt;tim18&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; You must make all integer arguments to MKL functions, and all real arguments, the same data types. ilp64 requires all 64-bit integers (e.g. integer*8, default integers with -i8 option), while lp64 requires all 32-bit integers (default integer without -i8, integer*4). Inclusion of the optional USE or .fi machinery will allow the compiler to check for correct data types and identify any errors.&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;Hi Tim, thanks for your answer. It has helped me to find some mistakes in my code, but still I have some problems. As I am rather a newbie, could you please tell me what are the optional USE or .fi machinery, &lt;BR /&gt;and where can I read about them?&lt;BR /&gt;&lt;BR /&gt;Thanks again!&lt;BR /&gt;</description>
      <pubDate>Fri, 19 Jun 2009 14:57:24 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/linking-with-ilp-produces-segmentation-fault/m-p/876793#M9032</guid>
      <dc:creator>zyserman</dc:creator>
      <dc:date>2009-06-19T14:57:24Z</dc:date>
    </item>
    <item>
      <title>Re: linking with ilp produces segmentation fault</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/linking-with-ilp-produces-segmentation-fault/m-p/876794#M9033</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/423696"&gt;zyserman&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;Hi Tim, thanks for your answer. It has helped me to find some mistakes in my code, but still I have some problems. As I am rather a newbie, could you please tell me what are the optional USE or .fi machinery, &lt;BR /&gt;and where can I read about them?&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
In the include directory of your mkl installation there are several .fi (f77 style include) and .f90 (source for f90 USE modules). You would find the appropriate files which contain declarations of the MKL functions you are using, and INCLUDE or USE them in your own source code. For the USE files, you need to compile the source file from the include directory along with your own source code, or first compile the include source file and put the resulting .mod file in the mkl include directory or in your own build directory. &lt;BR /&gt;Some of the functions are covered by both USE and INCLUDE files, some by only one or the other. They all contain f90 INTERFACE declarations, and should work with the USE or INCLUDE at the top of your subroutine, before all declarations. There are some examples in the mkl installation.&lt;BR /&gt;In the latest versions of the MKL provided with Intel compilers, under /mkl/include/em64t there are ilp64 and lp64 directories of compiled .mod files. You would need to specify the ilp64 or lp64 path in your USE, according to the library you intend to link.&lt;BR /&gt;When you have the USE or .fi files corresponding to the MKL functions you call, the compiler will check your data types and numbers of arguments automatically, so you don't have to worry about those particular errors.&lt;BR /&gt;</description>
      <pubDate>Fri, 19 Jun 2009 17:11:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/linking-with-ilp-produces-segmentation-fault/m-p/876794#M9033</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2009-06-19T17:11:15Z</dc:date>
    </item>
    <item>
      <title>Re: linking with ilp produces segmentation fault</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/linking-with-ilp-produces-segmentation-fault/m-p/876795#M9034</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/367365"&gt;tim18&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 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/423696"&gt;zyserman&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;Hi Tim, thanks for your answer. It has helped me to find some mistakes in my code, but still I have some problems. As I am rather a newbie, could you please tell me what are the optional USE or .fi machinery, &lt;BR /&gt;and where can I read about them?&lt;BR /&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
In the include directory of your mkl installation there are several .fi (f77 style include) and .f90 (source for f90 USE modules).  You would find the appropriate files which contain declarations of the MKL functions you are using, and INCLUDE or USE them in your own source code.  For the USE files, you need to compile the source file from the include directory along with your own source code, or first compile the include source file and put the resulting .mod file in the mkl include directory or in your own build directory. &lt;BR /&gt;Some of the functions are covered by both USE and INCLUDE files, some by only one or the other.  They all contain f90 INTERFACE declarations, and should work with the USE or INCLUDE at the top of your subroutine, before all declarations.  There are some examples  in the mkl installation.&lt;BR /&gt;In the latest versions of the MKL provided with Intel compilers, under /mkl/include/em64t there are ilp64 and lp64 directories of compiled .mod files.  You would need to specify the ilp64 or lp64 path in your USE, according to the library you intend to link.&lt;BR /&gt;When you have the USE or .fi files corresponding to the MKL functions you call, the compiler will check your data types and numbers of arguments automatically, so you don't have to worry about those particular errors.&lt;BR /&gt;&lt;/EM&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;BR /&gt;</description>
      <pubDate>Sat, 20 Jun 2009 00:49:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/linking-with-ilp-produces-segmentation-fault/m-p/876795#M9034</guid>
      <dc:creator>zyserman</dc:creator>
      <dc:date>2009-06-20T00:49:26Z</dc:date>
    </item>
  </channel>
</rss>

