<?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 Why the MKL can only call 4 threads? in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780220#M1430</link>
    <description>I have noticed that:&lt;BR /&gt;&lt;BR /&gt;Hyper-Threading Technology (HT Technology) is especially effective when each thread is performing different types of operations and when there are under-utilized resources on the processor. Intel MKL fits neither of these criteria as the threaded portions of the library execute at high efficiencies using most of the available resources and perform identical operations on each thread. You may obtain higher performance when using Intel MKL without HT Technology enabled.&lt;BR /&gt;&lt;BR /&gt;So, maybe I should not use another 4 threads in mkl any more.&lt;BR /&gt;&lt;BR /&gt;Thanks all of you for kindly help!&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Shiquan</description>
    <pubDate>Wed, 14 Jul 2010 12:18:01 GMT</pubDate>
    <dc:creator>shiquanhe1984gmail_c</dc:creator>
    <dc:date>2010-07-14T12:18:01Z</dc:date>
    <item>
      <title>Why the MKL can only call 4 threads?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780211#M1421</link>
      <description>&lt;P class="tablebodyleft"&gt;Hi,&lt;/P&gt;&lt;P class="tablebodyleft"&gt;The processor option of our workstation is Intel Xeon X5550 2.ttGHz/8MB. It has 4 cpus and each cpu has 2 cores. In my code, I have set OMP_NUM_THREADS=8 and MKL_NUM_THREADS=8 by the commands omp_set_num_threads (8) and mkl_set_num_threads (8). But the mkl part, where the DSS and LAPACK are used to factorize some sparse and full matrices, only can call 4 threads. While the other c++ part runs with 8 threads. How can I call 8 threads at the mkl part? Thanks so much!&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Shiquan&lt;/P&gt;</description>
      <pubDate>Wed, 14 Jul 2010 03:53:56 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780211#M1421</guid>
      <dc:creator>shiquanhe1984gmail_c</dc:creator>
      <dc:date>2010-07-14T03:53:56Z</dc:date>
    </item>
    <item>
      <title>Why the MKL can only call 4 threads?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780212#M1422</link>
      <description>Hello Shiquan,&lt;BR /&gt;&lt;BR /&gt;Please take a look at the description of mkl_set_num_threads () function in the Intel MKL Manual. It contains the next phrases:&lt;BR /&gt;"&lt;BR /&gt;&lt;SPAN style="font-family: Verdana; font-size: xx-small;"&gt;&lt;SPAN style="font-family: Verdana; font-size: xx-small;"&gt;&lt;P align="left"&gt;This function allows you to request independently of OpenMP* how many threads MKL should&lt;/P&gt;&lt;P align="left"&gt;use. This is&lt;STRONG&gt; just a hint&lt;/STRONG&gt;, and it is not guaranteed that this number of threads will be used. Enter&lt;/P&gt;&lt;FONT face="Verdana" size="1" lang="JA"&gt;&lt;FONT face="Verdana" size="1" lang="JA"&gt;&lt;P&gt;a positive integer.&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT face="Verdana" size="1" lang="JA"&gt;&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;P&gt;&lt;BR /&gt;"&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Artem&lt;/P&gt;</description>
      <pubDate>Wed, 14 Jul 2010 06:51:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780212#M1422</guid>
      <dc:creator>Artem_V_Intel</dc:creator>
      <dc:date>2010-07-14T06:51:53Z</dc:date>
    </item>
    <item>
      <title>Why the MKL can only call 4 threads?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780213#M1423</link>
      <description>&lt;P&gt;Dear Artem, &lt;BR /&gt;&lt;BR /&gt;Thanks for your kindly reply. I have noticed the description before. But the 8 threads of my workstation are available. That means no other program runs at the computer simultaneously. However, the mkl part still runs with only 4 threads. How can I make it running with the whole 8 threads? Should I set something or the mkl can only recognize the 4 cpus, but ignore that there are 8 cores? The other c++ parts of this program can parallelize with 8 threads well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Shiquan&lt;/P&gt;</description>
      <pubDate>Wed, 14 Jul 2010 09:11:31 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780213#M1423</guid>
      <dc:creator>shiquanhe1984gmail_c</dc:creator>
      <dc:date>2010-07-14T09:11:31Z</dc:date>
    </item>
    <item>
      <title>Why the MKL can only call 4 threads?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780214#M1424</link>
      <description>Shiquan,&lt;BR /&gt;&lt;BR /&gt;In order to see how many threadsare used during MKL parallelization with libiomp5 library please set the following envs:&lt;BR /&gt;&lt;BR /&gt;KMP_AFFINITY=verbose&lt;BR /&gt;&lt;BR /&gt;Sorry, what kind of OS do you use Linux or Windows?</description>
      <pubDate>Wed, 14 Jul 2010 09:48:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780214#M1424</guid>
      <dc:creator>barragan_villanueva_</dc:creator>
      <dc:date>2010-07-14T09:48:52Z</dc:date>
    </item>
    <item>
      <title>Why the MKL can only call 4 threads?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780215#M1425</link>
      <description>Dear Victor,&lt;BR /&gt;&lt;BR /&gt;I encouter the sameproblem on both Linux and Windows system.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Shiquan</description>
      <pubDate>Wed, 14 Jul 2010 09:54:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780215#M1425</guid>
      <dc:creator>shiquanhe1984gmail_c</dc:creator>
      <dc:date>2010-07-14T09:54:03Z</dc:date>
    </item>
    <item>
      <title>Why the MKL can only call 4 threads?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780216#M1426</link>
      <description>So, on Linux please use&lt;BR /&gt;&lt;BR /&gt; export KMP_AFFINITY=verbose&lt;BR /&gt;&lt;BR /&gt;or&lt;BR /&gt;&lt;BR /&gt; export KMP_AFFINITY=verbose,$KMP_AFFINITY&lt;BR /&gt;&lt;BR /&gt;in case if youuse some value already&lt;BR /&gt;&lt;BR /&gt;And send us the output which is to be like as follows for 8-threads on my machine:&lt;BR /&gt;&lt;BR /&gt;OMP: Info #204: KMP_AFFINITY: decoding cpuid leaf 11 APIC ids.&lt;BR /&gt;OMP: Info #202: KMP_AFFINITY: Affinity capable, using global cpuid leaf 11 info&lt;BR /&gt;OMP: Info #154: KMP_AFFINITY: Initial OS proc set respected: {0,1,2,3,4,5,6,7}&lt;BR /&gt;OMP: Info #156: KMP_AFFINITY: 8 available OS procs&lt;BR /&gt;OMP: Info #157: KMP_AFFINITY: Uniform topology&lt;BR /&gt;OMP: Info #179: KMP_AFFINITY: 2 packages x 4 cores/pkg x 1 threads/core (8 total cores)&lt;BR /&gt;OMP: Info #147: KMP_AFFINITY: Internal thread 0 bound to OS proc set {0,1,2,3,4,5,6,7}&lt;BR /&gt;OMP: Info #147: KMP_AFFINITY: Internal thread 1 bound to OS proc set {0,1,2,3,4,5,6,7}&lt;BR /&gt;OMP: Info #147: KMP_AFFINITY: Internal thread 7 bound to OS proc set {0,1,2,3,4,5,6,7}&lt;BR /&gt;OMP: Info #147: KMP_AFFINITY: Internal thread 6 bound to OS proc set {0,1,2,3,4,5,6,7}&lt;BR /&gt;OMP: Info #147: KMP_AFFINITY: Internal thread 5 bound to OS proc set {0,1,2,3,4,5,6,7}&lt;BR /&gt;OMP: Info #147: KMP_AFFINITY: Internal thread 4 bound to OS proc set {0,1,2,3,4,5,6,7}&lt;BR /&gt;OMP: Info #147: KMP_AFFINITY: Internal thread 3 bound to OS proc set {0,1,2,3,4,5,6,7}&lt;BR /&gt;OMP: Info #147: KMP_AFFINITY: Internal thread 2 bound to OS proc set {0,1,2,3,4,5,6,7}&lt;BR /&gt;</description>
      <pubDate>Wed, 14 Jul 2010 10:03:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780216#M1426</guid>
      <dc:creator>barragan_villanueva_</dc:creator>
      <dc:date>2010-07-14T10:03:19Z</dc:date>
    </item>
    <item>
      <title>Why the MKL can only call 4 threads?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780217#M1427</link>
      <description>&lt;P&gt;Hi, Victor,&lt;/P&gt;&lt;P&gt;I have set the env variable and the output is:&lt;/P&gt;&lt;P&gt;OMP: Info #204: KMP_AFFINITY: decoding cpuid leaf 11 APIC ids.&lt;/P&gt;&lt;P&gt;OMP: Info #202: KMP_AFFINITY: Affinity capable, using global cpuid leaf 11 info&lt;/P&gt;&lt;P&gt;OMP: Info #154: KMP_AFFINITY: Initial OS proc set respected: {0,1,2,3,4,5,6,7}&lt;/P&gt;&lt;P&gt;OMP: Info #156: KMP_AFFINITY: 8 available OS procs&lt;/P&gt;&lt;P&gt;OMP: Info #157: KMP_AFFINITY: Uniform topology&lt;/P&gt;&lt;P&gt;OMP: Info #179: KMP_AFFINITY: 1 packages x 4 cores/pkg x 2 threads/core (4 total cores)&lt;/P&gt;&lt;P&gt;OMP: Info #147: KMP_AFFINITY: Internal thread 0 bound to OS proc set {0,1,2,3,4,5,6,7}&lt;/P&gt;&lt;P&gt;OMP: Info #147: KMP_AFFINITY: Internal thread 1 bound to OS proc set {0,1,2,3,4,5,6,7}&lt;/P&gt;&lt;P&gt;OMP: Info #147: KMP_AFFINITY: Internal thread 2 bound to OS proc set {0,1,2,3,4,5,6,7}&lt;/P&gt;&lt;P&gt;OMP: Info #147: KMP_AFFINITY: Internal thread 3 bound to OS proc set {0,1,2,3,4,5,6,7}&lt;/P&gt;&lt;P&gt;OMP: Info #147: KMP_AFFINITY: Internal thread 4 bound to OS proc set {0,1,2,3,4,5,6,7}&lt;/P&gt;&lt;P&gt;OMP: Info #147: KMP_AFFINITY: Internal thread 5 bound to OS proc set {0,1,2,3,4,5,6,7}&lt;/P&gt;&lt;P&gt;OMP: Info #147: KMP_AFFINITY: Internal thread 6 bound to OS proc set {0,1,2,3,4,5,6,7}&lt;/P&gt;&lt;P&gt;OMP: Info #147: KMP_AFFINITY: Internal thread 7 bound to OS proc set {0,1,2,3,4,5,6,7}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is the same with yours. But the mkl part still runs with only 4 threads while the other c++ parts of this program can parallelize with 8 threads well.&lt;/P&gt;&lt;P&gt;The intel version in our computer is: /opt/intel/Compiler/11.1/064 &lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Shiquan&lt;/P&gt;</description>
      <pubDate>Wed, 14 Jul 2010 10:31:02 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780217#M1427</guid>
      <dc:creator>shiquanhe1984gmail_c</dc:creator>
      <dc:date>2010-07-14T10:31:02Z</dc:date>
    </item>
    <item>
      <title>Why the MKL can only call 4 threads?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780218#M1428</link>
      <description>You have&lt;BR /&gt; 1 packages x 4 cores/pkg x 2 threads/core&lt;BR /&gt;but MKL uses just 1 thread per core =&amp;gt; 4 in total&lt;BR /&gt;&lt;BR /&gt;See &lt;A href="http://software.intel.com/en-us/forums/showthread.php?t=67622"&gt;&lt;STRONG&gt;Intel MKL threading behavior on Hyper-Threading systems&lt;/STRONG&gt;&lt;/A&gt;for more details</description>
      <pubDate>Wed, 14 Jul 2010 10:46:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780218#M1428</guid>
      <dc:creator>barragan_villanueva_</dc:creator>
      <dc:date>2010-07-14T10:46:53Z</dc:date>
    </item>
    <item>
      <title>Why the MKL can only call 4 threads?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780219#M1429</link>
      <description>&lt;P&gt;Dear Victor,&lt;/P&gt;&lt;P&gt;Thanks for your help. &lt;/P&gt;&lt;P&gt;According to your advice, I can call the whole 8 threads in my mkl code now. But the code keeps running in the mkl function and can not give the response. I have encountered the similar problem on my laptop with 2 cores and Windows system before. If I select the Parallel option in MKL, the code will keep running and can not finish. Or it even takes more time than the Sequential version and return wrong results. But the Sequential version can finish quickly.&lt;/P&gt;&lt;P&gt;How can I solve this problem? Thanks. &lt;/P&gt;&lt;P&gt;I have set: MKL_DYNAMIC=FALSE&lt;/P&gt;&lt;P&gt;MKL_NUM_THREADS= 8&lt;/P&gt;&lt;P&gt;and &lt;/P&gt;&lt;P&gt;KMP_AFFINITY=granularity=fine,compact,1,0 &lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Shiquan&lt;/P&gt;</description>
      <pubDate>Wed, 14 Jul 2010 11:46:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780219#M1429</guid>
      <dc:creator>shiquanhe1984gmail_c</dc:creator>
      <dc:date>2010-07-14T11:46:26Z</dc:date>
    </item>
    <item>
      <title>Why the MKL can only call 4 threads?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780220#M1430</link>
      <description>I have noticed that:&lt;BR /&gt;&lt;BR /&gt;Hyper-Threading Technology (HT Technology) is especially effective when each thread is performing different types of operations and when there are under-utilized resources on the processor. Intel MKL fits neither of these criteria as the threaded portions of the library execute at high efficiencies using most of the available resources and perform identical operations on each thread. You may obtain higher performance when using Intel MKL without HT Technology enabled.&lt;BR /&gt;&lt;BR /&gt;So, maybe I should not use another 4 threads in mkl any more.&lt;BR /&gt;&lt;BR /&gt;Thanks all of you for kindly help!&lt;BR /&gt;&lt;BR /&gt;Best regards,&lt;BR /&gt;Shiquan</description>
      <pubDate>Wed, 14 Jul 2010 12:18:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780220#M1430</guid>
      <dc:creator>shiquanhe1984gmail_c</dc:creator>
      <dc:date>2010-07-14T12:18:01Z</dc:date>
    </item>
    <item>
      <title>Why the MKL can only call 4 threads?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780221#M1431</link>
      <description>&lt;DIV&gt;&lt;SPAN style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;Yes, Shiquan,you are right.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;The similar interesting discussions regarding how HT affect on MKL performance, you can find&lt;A href="http://software.intel.com/en-us/forums/showthread.php?t=68141"&gt;here&lt;/A&gt;.&lt;/DIV&gt;&lt;DIV&gt;--Gennady&lt;/DIV&gt;</description>
      <pubDate>Wed, 14 Jul 2010 14:27:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Why-the-MKL-can-only-call-4-threads/m-p/780221#M1431</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2010-07-14T14:27:27Z</dc:date>
    </item>
  </channel>
</rss>

