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

Single Processor Static Linkage

bendeguy
Beginner
305 Views

Hi!

I would like to make dlls from my code but without dispatching. So I want to make dlls for all kind of processor. My goal is to determine a computer's cpu type from my client program and download only the one cpu specific dll. I can determine the CPU type with ippGetCpuType but I don't know which type belongs to which abbreviation. I found this about abbreviations:

px

Generic C optimized code

a6

Intel Pentium III processor code with SSE optimization

w7

Intel Pentium 4 processor code with SSE2 optimization

t7

Intel Pentium 4 processor code with SSE3 optimization

m7

Intel Pentium D processors

m7

Intel Xeon processor with Intel EM64T optimization

i7

Intel Itanium processor and Itanium 2 processor optimization

s2

Intel IXP4XX Product Line of Network Processor optimization

And the return values can be the following:

ippCpuPP IntelR PentiumR processor
ippCpuPMX IntelR PentiumR processor with MMX technology
ippCpuPPR IntelR PentiumR Pro processor
ippCpuPII IntelR PentiumR II processor
ippCpuPIII IntelR PentiumR III processor or IntelR PentiumR III XeonR
processor
ippCpuP4 IntelR PentiumR4 processor or IntelR XeonR processor
ippCpuP4HT Intel Pentium 4 processor with Hyper-Threading Technology
ippCpuP4HT2 Intel Pentium 4 Processor with Streaming SIMD Extensions 3
ippCpuCentrino IntelR CentrinoTM mobile technology
ippCpuITP IntelR ItaniumR processor
ippCpuITP2 IntelR ItaniumR 2 processor
ippCpuEM64T IA-32 processor with IntelR Extended Memory 64 Technology
ippCpuSSE Processor supports Intel Pentium III processor instruction set
ippCpuSSE2 Processor with Streaming SIMD Extensions 2 instruction set
ippCpuSSE3 Processor with Streaming SIMD Extensions 3 instruction set
ippCpuX8664 Processor supports 64 bit extension
ippCpuUnknown Unknown processor

Please help to match the abbreviatons with the return values. Thanks in advance:

Bendeguy

0 Kudos
5 Replies
Vladimir_Dudnik
Employee
305 Views

Hi, you can use table like this for IA32

PX A6 W7 T7
ippCpuUnknown ippCpuPIII ippCpuP4 ippCpuP4HT2
ippCpuPP ippCpuSSE ippCpuP4HT ippCpuSSE3
ippCpuPMX ippCpuCentrino
ippCpuPPR ippCpuSSE2
ippCpuPII

Regards,
Vladimir

0 Kudos
bendeguy
Beginner
305 Views

Hi Vladimir!

Thanks for your help. Can you help me to match the other the other 6 type with the abbreviations?

I think ippCpuITP and ippCpuITP2 belongs to i7 and ippCpuEM64T belongs to 64bit m7. Is this correct? What about the other 3 type (ippCpuDS, ippCpuNext, ippCpuX8664). Thanks in advance,

Bendeguy

0 Kudos
Vladimir_Dudnik
Employee
305 Views

Hello,

Yes, this is correct. ippCpuDS is V8 library (Intel Core Duo processor or Intel Core Solo processor), ippCpuX8664 as it seen from definitiona in ippdefs.h is for M7.

Currently ippCpuNext will dispatch V8 libray.

Regards,
Vladimir

0 Kudos
bendeguy
Beginner
305 Views

Hi Vladimir,

We have some problem with a Dell Laptop with Dualcore T2050 CPU.As you said earlierippCpuDS is V8 library. So we use our custom V8 dll at this situation. But it sais Exception_Illegal_Instruction. So what can we do in this situation? Our software make the decision automatically. It detemines the CPU type with ippGetCPUType and choose the architecture according to the matching youexplained earlier. After this it downloads the appropriate custom dll to the client machine. Is this error means that the ippCpuDS isn't V8, or the T2050 is some kind of special case. In this case how can we determine what to use? Thanks in advance,

Bendeguy

0 Kudos
Vladimir_Dudnik
Employee
305 Views

Hi,

you can easely check if your custom Dll was choosen correctly. Please take for example IPP JPEGView sample, build this application. At run time, you can see which libraries will be loaded by this sample from menu Help->About.

Regards,
Vladimir

0 Kudos
Reply