Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

Intel IPP & Xeon PHi Coprocessor Multi-threading

Vizator46
Beginner
770 Views

Hello.

How can I use multi threaded mode for Intel Integrated Performance Primitives 2017 Update 1 on Intel Xeon Phi Coprocessor? I use native mode program (not offload) and I compile project from command line on Windows host with string like this: icl source\block_filter.cpp source\convert.cpp main.cpp -Qmic -parallel -IPP_PARALLEL_DYNAMIC -qopenmp -g -O2 -lscif -ipp -lipps -lippcore -lippvm -o main.run -link -MT . Where are my mistakes, because program don't use many cores?

0 Kudos
6 Replies
Zhen_Z_Intel
Employee
770 Views

Dear customer,

To use IPP multi-threading. First, you need to install IPP multi-thread libraries manually. It is not be installed by default. Then, compile your program link with libs from

%IPPROOT%\lib\<arch>\threaded

I feel a bit confused with your compiling commands, you are using 'icl', it is Intel C++ compiler for Windows. But for your linking command which is the format for linking single-dynamic library in Linux. You could refer this document for IPP linking & compiling. Thank you.

Best regards,
Fiona

0 Kudos
Vizator46
Beginner
770 Views

Hello, Fiona.

I already had read all this information. The problem is that for the MIC I cannot find  folder "threaded"  never in windows nor in linux. Single-threaded libraries for Linux are different from the libraries for the MIC. Does this mean that such libraries for MIC did not exist? I don't know may I use libraries from Linux on MIC device? About my compiling commands I may to say that I feel a bit confused too. I must use C++ compiler for Windows, but make program code for MIC (with Linux core). I was also very surprised that I must to use some of the compiler directives for Windows, but some part for Linux.


 

0 Kudos
Sergey_K_Intel
Employee
770 Views

Hello Vizator46,

We don't provide multi-thread native libraries for MIC (a.k.a KNC, a.k.a Intel Phi x100). The libraries, which you find for host Linux system, aren't compatible with MIC native environment.Though I never tried, you may not be able even to build native MIC application with IPP libraries for host Linux.

For KNL (Phi x200) processors, you may use ordinary Linux libraries of Intel 64 architecture for native applications. At least, single-threaded.

0 Kudos
Vizator46
Beginner
770 Views

I understood. Thanks a lot.

0 Kudos
SergeyKostrov
Valued Contributor II
770 Views
>>For KNL (Phi x200) processors, you may use ordinary Linux libraries of Intel 64 architecture for native applications. At least, >>single-threaded. Only single-threaded IPP libraries are installed on Linux. Here are some records from a log file created during installation of the Intel Parallel Studio XE 2017 Update 1 for Linux ( on Linux Ubuntu 16.04 LTS ): ... Welcome to the Intel(R) Parallel Studio XE 2017 Update 1 for Linux* setup program. ... Intel(R) Integrated Performance Primitives 2017 Update 1 2.6GB Intel IPP single-threaded libraries: General package ... Installing Intel IPP single-threaded libraries for IA-32: General package component... done ... Installing Intel IPP single-threaded libraries for Intel(R) 64: General package component... done ... If you're experienced with OpenMP programming you could parallelize processing even with single-threaded IPP functions.
0 Kudos
SergeyKostrov
Valued Contributor II
770 Views
Here is a list of IPP library folders ( installed on a KNL server ): ../Linux/ipp/lib/ ../Linux/ipp/lib/ia32 ../Linux/ipp/lib/intel64 ../Linux/ipp/lib/mic
0 Kudos
Reply