<?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: Can not use multi threading in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Can-not-use-multi-threading/m-p/912153#M12225</link>
    <description>Level 1 BLAS functions, including ?axpy and ?dscal, generally aren't threaded, because vectorization is usually the only effective parallelization. A run time check for problem size at that level would hurt performance on shorter loops. Even ?gemv would usually get more benefit from threading if it is possible to thread in your code, so as to give each thread an independent instance of the function. &lt;BR /&gt;As your inner loops may be long enough to benefit from threading, since both cores share cache, you can thread them yourself with a more recent compiler, which includes OpenMP as well as auto-vectorization, such as g++ 4.3 or icpc. &lt;BR /&gt;</description>
    <pubDate>Tue, 18 Mar 2008 21:57:13 GMT</pubDate>
    <dc:creator>TimP</dc:creator>
    <dc:date>2008-03-18T21:57:13Z</dc:date>
    <item>
      <title>Can not use multi threading</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Can-not-use-multi-threading/m-p/912152#M12224</link>
      <description>&lt;P&gt;I cannot utilize multi threading for the following functions. cblas_daxpy, cblas_dscal and cblas_dgemv. I have vectors and matrices with n=8000. But it looks like multi threading is not used. I arrived this conclusion by looking at system monitor. I am linking with "-L/opt/intel/mkl/10.0.2.018/lib/32 -lmkl -liomp5 -lpthread -lm". &lt;/P&gt;I am using &lt;BR /&gt;mkl 10.0.2.018&lt;BR /&gt;Fedora 8 (32 bit)&lt;BR /&gt;g++ (GCC) 4.1.2 20070925 (Red Hat 4.1.2-33)&lt;BR /&gt;Intel Core2 CPU T5600 @ 1.83GHz (Mac Mini)&lt;BR /&gt;&lt;BR /&gt;mkl_domain_get_max_threads(MKL_BLAS) returns 2&lt;BR /&gt;mkl_get_dynamic() returns 1&lt;BR /&gt;mkl_get_max_threads() returns 2&lt;BR /&gt;&lt;BR /&gt;mkl_set_dynamic(0) does not seem to force using 2 threads.&lt;BR /&gt;Is there anything else I should be doing? &lt;BR /&gt;&lt;BR /&gt;Thanks.</description>
      <pubDate>Tue, 18 Mar 2008 21:21:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Can-not-use-multi-threading/m-p/912152#M12224</guid>
      <dc:creator>orhun</dc:creator>
      <dc:date>2008-03-18T21:21:35Z</dc:date>
    </item>
    <item>
      <title>Re: Can not use multi threading</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Can-not-use-multi-threading/m-p/912153#M12225</link>
      <description>Level 1 BLAS functions, including ?axpy and ?dscal, generally aren't threaded, because vectorization is usually the only effective parallelization. A run time check for problem size at that level would hurt performance on shorter loops. Even ?gemv would usually get more benefit from threading if it is possible to thread in your code, so as to give each thread an independent instance of the function. &lt;BR /&gt;As your inner loops may be long enough to benefit from threading, since both cores share cache, you can thread them yourself with a more recent compiler, which includes OpenMP as well as auto-vectorization, such as g++ 4.3 or icpc. &lt;BR /&gt;</description>
      <pubDate>Tue, 18 Mar 2008 21:57:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Can-not-use-multi-threading/m-p/912153#M12225</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2008-03-18T21:57:13Z</dc:date>
    </item>
  </channel>
</rss>

