I have a series questions about how IPP use the CPU and core resource. Please take a look.
Now, I have a server named TIGW1U which has two 64-bit Quad-Core Intel Xeon processors. And I will use static link with dispatch mode tobuild object code.The details of the server is on the http://us.kontron.com/products/systems+and+platforms/communication+rackmount+servers/carrier+grade+servers/carrier+grade+server+tigw1u.html?searchterm=tigw1u
My question is in the following?
1. Can Ipp support this kind of servers?
2. If IPP can support this server, which type will be if i use ippGetCpuType ?
And which CPU IPP will select in the ippStaticInit()?
Can I designate a CPU for the IPP to use?And how to designate a CPU to the IPP?
3. For thisQuad-Core CPU, how IPP is optimized? I mean, it will use whole Quad-Core? Can I designate only one or two cores for the IPP? Andhow to designate Cores to the IPP?
Look foward for your answers! thanks!
IPP is optimized for the broad range of Intel microprocessors: Intel AtomTM Processor, Intel CoreTM2 Quad processors, Intel CoreTM 2 Duo Processors, Intel Xeon processors, Intel Pentium 4 processor and the Intel Itanium 2 processors. Your several is Intel Xeon Processor, So regarding your quesiton,
1) yes, IPP can support. Do you run into any issue when use IPP on your server?
2) What is exact processor type on your machine and Your OS is 64bit or 32bit?
In general, they are Dual socket support for Intel Xeon processors L5410 (45nm) OR for Intel Xeon processors LV 5148 or LV 5128 (65nm), 64bit.
As the article <http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-understanding-cpu-optimized-code-used-in-intel-ipp/>,
your CPU will call at least "u8" code. and the CPU type is
and the CPU type is at least
ippCpuC2D Intel CoreTM2 Duo processor
ippCpuC2Q Intel CoreTM2 Quad processor
Intel CoreTM2 processor with Intel Streaming SIMD Extensions 4.1
You can designate a CPU to for IPP use, by the funciton ippInitCpu()provide by IPP.
ippInitCpu, Initializes the version of the library code for the specified processor type.
IppStatus ippInitCpu(IppCpuType cpu);
Please see more from IPP manual.
IPP on-line documentation website:http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-documentation/
but please notes, youcan onlyset the type which the processor can support.For exmaple, if you CPU support SSE4.1 SSE3,SSE2, you can only choose the CPU type below SSE4.1, can'tset the CPU type which support SSE4.2.
3) As I understand, you may mean the threading of IPP function.
For some threaded IPP function, it willspawn 4 threads on your 4 cores for optimize purpose. And forthat no- threaded IPP function, it will use only one core. See more at KB : http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-threading-openmp-faq/
And you can call IPP support function ippSetNumThreads to set the number of threads created. For example ippSetNumThreads(2). then that threaded IPP functions will onlyspawn 2 threads and run 2 cores of 4 cores.
Sorry, oneunwanted">" in that URL. it is http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-understanding-cpu-optimized-code-used-in-intel-ipp/