- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am evaluating the IPP 7.0 version and trying to speed up the execution time of my applications.
Currently, I am runningone of themwhich is using header files as below:
ipp.h
ipps.h
ippcore.h
and Iwant to have a dynamic linking.
I linked the following libs:
ippcore.lib,
ipps.lib
and I am using the complete IPP CPU specific libraries suiteat run time including:
ippcore-7.0.dll
ipps-7.0.dll
libiomp5md.dll
The applications works fine on my machine (which has an Intel Xeon E31245 CPU)where 7.0 IPP is installed, but when I copy the exe and dlls on toanothermachine (which has a Mobile Intel Celeron CPU)and start it, it throws an error saying "Error at loading of IppSP library. No DLLs were found in the waterfall procedure".
Could you please let me know if I am missing something? Does IPP 7.0 support the Intel Mobile Celeron CPU?
Thanks very much in advance.
Best Regards,
Gregorio Chindamo
I am evaluating the IPP 7.0 version and trying to speed up the execution time of my applications.
Currently, I am runningone of themwhich is using header files as below:
ipp.h
ipps.h
ippcore.h
and Iwant to have a dynamic linking.
I linked the following libs:
ippcore.lib,
ipps.lib
and I am using the complete IPP CPU specific libraries suiteat run time including:
ippcore-7.0.dll
ipps-7.0.dll
libiomp5md.dll
The applications works fine on my machine (which has an Intel Xeon E31245 CPU)where 7.0 IPP is installed, but when I copy the exe and dlls on toanothermachine (which has a Mobile Intel Celeron CPU)and start it, it throws an error saying "Error at loading of IppSP library. No DLLs were found in the waterfall procedure".
Could you please let me know if I am missing something? Does IPP 7.0 support the Intel Mobile Celeron CPU?
Thanks very much in advance.
Best Regards,
Gregorio Chindamo
Link Copied
7 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gregorio,
the DLLs you listed are not cpu-specific libraries. In order your application work on another system you also need ippsXX-7.0.dll (where XX is two character code of cpu specific implementation).
Note, IPP provides cpu-specific libraries only for functional domain libraries (like signal processing 'ipps' or image processing 'ippi'). The core library and OpenMP runtime library don't have cpu-specific implementation.
Regards,
Vladimir
Vladimir
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gregorio,
Here is IPPKB article for you reference, http://software.intel.com/en-us/articles/intel-integrated-performance-primitives-intel-ipp-understanding-cpu-optimized-code-used-in-intel-ipp/
IA-32 | px | C optimized for all IA-32 processors | i386+ | |
a6 | SSE | Pentium III | thru 5.3 only | |
w7 | SSE2 | P4, Xeon, Centrino | ||
t7 | SSE3 | Prescott, Yonah | ||
v8 | Supplemental SSE3 | Core 2, Xeon 5100, Atom | ||
s8 | Supplemental SSE3 (compiled for Atom) | Atom | new in 6.0 | |
p8 | SSE4.1, SSE4.2, AES-NI | Penryn, Nehalem, Westmere | see notes below | |
g9 | AVX | Sandy Bridge architecture | new in 6.1 | |
Intel 64 (EM64T) | mx | C-optimized for all Intel 64 platforms | P4 | SSE2 minimum |
m7 | SSE3 | Prescott | ||
u8 | Supplemental SSE3 | Core 2, Xeon 5100, Atom | ||
n8 | Supplemental SSE3 (compiled for Atom) | Atom | new in 6.0 | |
y8 | SSE4.1, SSE4.2, AES-NI | Penryn, Nehalem, Westmere | see notes below | |
e9 | AVX | Sandy Bridge architecture | new in 6. |
So you may need distribute cpu-specific library likeippiw7-7.0.dll ippiv8-7.0.dll etc with ippi-7.0.dll also.
Regards,
Ying
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ying,
I checked the article and I don't see any support for Intel Mobile Celeron CPU. Or I missed it?
So, the question remains open and I hope thateverybody is interested to get an exact answer on the question:
Does IPP 7.0 support the Intel Mobile Celeron CPU?
Please, answer ( or confirm )Yes or No.
Thank you in advance.
Best regards,
Sergey
I checked the article and I don't see any support for Intel Mobile Celeron CPU. Or I missed it?
So, the question remains open and I hope thateverybody is interested to get an exact answer on the question:
Does IPP 7.0 support the Intel Mobile Celeron CPU?
Please, answer ( or confirm )Yes or No.
Thank you in advance.
Best regards,
Sergey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Sergey,
Thanks for reminder. Sure, I add more.
Let's first define "suport", wecan say, support means thatIPP 7.0based application (32bit or64bit)can run onthe machinewithsupported OS. Please See IPPsystem requirements
Intel IPP 7.0 System Requirements
Then Yes, IPP 7.0 support the Intel Moblile Celeron CPU with supportes OS.
Actually,Intel IPPsupporta system with an IA-32/Intel 64architecture processor supporting the Intel Streaming SIMD Extensions.Download the Intel IPP Code Samples
Thanks for reminder. Sure, I add more.
Let's first define "suport", wecan say, support means thatIPP 7.0based application (32bit or64bit)can run onthe machinewithsupported OS. Please See IPPsystem requirements
Then Yes, IPP 7.0 support the Intel Moblile Celeron CPU with supportes OS.
Actually,Intel IPPsupporta system with an IA-32/Intel 64architecture processor supporting the Intel Streaming SIMD Extensions.
and the CPU-specific dispatcherarebased on SIMD capabilities, So there is not limited with processor type, either Moblile Celeron CPU, Celeron Destop, Core 2 Duoprocessor.
http://software.intel.com/en-us/articles/understanding-simd-optimization-layers-and-dispatching-in-the-intel-ipp-70-library/
User may find the exact cpu-specifed dll supported on the machine by IPP cpuinfo sample in
Best Regards,
Ying
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi All,
I've already answered this question: IPP 7.0.x supports only SSE2 and higher CPUs. See http://software.intel.com/en-us/forums/showthread.php?t=101206
Regards,
Igor
I've already answered this question: IPP 7.0.x supports only SSE2 and higher CPUs. See http://software.intel.com/en-us/forums/showthread.php?t=101206
Regards,
Igor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Igor, Thank you!
I wouldaddan additional identifier ippCpuUnsupportedtothe enumeration IppCpuType:
typedef enum
{
ippCpuUnknown= 0x00,
...
ippCpuUnsupported = 0xFF
} IppCpuType;
and if a CPU is not supportedreturn the value when IppCoreGetCpuType( ... ) function is called.
Best regards,
Sergey
PS: Of course, ippCpuUnknown also could be used but I think thatsomeCPU could be "Known" but "Not Supported".
I wouldaddan additional identifier ippCpuUnsupportedtothe enumeration IppCpuType:
typedef enum
{
ippCpuUnknown= 0x00,
...
ippCpuUnsupported = 0xFF
} IppCpuType;
and if a CPU is not supportedreturn the value when IppCoreGetCpuType( ... ) function is called.
Best regards,
Sergey
PS: Of course, ippCpuUnknown also could be used but I think thatsomeCPU could be "Known" but "Not Supported".
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Sergey,
sounds reasonable, will be implemented.
Regards,
Igor
sounds reasonable, will be implemented.
Regards,
Igor

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page