<?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 with MinGW64 compiler  in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-with-MinGW64-compiler/m-p/802929#M3221</link>
    <description>Hi,&lt;BR /&gt;&lt;BR /&gt;I'm currently evaluating MKL for usage in a MinGW (64 bit) environment. I know that MinGW is not a compiler platform officially supported for MKL, but thought it would be worth a try with MKL for Windows because MinGW's gcc &amp;amp; linker produces just native windows object/lib file formats.&lt;BR /&gt;&lt;BR /&gt;However, when I try to link a small program against MKL (following the link line advisor tool on this site)&lt;BR /&gt;I got many undefined references:&lt;BR /&gt;&lt;BR /&gt;c:/mingw-w64-gcc4.7/bin/g++ -L"c:/Program Files (x86)\\Intel\\Composer XE 2011 SP1\\mkl\\lib\\intel64" -o tstmkl t&lt;BR /&gt;stmkl.o dgemm.o -lgomp -lwinmm -Wl,--subsystem,console -mwindows &lt;BR /&gt;mkl_intel_lp64.lib &lt;BR /&gt;mkl_intel_thread.lib&lt;BR /&gt;mkl_core.lib &lt;BR /&gt;&lt;BR /&gt;Warning: .drectve `-defaultlib:"uuid.lib" ' unrecognized&lt;BR /&gt;libs/mkl/mkl_intel_thread.lib(dgemm_drv.obj):(.text[mkl_blas_dgemm]+0x4b5): undefined reference to `__kmpc_global_thread_num'&lt;BR /&gt;libs/mkl/mkl_intel_thread.lib(dgemm_drv.obj):(.text[mkl_blas_dgemm]+0x5d0): undefined reference to `__kmpc_ok_to_fork'&lt;BR /&gt;mkl_intel_lp64.lib(_dgemm_lp64.obj):(.text[dgemm]+0x159): undefined reference to `mkl_blas_dgemm'&lt;BR /&gt;&lt;BR /&gt;I think part of the problem could be that MinGw links to the GNU OMP lib (-lgomp) which is probably incompatible to the OMP lib used by MKL ? (please confirm)&lt;BR /&gt;However, I also tried to use the non-threaded MKL and still got the undefined reference to mkl_blas_dgemm.&lt;BR /&gt;&lt;BR /&gt;Interestingly, however not all references are undefined. I even managed to 
succesfully link a very small MKL program using only some timer 
functions so I still think it should be possible in principle .. &lt;BR /&gt;&lt;BR /&gt;Therefore I would be very interestd if anyone has been able to succesfully use MKL with MinGW64 &lt;BR /&gt;(The existing threads in the forum about this topic remained inconclusive)&lt;BR /&gt;&lt;BR /&gt;Thanks in advance for any help and suggestions &lt;BR /&gt;</description>
    <pubDate>Wed, 13 Jun 2012 07:13:26 GMT</pubDate>
    <dc:creator>zx-81</dc:creator>
    <dc:date>2012-06-13T07:13:26Z</dc:date>
    <item>
      <title>MKL with MinGW64 compiler</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-with-MinGW64-compiler/m-p/802929#M3221</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;I'm currently evaluating MKL for usage in a MinGW (64 bit) environment. I know that MinGW is not a compiler platform officially supported for MKL, but thought it would be worth a try with MKL for Windows because MinGW's gcc &amp;amp; linker produces just native windows object/lib file formats.&lt;BR /&gt;&lt;BR /&gt;However, when I try to link a small program against MKL (following the link line advisor tool on this site)&lt;BR /&gt;I got many undefined references:&lt;BR /&gt;&lt;BR /&gt;c:/mingw-w64-gcc4.7/bin/g++ -L"c:/Program Files (x86)\\Intel\\Composer XE 2011 SP1\\mkl\\lib\\intel64" -o tstmkl t&lt;BR /&gt;stmkl.o dgemm.o -lgomp -lwinmm -Wl,--subsystem,console -mwindows &lt;BR /&gt;mkl_intel_lp64.lib &lt;BR /&gt;mkl_intel_thread.lib&lt;BR /&gt;mkl_core.lib &lt;BR /&gt;&lt;BR /&gt;Warning: .drectve `-defaultlib:"uuid.lib" ' unrecognized&lt;BR /&gt;libs/mkl/mkl_intel_thread.lib(dgemm_drv.obj):(.text[mkl_blas_dgemm]+0x4b5): undefined reference to `__kmpc_global_thread_num'&lt;BR /&gt;libs/mkl/mkl_intel_thread.lib(dgemm_drv.obj):(.text[mkl_blas_dgemm]+0x5d0): undefined reference to `__kmpc_ok_to_fork'&lt;BR /&gt;mkl_intel_lp64.lib(_dgemm_lp64.obj):(.text[dgemm]+0x159): undefined reference to `mkl_blas_dgemm'&lt;BR /&gt;&lt;BR /&gt;I think part of the problem could be that MinGw links to the GNU OMP lib (-lgomp) which is probably incompatible to the OMP lib used by MKL ? (please confirm)&lt;BR /&gt;However, I also tried to use the non-threaded MKL and still got the undefined reference to mkl_blas_dgemm.&lt;BR /&gt;&lt;BR /&gt;Interestingly, however not all references are undefined. I even managed to 
succesfully link a very small MKL program using only some timer 
functions so I still think it should be possible in principle .. &lt;BR /&gt;&lt;BR /&gt;Therefore I would be very interestd if anyone has been able to succesfully use MKL with MinGW64 &lt;BR /&gt;(The existing threads in the forum about this topic remained inconclusive)&lt;BR /&gt;&lt;BR /&gt;Thanks in advance for any help and suggestions &lt;BR /&gt;</description>
      <pubDate>Wed, 13 Jun 2012 07:13:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-with-MinGW64-compiler/m-p/802929#M3221</guid>
      <dc:creator>zx-81</dc:creator>
      <dc:date>2012-06-13T07:13:26Z</dc:date>
    </item>
    <item>
      <title>MKL with MinGW64 compiler</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-with-MinGW64-compiler/m-p/802930#M3222</link>
      <description>I haven't heard of a way to accomplish this.&lt;BR /&gt;The Intel libiomp5 for Windows supports Microsoft vcomp calls but not libgomp calls. MKL_intel_thread requires libiomp5. You probably can't run libgomp and libiomp5 together.&lt;BR /&gt;There are circular references among those MKL static libraries. Normally, that doesn't bite you when linking with Visual Studio compatibility. For good luck, you might try the _dll libraries, or repeat the list of static libraries (probably 3 times if you put them in order lp64, core, thread). &lt;BR /&gt;mingw project doesn't have object level compability with Visual Studio compatible libraries such as MKL. They say they are working in that direction but no time estimate is possible.</description>
      <pubDate>Wed, 13 Jun 2012 19:36:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-with-MinGW64-compiler/m-p/802930#M3222</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2012-06-13T19:36:00Z</dc:date>
    </item>
    <item>
      <title>MKL with MinGW64 compiler</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-with-MinGW64-compiler/m-p/802931#M3223</link>
      <description>Hi Zx-81, &lt;BR /&gt;&lt;BR /&gt;As we never do MinGW test with MKL, it hard to give a certain conclusion. &lt;BR /&gt;&lt;BR /&gt;But my personalview (as as TimP) &lt;BR /&gt;&lt;BR /&gt;MKL is only compatable with Visual studio compatiable library, include some MSVC run-time library. &lt;BR /&gt;And weassume that Mingw project don't have object level compability with Visual studio compatiable library. (do some one can confirm? or Please remove the -lgomp and try&lt;BR /&gt; -lwinmm -Wl,--subsystem,console -mwindows &lt;BR /&gt;mkl_intel_lp64.lib &lt;BR /&gt;mkl_intel_thread.lib&lt;BR /&gt;mkl_core.lib&lt;BR /&gt;libiomp5md.lib?&lt;BR /&gt;)&lt;BR /&gt;&lt;BR /&gt;for example, MKL use libiomp5, which is only compilabe with microsoft OpenMP library vcomp, not compitable with libgomp in windows, &lt;BR /&gt;&lt;BR /&gt;The case is like kind ofA~=B, C!=B, So most of possibility, A !=C. even if you may makesome test case run. In princple, it is untworkable. &lt;BR /&gt;&lt;BR /&gt;Maybe i'm wrong, please correct if any one have any more test. &lt;BR /&gt;&lt;BR /&gt;Best Regards,&lt;BR /&gt;Ying</description>
      <pubDate>Thu, 14 Jun 2012 02:37:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/MKL-with-MinGW64-compiler/m-p/802931#M3223</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2012-06-14T02:37:26Z</dc:date>
    </item>
  </channel>
</rss>

