<?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 Specs for your CPU are at: in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062213#M21763</link>
    <description>Specs for your CPU are at:
.
&lt;A href="http://ark.intel.com/products/78937/Intel-Core-i7-4810MQ-Processor-6M-Cache-up-to-3_80-GHz" target="_blank"&gt;http://ark.intel.com/products/78937/Intel-Core-i7-4810MQ-Processor-6M-Cache-up-to-3_80-GHz&lt;/A&gt;

//

&lt;STRONG&gt;# of Cores = 4&lt;/STRONG&gt; - reported by &lt;STRONG&gt;MKL&lt;/STRONG&gt; ( MKL_GET_MAX_THREADS )

Note: Cores is a hardware term that describes the number of independent central processing units in a single computing component (die or chip).

&lt;STRONG&gt;# of Threads = 8&lt;/STRONG&gt; - reported by &lt;STRONG&gt;OpenMP&lt;/STRONG&gt; ( OMP_GET_MAX_THREADS )

Note: A Thread, or thread of execution, is a software term for the basic ordered sequence of instructions that can be passed through or processed by a single CPU core.

//

My understanding is that &lt;STRONG&gt;Intel&lt;/STRONG&gt; never claimed that &lt;STRONG&gt;MKL_GET_MAX_THREADS&lt;/STRONG&gt; and &lt;STRONG&gt;OMP_GET_MAX_THREADS&lt;/STRONG&gt; should return the same values. What value would I use to get maximum from parallelization using &lt;STRONG&gt;OpenMP&lt;/STRONG&gt; or &lt;STRONG&gt;MKL&lt;/STRONG&gt;? The answer is &lt;STRONG&gt;4&lt;/STRONG&gt; because &lt;STRONG&gt;Intel Core i7 4810MQ&lt;/STRONG&gt; processor has &lt;STRONG&gt;4&lt;/STRONG&gt; cores.</description>
    <pubDate>Tue, 21 Mar 2017 20:36:14 GMT</pubDate>
    <dc:creator>SergeyKostrov</dc:creator>
    <dc:date>2017-03-21T20:36:14Z</dc:date>
    <item>
      <title>maximum no of threads from OMP and MKL</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062211#M21761</link>
      <description>&lt;P&gt;Some time ago I have already opened a similar problem in the premier support. The difference was between MKL and some OS subroutines.&lt;BR /&gt;
	​Now in the MKL documentation I can find:&lt;BR /&gt;
	​___________________________________________&lt;BR /&gt;
	&lt;SPAN class="option"&gt;mkl_get_max_threads&lt;/SPAN&gt;&lt;BR /&gt;
	Gets the number of OpenMP* threads targeted for parallelism&lt;BR /&gt;
	____________________________________________________&lt;BR /&gt;
	The following piece of code:&lt;BR /&gt;
	​================================================&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NMAXTH = OMP_GET_MAX_THREADS()&lt;BR /&gt;
	!&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NPROC = OMP_GET_NUM_PROCS()&lt;BR /&gt;
	!&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ITH = OMP_GET_THREAD_NUM()&lt;BR /&gt;
	!&lt;BR /&gt;
	!&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MX_THREADS = NMAXTH&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NMAXTH0 = NMAXTH&lt;BR /&gt;
	!&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NTMKL = MKL_GET_MAX_THREADS()&lt;BR /&gt;
	======================================================&lt;BR /&gt;
	gives:&lt;BR /&gt;
	NMAXTH​=8, NPROC = 8, NTMKL=4.&lt;BR /&gt;
	​The running workstation is: Intel Core i7-4810MQ CPU 2.80 Ghz.&lt;BR /&gt;
	​Running compiler:&lt;BR /&gt;
	Intel® Parallel Studio XE 2016 Update 4 Composer Edition for Fortran Windows* Integration for Microsoft Visual Studio* 2015, Version 16.0.0063.14, Copyright © 2002-2016 Intel Corporation. All rights reserved.&lt;BR /&gt;
	​Intel should clarify differences.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 21 Mar 2017 16:12:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062211#M21761</guid>
      <dc:creator>LRaim</dc:creator>
      <dc:date>2017-03-21T16:12:38Z</dc:date>
    </item>
    <item>
      <title>This would be better asked in</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062212#M21762</link>
      <description>&lt;P&gt;This would be better asked in the MKL forum.&lt;/P&gt;</description>
      <pubDate>Tue, 21 Mar 2017 17:13:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062212#M21762</guid>
      <dc:creator>Steve_Lionel</dc:creator>
      <dc:date>2017-03-21T17:13:30Z</dc:date>
    </item>
    <item>
      <title>Specs for your CPU are at:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062213#M21763</link>
      <description>Specs for your CPU are at:
.
&lt;A href="http://ark.intel.com/products/78937/Intel-Core-i7-4810MQ-Processor-6M-Cache-up-to-3_80-GHz" target="_blank"&gt;http://ark.intel.com/products/78937/Intel-Core-i7-4810MQ-Processor-6M-Cache-up-to-3_80-GHz&lt;/A&gt;

//

&lt;STRONG&gt;# of Cores = 4&lt;/STRONG&gt; - reported by &lt;STRONG&gt;MKL&lt;/STRONG&gt; ( MKL_GET_MAX_THREADS )

Note: Cores is a hardware term that describes the number of independent central processing units in a single computing component (die or chip).

&lt;STRONG&gt;# of Threads = 8&lt;/STRONG&gt; - reported by &lt;STRONG&gt;OpenMP&lt;/STRONG&gt; ( OMP_GET_MAX_THREADS )

Note: A Thread, or thread of execution, is a software term for the basic ordered sequence of instructions that can be passed through or processed by a single CPU core.

//

My understanding is that &lt;STRONG&gt;Intel&lt;/STRONG&gt; never claimed that &lt;STRONG&gt;MKL_GET_MAX_THREADS&lt;/STRONG&gt; and &lt;STRONG&gt;OMP_GET_MAX_THREADS&lt;/STRONG&gt; should return the same values. What value would I use to get maximum from parallelization using &lt;STRONG&gt;OpenMP&lt;/STRONG&gt; or &lt;STRONG&gt;MKL&lt;/STRONG&gt;? The answer is &lt;STRONG&gt;4&lt;/STRONG&gt; because &lt;STRONG&gt;Intel Core i7 4810MQ&lt;/STRONG&gt; processor has &lt;STRONG&gt;4&lt;/STRONG&gt; cores.</description>
      <pubDate>Tue, 21 Mar 2017 20:36:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062213#M21763</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2017-03-21T20:36:14Z</dc:date>
    </item>
    <item>
      <title>mkl_get_max_threads returns</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062214#M21764</link>
      <description>&lt;P style="box-sizing: border-box; word-wrap: break-word; margin-bottom: 1em; line-height: 1.4; max-width: 100%; width: auto; color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;SPAN style="color: rgb(102, 102, 102); font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace; font-size: 13px;"&gt;mkl_get_max_threads&lt;/SPAN&gt; returns the number of OpenMP threads for Intel MKL to use in internal parallel regions. This number depends on whether dynamic adjustment of the number of threads by Intel MKL is disabled (by an environment setting or in a function call):&lt;/P&gt;

&lt;UL id="GUID-C323D824-388D-46F4-A724-EA3D82EF9D7B" style="box-sizing: border-box; margin-left: 1em; max-width: 100%; width: auto; color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px;"&gt;
	&lt;LI style="box-sizing: border-box; position: relative; left: 1em; padding-right: 1em; max-width: 100%; width: auto;"&gt;
		&lt;P style="box-sizing: border-box; word-wrap: break-word; margin-bottom: 0.5em; line-height: 1.4; max-width: 100%; width: auto;"&gt;If the dynamic adjustment is disabled, the function inspects the environment settings and return values of the function calls below in the order they are listed until it finds a non-zero value:&lt;/P&gt;

		&lt;UL id="GUID-22D8D263-B97D-48E0-BCC2-8E8FCA1EF9D7" style="box-sizing: border-box; margin-left: 1em; max-width: 100%; width: auto;"&gt;
			&lt;LI style="box-sizing: border-box; position: relative; left: 1em; padding-right: 1em; max-width: 100%; width: auto;"&gt;
				&lt;P style="box-sizing: border-box; word-wrap: break-word; margin-bottom: 0.5em; line-height: 1.4; max-width: 100%; width: auto;"&gt;A call to&amp;nbsp;&lt;A href="https://software.intel.com/node/12c534b6-4ed4-4a1b-a630-622526617e43" style="box-sizing: border-box; color: rgb(0, 113, 197);"&gt;mkl_set_num_threads_local&lt;/A&gt;&lt;/P&gt;
			&lt;/LI&gt;
			&lt;LI style="box-sizing: border-box; position: relative; left: 1em; padding-right: 1em; max-width: 100%; width: auto;"&gt;
				&lt;P style="box-sizing: border-box; word-wrap: break-word; margin-bottom: 0.5em; line-height: 1.4; max-width: 100%; width: auto;"&gt;The last of the calls to&amp;nbsp;&lt;A href="https://software.intel.com/node/0a2a70b3-801c-4809-90e8-bae0cec6a46c" style="box-sizing: border-box; color: rgb(0, 113, 197);"&gt;mkl_set_num_threads&lt;/A&gt;&amp;nbsp;or&amp;nbsp;&lt;A href="https://software.intel.com/node/2ee52a38-04fe-4c5b-b050-d40fa8a65e7e" style="box-sizing: border-box; color: rgb(0, 113, 197);"&gt;mkl_domain_set_num_threads&lt;/A&gt;( …,&amp;nbsp;&lt;SPAN class="keyword" style="box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;MKL_DOMAIN_ALL&lt;/SPAN&gt;)&lt;/P&gt;
			&lt;/LI&gt;
			&lt;LI style="box-sizing: border-box; position: relative; left: 1em; padding-right: 1em; max-width: 100%; width: auto;"&gt;
				&lt;P style="box-sizing: border-box; word-wrap: break-word; margin-bottom: 0.5em; line-height: 1.4; max-width: 100%; width: auto;"&gt;The&amp;nbsp;&lt;SPAN class="keyword" style="box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;MKL_DOMAIN_NUM_THREADS&lt;/SPAN&gt;&amp;nbsp;environment variable with the&amp;nbsp;&lt;SPAN class="keyword" style="box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;MKL_DOMAIN_ALL&lt;/SPAN&gt;&amp;nbsp;tag&lt;/P&gt;
			&lt;/LI&gt;
			&lt;LI style="box-sizing: border-box; position: relative; left: 1em; padding-right: 1em; max-width: 100%; width: auto;"&gt;
				&lt;P style="box-sizing: border-box; word-wrap: break-word; margin-bottom: 0.5em; line-height: 1.4; max-width: 100%; width: auto;"&gt;The&amp;nbsp;&lt;SPAN class="keyword" style="box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;MKL_NUM_THREADS&lt;/SPAN&gt;&amp;nbsp;environment variable&lt;/P&gt;
			&lt;/LI&gt;
			&lt;LI style="box-sizing: border-box; position: relative; left: 1em; padding-right: 1em; max-width: 100%; width: auto;"&gt;
				&lt;P style="box-sizing: border-box; word-wrap: break-word; margin-bottom: 0.5em; line-height: 1.4; max-width: 100%; width: auto;"&gt;A call to&amp;nbsp;&lt;SPAN class="option" style="box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;omp_set_num_threads&lt;/SPAN&gt;&lt;/P&gt;
			&lt;/LI&gt;
			&lt;LI style="box-sizing: border-box; position: relative; left: 1em; padding-right: 1em; max-width: 100%; width: auto;"&gt;
				&lt;P style="box-sizing: border-box; word-wrap: break-word; margin-bottom: 0.5em; line-height: 1.4; max-width: 100%; width: auto;"&gt;The&amp;nbsp;&lt;SPAN class="keyword" style="box-sizing: border-box; font-family: &amp;quot;Courier New&amp;quot;, Courier, monospace;"&gt;OMP_NUM_THREADS&lt;/SPAN&gt;&amp;nbsp;environment variable&lt;/P&gt;
			&lt;/LI&gt;
		&lt;/UL&gt;
	&lt;/LI&gt;
	&lt;LI style="box-sizing: border-box; position: relative; left: 1em; padding-right: 1em; max-width: 100%; width: auto;"&gt;
		&lt;P style="box-sizing: border-box; word-wrap: break-word; margin-bottom: 0.5em; line-height: 1.4; max-width: 100%; width: auto;"&gt;If the dynamic adjustment is enabled, the function returns the number of physical cores on your system.&lt;/P&gt;
	&lt;/LI&gt;
&lt;/UL&gt;

&lt;P style="box-sizing: border-box; word-wrap: break-word; margin-bottom: 1em; line-height: 1.4; max-width: 100%; width: auto; color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px;"&gt;The number of threads returned by this function is a hint, and Intel MKL may actually use a different number.&lt;/P&gt;

&lt;P style="box-sizing: border-box; word-wrap: break-word; margin-bottom: 1em; line-height: 1.4; max-width: 100%; width: auto; color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;STRONG&gt;Reference:&lt;/STRONG&gt;&lt;/P&gt;

&lt;P style="box-sizing: border-box; word-wrap: break-word; margin-bottom: 1em; line-height: 1.4; max-width: 100%; width: auto; color: rgb(102, 102, 102); font-family: Arial, Tahoma, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;A href="https://software.intel.com/en-us/node/471142" target="_blank"&gt;https://software.intel.com/en-us/node/471142&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Mar 2017 06:12:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062214#M21764</guid>
      <dc:creator>Jing_Xu</dc:creator>
      <dc:date>2017-03-23T06:12:42Z</dc:date>
    </item>
    <item>
      <title>&gt;&gt;...The number of threads</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062215#M21765</link>
      <description>&amp;gt;&amp;gt;...The number of threads returned by this function is a hint, and Intel MKL may actually use a different number.

By default a number of threads used by MKL is equal to the number of cores.</description>
      <pubDate>Fri, 24 Mar 2017 20:45:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062215#M21765</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2017-03-24T20:45:23Z</dc:date>
    </item>
    <item>
      <title>Quote:Sergey Kostrov wrote:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062216#M21766</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Sergey Kostrov wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;&amp;gt;&amp;gt;...The number of threads returned by this function is a hint, and Intel MKL may actually use a different number.&lt;/P&gt;

&lt;P&gt;By default a number of threads used by MKL is equal to the number of cores.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Yes, although I am hoping this will change soon for Intel Xeon Phi x200 processors, where best performance may often be 2 threads per core.&lt;/P&gt;</description>
      <pubDate>Fri, 31 Mar 2017 14:59:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062216#M21766</guid>
      <dc:creator>Gregg_S_Intel</dc:creator>
      <dc:date>2017-03-31T14:59:05Z</dc:date>
    </item>
    <item>
      <title>What is the exact reason why</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062217#M21767</link>
      <description>&lt;P&gt;What is the exact reason why this cannot be fixed to what everyone would obviously expect -- use full power of your CPU/all threads by default? Independently of threads per core?&lt;/P&gt;

&lt;P&gt;This is the most tired MKL problem&lt;/P&gt;</description>
      <pubDate>Sun, 02 Apr 2017 07:12:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062217#M21767</guid>
      <dc:creator>Mikhail_K_</dc:creator>
      <dc:date>2017-04-02T07:12:00Z</dc:date>
    </item>
    <item>
      <title>MKL performance is usually</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062218#M21768</link>
      <description>&lt;P&gt;MKL performance is usually best with 1 hardware thread per core.&amp;nbsp; For many HPC kernels and applications it is best &lt;EM&gt;not &lt;/EM&gt;to use all available hardware threads.&lt;/P&gt;</description>
      <pubDate>Tue, 11 Apr 2017 07:43:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062218#M21768</guid>
      <dc:creator>Gregg_S_Intel</dc:creator>
      <dc:date>2017-04-11T07:43:22Z</dc:date>
    </item>
    <item>
      <title>For memory bounded functions</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062219#M21769</link>
      <description>&lt;P&gt;For memory bounded functions like vdMul I double the performance by setting number of threads manually&lt;/P&gt;</description>
      <pubDate>Tue, 11 Apr 2017 08:56:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062219#M21769</guid>
      <dc:creator>Mikhail_K_</dc:creator>
      <dc:date>2017-04-11T08:56:22Z</dc:date>
    </item>
    <item>
      <title>&gt;&gt;...What is the exact reason</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062220#M21770</link>
      <description>&amp;gt;&amp;gt;...What is the exact reason why this cannot be fixed to what everyone would obviously expect -- use full power of your CPU/all
&amp;gt;&amp;gt;threads by default? Independently of threads per core?

Mikhail, That default "problem" could be easily fixed and a different number of threads for &lt;STRONG&gt;MKL&lt;/STRONG&gt; could be set with &lt;STRONG&gt;mkl_set_num_threads&lt;/STRONG&gt; function.

&amp;gt;&amp;gt;...What is the exact reason why this cannot be fixed...

Access to &lt;STRONG&gt;L2 cache&lt;/STRONG&gt; is a primary reason because it is shared between cores. If you look at specs of any Intel CPU you will see something like:
...
&lt;STRONG&gt;Size of L2 Cache&lt;/STRONG&gt; =   1MB ( &lt;STRONG&gt;256KB per core&lt;/STRONG&gt; / &lt;STRONG&gt;shared for data &amp;amp; instructions&lt;/STRONG&gt; )
...</description>
      <pubDate>Thu, 13 Apr 2017 23:13:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062220#M21770</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2017-04-13T23:13:00Z</dc:date>
    </item>
    <item>
      <title>For VM functions I don't</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062221#M21771</link>
      <description>&lt;P&gt;For VM functions I don't think there is any cache reuse...&lt;/P&gt;

&lt;P&gt;Is it not possible to differentiate between different parallelization regimes, one for BLAS functions and something else for the VM/VSL pack?&lt;/P&gt;

&lt;P&gt;I turned off hyper-threading for now...&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;"&lt;SPAN style="color: rgb(84, 84, 84); font-family: arial, sans-serif; font-size: small;"&gt;Intel®&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-weight: bold; color: rgb(106, 106, 106); font-family: arial, sans-serif; font-size: small;"&gt;Math Kernel Library&lt;/SPAN&gt;&lt;SPAN style="color: rgb(84, 84, 84); font-family: arial, sans-serif; font-size: small;"&gt;&amp;nbsp;(Intel®&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-weight: bold; color: rgb(106, 106, 106); font-family: arial, sans-serif; font-size: small;"&gt;MKL&lt;/SPAN&gt;&lt;SPAN style="color: rgb(84, 84, 84); font-family: arial, sans-serif; font-size: small;"&gt;) accelerates math processing routines that increase application performance and reduce development time.&lt;/SPAN&gt;"&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;Seriously, VM functions running at 50% capacity on an Intel processor with hyper-threading (&lt;/SPAN&gt;&lt;SPAN style="font-size: 13.008px;"&gt;Intel's invention&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em;"&gt;)?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;If there is one company that should be able to solve this, it is &lt;/SPAN&gt;definitely&lt;SPAN style="font-size: 1em;"&gt; Intel.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 17 Apr 2017 07:32:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062221#M21771</guid>
      <dc:creator>Mikhail_K_</dc:creator>
      <dc:date>2017-04-17T07:32:00Z</dc:date>
    </item>
    <item>
      <title>Quote:Mikhail Kovalev wrote:</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062222#M21772</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Mikhail Kovalev wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;For VM functions I don't think there is any cache reuse...&lt;/P&gt;

&lt;P&gt;Is it not possible to differentiate between different parallelization regimes, one for BLAS functions and something else for the VM/VSL pack?&lt;/P&gt;

&lt;P&gt;I turned off hyper-threading for now...&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;"Intel®&amp;nbsp;Math Kernel Library&amp;nbsp;(Intel®&amp;nbsp;MKL) accelerates math processing routines that increase application performance and reduce development time."&lt;/P&gt;

&lt;P&gt;Seriously, VM functions running at 50% capacity on an Intel processor with hyper-threading (Intel's invention)?&lt;/P&gt;

&lt;P&gt;If there is one company that should be able to solve this, it is definitely Intel.&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Intel never intended hyperthreading to give a major boost to floating point applications with normal cache locality.&amp;nbsp; Intel tried a slightly different tack with the MIC KNC but the current KNL returns to the favoritism for 1 thread per core with MKL.&amp;nbsp; There have also been CPUs without HT, but Intel didn't consider the benefit large enough to continue (if you consider that a solution).&lt;/P&gt;

&lt;P&gt;If you read these forums carefully, you will see reports about how hyperthreading gives a small benefit in many cases even though just 1 thread per core is active at the MKL level.&lt;/P&gt;

&lt;P&gt;You may have a point that specialized applications which use VML may have low cache locality, but certainly not all of them would be that way.&lt;/P&gt;</description>
      <pubDate>Mon, 17 Apr 2017 08:55:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/maximum-no-of-threads-from-OMP-and-MKL/m-p/1062222#M21772</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2017-04-17T08:55:54Z</dc:date>
    </item>
  </channel>
</rss>

