- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You should copy all ippsxxx.dll libraries - ipps-7.0.dll is only dispatcher that selects the best suitable library for current CPU and loads corresponding dll.
Regards,
Igor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
As I said I have already copied all of them including the dispatcher, but it doesnt work. I suspect that Intel Celeron Mobile CPU is not supported. Can anyone confirm this?
Thanks.
Regards,
Gregorio Chindamo
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Could you run ippCpuInfo sample on your Celeron and provide me an output? I'll check if your CPU is supported.
Regards,
Igor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Gregorio,
You canuse an MSutility Depends.exe from Platform SDK ( older versions \ always in Bin folder) in order to see all dependenciesfor yourapplication(s).
Some versions of MS Visual Studios also could have Depends.exe ( ..\CommonX\Tools\Bin folder ).
Theutility is very helpful becausehas UI and allows to see all dependent DLLs.
Best regards,
Sergey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Any other idea?
Thanks.
Regards,
Gregorio
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks.
Regards,
Gregorio
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
the lowest CPU supported by IPP 7.0.x is Pentium4 (SSE2 instruction set), Centrino is P6 architecture (SSE1 only), so it isn't supported. Use IPP 6.1 for it...
Regards,
Igor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Do you know where I can download it from?
Thanks.
Regards,
Gregorio
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My older versions of IPP and IPLdon't have it.
Best regards,
Sergey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks.
Regards,
Gregorio
Library dispatcher uses LoadLibrary API call to load/link proper DLL. At's a run-time action. Walker shows only static linkage dependencies.
Regards,
Sergey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
typedef enum {
/* Enumeration: Processor: */
ippCpuUnknown = 0x00,
ippCpuPP = 0x01, /* Intel Pentium processor */
ippCpuPMX = 0x02, /* Pentium processor with MMX technology */
ippCpuPPR = 0x03, /* Pentium Pro processor */
ippCpuPII = 0x04, /* Pentium II processor */
ippCpuPIII = 0x05, /* Pentium III processor and Pentium III Xeon processor */
ippCpuP4 = 0x06, /* Pentium 4 processor and Intel Xeon processor */
ippCpuP4HT = 0x07, /* Pentium 4 Processor with HT Technology */
ippCpuP4HT2 = 0x08, /* Pentium 4 processor with Streaming SIMD Extensions 3 */
ippCpuCentrino = 0x09, /* Intel Centrino mobile technology */
ippCpuCoreSolo = 0x0a, /* Intel Core Solo processor */
ippCpuCoreDuo = 0x0b, /* Intel Core Duo processor */
ippCpuITP = 0x10, /* Intel Itanium processor */
ippCpuITP2 = 0x11, /* Intel Itanium 2 processor */
ippCpuEM64T = 0x20, /* Intel 64 Instruction Set Architecture (ISA) */
ippCpuC2D = 0x21, /* Intel Core 2 Duo processor */
ippCpuC2Q = 0x22, /* Intel Core 2 Quad processor */
ippCpuPenryn = 0x23, /* Intel Core 2 processor with Intel SSE4.1 */
ippCpuBonnell = 0x24, /* Intel Atom processor */
ippCpuNehalem = 0x25, /* Intel Core i7 processor */
ippCpuNext = 0x26,
ippCpuSSE = 0x40, /* Processor supports Streaming SIMD Extensions instruction set */
ippCpuSSE2 = 0x41, /* Processor supports Streaming SIMD Extensions 2 instruction set */
ippCpuSSE3 = 0x42, /* Processor supports Streaming SIMD Extensions 3 instruction set */
ippCpuSSSE3 = 0x43, /* Processor supports Supplemental Streaming SIMD Extension 3
instruction set */
ippCpuSSE41 = 0x44, /* Processor supports Streaming SIMD Extensions 4.1 instruction set */
ippCpuSSE42 = 0x45, /* Processor supports Streaming SIMD Extensions 4.2 instruction set */
ippCpuAVX = 0x46, /* Processor supports Advanced Vector Extensions instruction set */
ippCpuAES = 0x47, /* Processor supports AES New Instructions */
ippCpuX8664 = 0x60 /* Processor supports 64 bit extension */
} IppCpuType;
Regards,
Igor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Sergey,
yes, I had the possibility to have a list of CPU types and corresponding enumerations.
Unfortunately Ive already deleted the IPP7.0 and I do not remember in which file was it.
Regards,
Gregorio
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I had the possibility to look into a file and see the enumeration. Unfortunately I have already deleted the IPP 7.0 and I do not rememember which file was it.
Regards,
Gregorio
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Well, I have downloaded the IPP v6.1. But from what I see the various Ipp filtering (FIRMR_Direct etc) are missing.
Is there in Ipp 6.1 any other function which could give me the same result of theIpp 7.0 FIRMR_Direct function?
Thanks.
Gregorio
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
FIRMR_Direct function is just a wrapper for
IPPAPI(IppStatus, ippsFIRMRInitAlloc_32f, (IppsFIRState_32f** pState, const Ipp32f* pTaps, int tapsLen, int upFactor, int upPhase, int downFactor, int downPhase, const Ipp32f* pDlyLine))
IPPAPI(IppStatus, ippsFIR_32f, (const Ipp32f* pSrc, Ipp32f* pDst, int numIters, IppsFIRState_32f* pState))
IPPAPI(IppStatus, ippsFIRFree_32f, (IppsFIRState_32f* pState))
set of functions, anyway FIRMR_Direct is also available in 6.1 - I've just checked
Regards,
Igor
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page