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?
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
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.
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.
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.