<?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: Unable to utilize all threads - Core i5-1135G7 in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Unable-to-utilize-all-threads-Core-i5-1135G7/m-p/1560841#M35703</link>
    <description>&lt;P&gt;Thank you&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/41889"&gt;@Gennady_F_Intel&lt;/a&gt;&amp;nbsp;, your answer led towards solution.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;SPAN&gt;I used&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;&lt;SPAN&gt;-lmkl_intel_thread&lt;/SPAN&gt;&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;intead of&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;&lt;SPAN&gt;-lmkl_sequential.&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;SPAN&gt;So my compile command was:&lt;BR /&gt;&lt;EM&gt;g++ -o code code.cpp -I/opt/intel/oneapi/mkl/latest/include -L/opt/intel/oneapi/mkl/latest/lib -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lpthread -lm -ldl&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I replaced&amp;nbsp;&lt;EM&gt;&lt;SPAN class=""&gt;-lmkl_sequential&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;SPAN class=""&gt;with&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;-lmkl_intel_thread&amp;nbsp;&lt;/EM&gt;but I was still getting an error.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Error&lt;/STRONG&gt;:&amp;nbsp;&lt;EM&gt;collect2: error: ld returned 1 exit status&amp;nbsp;&lt;/EM&gt;(Screenshot Attached.)&lt;/P&gt;&lt;P&gt;To solve this:&amp;nbsp;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;I &lt;STRONG&gt;used&lt;/STRONG&gt;&amp;nbsp;&lt;EM&gt;&lt;STRONG&gt;icpx&amp;nbsp;&lt;/STRONG&gt;&lt;/EM&gt;compiler instead of g++.&lt;/LI&gt;&lt;LI&gt;I&amp;nbsp;&lt;STRONG&gt;added&amp;nbsp;&lt;EM&gt;-liomp5&amp;nbsp;&lt;/EM&gt;&lt;/STRONG&gt;flag. (Reference to this change: &lt;A href="http://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Compile-Problem-Mkl-10-0-1-014/m-p/905936#M11640" target="_self"&gt;Intel MKL Thread&lt;/A&gt;)&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;After appending these changes my code successfully compiled and executed with multiple threads.&lt;/P&gt;&lt;P&gt;My &lt;STRONG&gt;final build command&lt;/STRONG&gt; now is:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;icpx -fsycl -o test test.cpp -I/opt/intel/oneapi/mkl/latest/include -L/opt/intel/oneapi/mkl/latest/lib -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lm -ldl -liomp5 -lpthread&lt;/EM&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 08 Jan 2024 14:20:38 GMT</pubDate>
    <dc:creator>muzamil-py</dc:creator>
    <dc:date>2024-01-08T14:20:38Z</dc:date>
    <item>
      <title>Unable to utilize all threads - Core i5-1135G7</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Unable-to-utilize-all-threads-Core-i5-1135G7/m-p/1560638#M35696</link>
      <description>&lt;P&gt;Hi everyone, I am facing a problem.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Problem&lt;/STRONG&gt;:&lt;BR /&gt;I installed OneAPI Base Toolkit on my Dell Inspiron 13 7306 which is having Core i5-1135G7. I am running both Windows and Linux (dual boot) on it. First I installed OneAPI Base Toolkit on Linux. After which I compiled and executed the following code but I am unable to use Max Number of Cores / Threads i.e 4 Cores and 8 Threads. In my code I have used&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;"&lt;EM&gt;int&lt;/EM&gt;&lt;/SPAN&gt;&lt;EM&gt; numThreads = mkl_get_max_threads&lt;/EM&gt;&lt;SPAN&gt;&lt;EM&gt;();&lt;/EM&gt;" which returns 1.&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&lt;SPAN&gt;I have used:&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;"&lt;EM&gt;mkl_set_num_threads&lt;/EM&gt;&lt;/SPAN&gt;&lt;EM&gt;(4&lt;/EM&gt;&lt;SPAN&gt;&lt;EM&gt;);&lt;/EM&gt;" to increase the number of threads but it does not increase the cores.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;I have tested it on Windows as well and same issue.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&lt;STRONG&gt;Code&lt;/STRONG&gt;:&amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;EM&gt;#include &amp;lt;iostream&amp;gt;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;#include &amp;lt;mkl.h&amp;gt;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;#include &amp;lt;chrono&amp;gt;&lt;/EM&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;EM&gt;int main() {&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;mkl_set_num_threads(4);&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;int numThreads = mkl_get_max_threads();&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;std::cout &amp;lt;&amp;lt; "Number of threads: " &amp;lt;&amp;lt; numThreads &amp;lt;&amp;lt; std::endl;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;// Matrix dimensions&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;const int m = 10000;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;const int n = 10000;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;const int k = 10000;&lt;/EM&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;EM&gt;// Allocate memory for matrices A, B, and C&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;double *A = (double*)mkl_malloc(m * k * sizeof(double), 64); // 64-byte alignment&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;double *B = (double*)mkl_malloc(k * n * sizeof(double), 64);&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;double *C = (double*)mkl_malloc(m * n * sizeof(double), 64);&lt;/EM&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;EM&gt;// Initialize matrices A and B with random values&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;for (int i = 0; i &amp;lt; m * k; ++i)&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;A[i] = static_cast&amp;lt;double&amp;gt;(rand()) / RAND_MAX;&lt;/EM&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;EM&gt;for (int i = 0; i &amp;lt; k * n; ++i)&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;B[i] = static_cast&amp;lt;double&amp;gt;(rand()) / RAND_MAX;&lt;/EM&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;EM&gt;auto start = std::chrono::high_resolution_clock::now();&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;// Perform matrix multiplication using Intel MKL&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;mkl_set_num_threads(4);&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;cblas_dgemm(CblasRowMajor, CblasNoTrans, CblasNoTrans, m, n, k, 1.0, A, k, B, n, 0.0, C, n);&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;auto end = std::chrono::high_resolution_clock::now();&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;auto duration = std::chrono::duration_cast&amp;lt;std::chrono::seconds&amp;gt;(end - start);&lt;/EM&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;EM&gt;// Print the result (printing a small part for illustration)&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;const int printSize = 5;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;std::cout &amp;lt;&amp;lt; "\nMatrix A: \n";&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;for (int i = 0; i &amp;lt; printSize; ++i) {&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;for (int j = 0; j &amp;lt; printSize; ++j)&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;std::cout &amp;lt;&amp;lt; A[i * m + j] &amp;lt;&amp;lt; " ";&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;std::cout &amp;lt;&amp;lt; "\n";&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;std::cout &amp;lt;&amp;lt; "\nMatrix B: \n";&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;for (int i = 0; i &amp;lt; printSize; ++i) {&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;for (int j = 0; j &amp;lt; printSize; ++j)&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;std::cout &amp;lt;&amp;lt; B[i * m + j] &amp;lt;&amp;lt; " ";&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;std::cout &amp;lt;&amp;lt; "\n";&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;std::cout &amp;lt;&amp;lt; "Result (showing first " &amp;lt;&amp;lt; printSize &amp;lt;&amp;lt; " elements):\n";&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;for (int i = 0; i &amp;lt; printSize; ++i) {&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;for (int j = 0; j &amp;lt; printSize; ++j)&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;std::cout &amp;lt;&amp;lt; C[i * n + j] &amp;lt;&amp;lt; " ";&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;std::cout &amp;lt;&amp;lt; "\n";&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;std::cout &amp;lt;&amp;lt; "Execution Time: " &amp;lt;&amp;lt; duration.count() &amp;lt;&amp;lt; " seconds" &amp;lt;&amp;lt; std::endl;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;// Deallocate memory&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;mkl_free(A);&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;mkl_free(B);&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;EM&gt;mkl_free(C);&lt;/EM&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;EM&gt;return 0;&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&lt;EM&gt;}&lt;/EM&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;Compile&lt;/STRONG&gt;:&amp;nbsp;&lt;EM&gt;g++ -o code code.cpp -I /opt/intel/oneapi/mkl/latest/include/ -L /opt/intel/oneapi/mkl/latest/lib/ -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;Execute&lt;/STRONG&gt;: &lt;EM&gt;./code&lt;/EM&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Is this a bug or it is meant to work like this?&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thanks.&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Sun, 07 Jan 2024 18:01:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Unable-to-utilize-all-threads-Core-i5-1135G7/m-p/1560638#M35696</guid>
      <dc:creator>muzamil-py</dc:creator>
      <dc:date>2024-01-07T18:01:05Z</dc:date>
    </item>
    <item>
      <title>Re: Unable to utilize all threads - Core i5-1135G7</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Unable-to-utilize-all-threads-Core-i5-1135G7/m-p/1560740#M35698</link>
      <description>&lt;P&gt;You have to link this test against&amp;nbsp;-lmkl_intel_thread instead of&amp;nbsp;&lt;EM class="sub_section_element_selectors"&gt;&lt;SPAN class="sub_section_element_selectors"&gt;-lmkl_sequential.&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jan 2024 06:14:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Unable-to-utilize-all-threads-Core-i5-1135G7/m-p/1560740#M35698</guid>
      <dc:creator>Gennady_F_Intel</dc:creator>
      <dc:date>2024-01-08T06:14:43Z</dc:date>
    </item>
    <item>
      <title>Re: Unable to utilize all threads - Core i5-1135G7</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Unable-to-utilize-all-threads-Core-i5-1135G7/m-p/1560825#M35700</link>
      <description>&lt;P&gt;&lt;STRONG&gt;SOLVED!&lt;BR /&gt;&lt;BR /&gt;&lt;/STRONG&gt;Thank you &lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/41889"&gt;@Gennady_F_Intel&lt;/a&gt;&amp;nbsp;, your answer lead towards the solution.&lt;BR /&gt;&lt;BR /&gt;I used&amp;nbsp;&lt;EM&gt;&lt;SPAN&gt;-lmkl_intel_thread&lt;/SPAN&gt;&lt;/EM&gt; intead of&amp;nbsp;&lt;EM&gt;&lt;SPAN class=""&gt;-lmkl_sequential.&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;SPAN class=""&gt;So my compile command was:&lt;BR /&gt;&lt;EM&gt;g++ -o code code.cpp -I/opt/intel/oneapi/mkl/latest/include -L/opt/intel/oneapi/mkl/latest/lib -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lpthread -lm -ldl&lt;/EM&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;BUT&lt;/STRONG&gt; it was giving a new error which was as follows:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_critical_with_hint'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_end_critical'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_for_static_init_8'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_atomic_float8_add'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_dispatch_next_4'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_master'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_for_static_fini'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_dispatch_init_4u'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_end_reduce'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_flush'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_dispatch_next_8u'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_for_static_init_8u'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_for_static_init_4'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_fork_call'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_dispatch_next_8'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_push_num_threads'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_ordered'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_omp_task_alloc'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_dispatch_init_8u'&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_barrier'&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_atomic_cmplx8_add'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_omp_task'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_global_thread_num'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_dispatch_init_4'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_critical'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_end_serialized_parallel'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_atomic_fixed4_add'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_omp_task_with_deps'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_reduce_nowait'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_atomic_float4_max'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_end_master'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_single'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_dispatch_fini_8'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_for_static_init_4u'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_dispatch_init_8'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_atomic_fixed8_add'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_atomic_cmplx4_add'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_ok_to_fork'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_end_single'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_dispatch_next_4u'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_end_ordered'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_end_reduce_nowait'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_serialized_parallel'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_atomic_float4_add'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_atomic_float8_max'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_reduce'&lt;BR /&gt;collect2: error: ld returned 1 exit status&lt;BR /&gt;&lt;/EM&gt;&lt;BR /&gt;So here are some changes I made which resolved this error:&amp;nbsp;&lt;BR /&gt;&lt;STRONG&gt;1.&lt;/STRONG&gt; Used &lt;EM&gt;&lt;STRONG&gt;icpx -fsycl&lt;/STRONG&gt;&lt;/EM&gt;&amp;nbsp;as my compiler.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;2.&lt;/STRONG&gt; Added &lt;EM&gt;&lt;STRONG&gt;-liomp5&amp;nbsp;&lt;/STRONG&gt;&lt;/EM&gt;flag. Reference: &lt;A href="http://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Compile-Problem-Mkl-10-0-1-014/m-p/905936#M11640" target="_blank" rel="noopener"&gt;Intel MKL Thread&lt;/A&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;After this my code compiled successfully and executed on max threads or any specified number of threads.&amp;nbsp;&lt;/P&gt;&lt;P&gt;My &lt;STRONG&gt;Final Build&lt;/STRONG&gt; &lt;STRONG&gt;Command&lt;/STRONG&gt; for the same code is now:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;icpx -fsycl -o code code.cpp -I/opt/intel/oneapi/mkl/latest/include -L/opt/intel/oneapi/mkl/latest/lib -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lm -ldl -liomp5 -lpthread&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jan 2024 13:54:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Unable-to-utilize-all-threads-Core-i5-1135G7/m-p/1560825#M35700</guid>
      <dc:creator>muzamil-py</dc:creator>
      <dc:date>2024-01-08T13:54:05Z</dc:date>
    </item>
    <item>
      <title>Re: Unable to utilize all threads - Core i5-1135G7</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Unable-to-utilize-all-threads-Core-i5-1135G7/m-p/1560828#M35701</link>
      <description>&lt;P&gt;Thank you&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/41889"&gt;@Gennady_F_Intel&lt;/a&gt;&amp;nbsp;, your answer led towards solution.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;I replaced&amp;nbsp;&lt;EM&gt;&lt;SPAN class=""&gt;-lmkl_sequential&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;SPAN class=""&gt;with&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;-lmkl_intel_thread&amp;nbsp;&lt;/EM&gt;but I was still getting an error.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Error&lt;/STRONG&gt;:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_critical_with_hint'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_end_critical'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_for_static_init_8'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_atomic_float8_add'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_dispatch_next_4'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_master'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_for_static_fini'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_dispatch_init_4u'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_end_reduce'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_flush'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_dispatch_next_8u'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_for_static_init_8u'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_for_static_init_4'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_fork_call'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_dispatch_next_8'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_push_num_threads'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_ordered'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_omp_task_alloc'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_dispatch_init_8u'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_barrier'&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_atomic_cmplx8_add'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_omp_task'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_global_thread_num'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_dispatch_init_4'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_critical'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_end_serialized_parallel'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_atomic_fixed4_add'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_omp_task_with_deps'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_reduce_nowait'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_atomic_float4_max'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_end_master'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_single'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_dispatch_fini_8'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_for_static_init_4u'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_dispatch_init_8'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_atomic_fixed8_add'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_atomic_cmplx4_add'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_ok_to_fork'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_end_single'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_dispatch_next_4u'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_end_ordered'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_end_reduce_nowait'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_serialized_parallel'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_atomic_float4_add'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_atomic_float8_max'&lt;BR /&gt;/usr/bin/ld: /opt/intel/oneapi/mkl/latest/lib/libmkl_intel_thread.so: undefined reference to `__kmpc_reduce'&lt;BR /&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;To solve this:&amp;nbsp;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;I &lt;STRONG&gt;used&lt;/STRONG&gt;&amp;nbsp;&lt;EM&gt;&lt;STRONG&gt;icpx&amp;nbsp;&lt;/STRONG&gt;&lt;/EM&gt;compiler instead of g++.&lt;/LI&gt;&lt;LI&gt;I&amp;nbsp;&lt;STRONG&gt;added&amp;nbsp;&lt;EM&gt;-liomp5&amp;nbsp;&lt;/EM&gt;&lt;/STRONG&gt;flag. (Reference to this change: &lt;A href="http://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Compile-Problem-Mkl-10-0-1-014/m-p/905936#M11640" target="_self"&gt;Intel MKL Thread&lt;/A&gt;)&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;After appending these changes my code successfully compiled and executed with multiple threads.&lt;/P&gt;&lt;P&gt;My &lt;STRONG&gt;final build command&lt;/STRONG&gt; now is:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;icpx -fsycl -o test test.cpp -I/opt/intel/oneapi/mkl/latest/include -L/opt/intel/oneapi/mkl/latest/lib -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lm -ldl -liomp5 -lpthread&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jan 2024 14:09:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Unable-to-utilize-all-threads-Core-i5-1135G7/m-p/1560828#M35701</guid>
      <dc:creator>muzamil-py</dc:creator>
      <dc:date>2024-01-08T14:09:03Z</dc:date>
    </item>
    <item>
      <title>Re: Unable to utilize all threads - Core i5-1135G7</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Unable-to-utilize-all-threads-Core-i5-1135G7/m-p/1560831#M35702</link>
      <description>&lt;P&gt;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/41889"&gt;@Gennady_F_Intel&lt;/a&gt;&amp;nbsp;I found a solution but upon posting it, it is being marked spam. Tried posting 2 times.&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jan 2024 14:10:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Unable-to-utilize-all-threads-Core-i5-1135G7/m-p/1560831#M35702</guid>
      <dc:creator>muzamil-py</dc:creator>
      <dc:date>2024-01-08T14:10:22Z</dc:date>
    </item>
    <item>
      <title>Re: Unable to utilize all threads - Core i5-1135G7</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Unable-to-utilize-all-threads-Core-i5-1135G7/m-p/1560841#M35703</link>
      <description>&lt;P&gt;Thank you&amp;nbsp;&lt;a href="https://community.intel.com/t5/user/viewprofilepage/user-id/41889"&gt;@Gennady_F_Intel&lt;/a&gt;&amp;nbsp;, your answer led towards solution.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;SPAN&gt;I used&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;&lt;SPAN&gt;-lmkl_intel_thread&lt;/SPAN&gt;&lt;/EM&gt;&lt;SPAN&gt;&amp;nbsp;intead of&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;&lt;SPAN&gt;-lmkl_sequential.&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;SPAN&gt;So my compile command was:&lt;BR /&gt;&lt;EM&gt;g++ -o code code.cpp -I/opt/intel/oneapi/mkl/latest/include -L/opt/intel/oneapi/mkl/latest/lib -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lpthread -lm -ldl&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I replaced&amp;nbsp;&lt;EM&gt;&lt;SPAN class=""&gt;-lmkl_sequential&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;SPAN class=""&gt;with&amp;nbsp;&lt;/SPAN&gt;&lt;EM&gt;-lmkl_intel_thread&amp;nbsp;&lt;/EM&gt;but I was still getting an error.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Error&lt;/STRONG&gt;:&amp;nbsp;&lt;EM&gt;collect2: error: ld returned 1 exit status&amp;nbsp;&lt;/EM&gt;(Screenshot Attached.)&lt;/P&gt;&lt;P&gt;To solve this:&amp;nbsp;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;I &lt;STRONG&gt;used&lt;/STRONG&gt;&amp;nbsp;&lt;EM&gt;&lt;STRONG&gt;icpx&amp;nbsp;&lt;/STRONG&gt;&lt;/EM&gt;compiler instead of g++.&lt;/LI&gt;&lt;LI&gt;I&amp;nbsp;&lt;STRONG&gt;added&amp;nbsp;&lt;EM&gt;-liomp5&amp;nbsp;&lt;/EM&gt;&lt;/STRONG&gt;flag. (Reference to this change: &lt;A href="http://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Compile-Problem-Mkl-10-0-1-014/m-p/905936#M11640" target="_self"&gt;Intel MKL Thread&lt;/A&gt;)&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;After appending these changes my code successfully compiled and executed with multiple threads.&lt;/P&gt;&lt;P&gt;My &lt;STRONG&gt;final build command&lt;/STRONG&gt; now is:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;icpx -fsycl -o test test.cpp -I/opt/intel/oneapi/mkl/latest/include -L/opt/intel/oneapi/mkl/latest/lib -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lm -ldl -liomp5 -lpthread&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jan 2024 14:20:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Unable-to-utilize-all-threads-Core-i5-1135G7/m-p/1560841#M35703</guid>
      <dc:creator>muzamil-py</dc:creator>
      <dc:date>2024-01-08T14:20:38Z</dc:date>
    </item>
  </channel>
</rss>

