Processor Types vs. Library Codes?

Processor Types vs. Library Codes?

Hi there,

We are getting a bit confused about which ProcessorType goes with which Library Identification code, mainly with the latest processors.

Specifically, we got a new machine with a Core 2 Duo CPU E8200 2.67 GHz. When we used the ippGetCpuType() function, it returned '44' which is ippCpuSSSE3 and not ippCpuCore2Duo as we would have expected.

Could someone please clarify which Library Identification Code should go with which Processor ID when returned from ippGetCpuType()? Please correct me if my assumptions are wrong.

Processor ID - Library ID Code
ippCpuUnknown - n/a
ippCpuPP - pX
ippCpuPMX - pX
ippCpuPPR - pX
ippCpuPII - pX
ippCpuPIII - a6
ippCpuP4 - w7
ippCpuP4HT - w7
ippCpuP4HT2 - t7
ippCpuCentrino - w7
ippCpuCoreSolo - v8
ippCpuCoreDuo - v8
ippCpuITP - a6
ippCpuITP2 - a6
ippCpuEM64T - t7
ippCpuC2D - p8
ippCpuC2Q - p8
ippCpuNehalem - ?
ippCpuBonnell - ?
ippCpuNext - ?
ippCpuSSE - ?
ippCpuSSE2 - ?
ippCpuSSE3 - ?
ippCpuSSSE3 - ?
ippCpuSSE41 - ?
ippCpuSSE42 - ?
ippCpuX8664 - ?

Many Thanks,
dug.

6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

I found a table on a previous post that gave the library for each processor type for most of the older processors, which has helped me fill out the list somehwat:

case: ippCpuUnknown: return CPU_PX;
case: ippCpuPP: return CPU_PX;
case: ippCpuPMX: return CPU_PX;
case: ippCpuPPR: return CPU_PX;
case: ippCpuPII: return CPU_PX;
case: ippCpuPIII: return CPU_A6;
case: ippCpuP4: return CPU_W7;
case: ippCpuP4HT: return CPU_W7;
case: ippCpuP4HT2: return CPU_T7;
case: ippCpuCentrino: return CPU_W7;
case: ippCpuCoreSolo: return CPU_V8;
case: ippCpuCoreDuo: return CPU_V8;
case: ippCpuITP: return CPU_I7;
case: ippCpuITP2: return CPU_I7;
case: ippCpuEM64T: return CPU_M7;
case: ippCpuC2D: return;
case: ippCpuC2Q: return;
case: ippCpuNehalem: return;
case: ippCpuBonnell: return;
case: ippCpuNext: return CPU_V8;
case: ippCpuSSE: return CPU_A6;
case: ippCpuSSE2: return CPU_W7;
case: ippCpuSSE3: return CPU_T7;
&nb
sp; case: ippCpuSSSE3: return;
case: ippCpuSSE41: return;
case: ippCpuSSE42: return;
case: ippCpuX8664: return CPU_M7;

I would still like to know what the coressponding library codes should be for the following processor types:

ippCpuC2D
ippCpuC2Q
ippCpuNehalem
ippCpuBonnell
ippCpuSSSE3
ippCpuSSE41
ippCpuSSE42

Thanks.

Hello,

IPP 5.3 update 2 dispatcher should select the following processor specific libraries:

case ippCpuC2D: V8
case ippCpuC2Q: V8
case ippCpuBonnell: V8
case ippCpuSSSE3: V8
case ippCpuSSE41: P8
case ippCpuSSE42: P8
case ippCpuNehalem: P8

Regards,
Vladimir

Many thanks Vladimir.

Hi Vladimir!

Can you write here the associations for the em64t libraries too? I saw that there are four of them MX, M7, U8, Y8, but unfortunatelly I don't know, when to use which. I think it would be nice to have a function which gives back the architecture for a given CPU type.
Best Regards,
Miklos

Quoting - dug
I found a table on a previous post that gave the library for each processor type for most of the older processors, which has helped me fill out the list somehwat:

case: ippCpuUnknown: return CPU_PX;
case: ippCpuPP: return CPU_PX;
case: ippCpuPMX: return CPU_PX;
case: ippCpuPPR: return CPU_PX;
case: ippCpuPII: return CPU_PX;
case: ippCpuPIII: return CPU_A6;
case: ippCpuP4: return CPU_W7;
case: ippCpuP4HT: return CPU_W7;
case: ippCpuP4HT2: return CPU_T7;
case: ippCpuCentrino: return CPU_W7;
case: ippCpuCoreSolo: return CPU_V8;
case: ippCpuCoreDuo: return CPU_V8;
case: ippCpuITP: return CPU_I7;
case: ippCpuITP2: return CPU_I7;
case: ippCpuEM64T: return CPU_M7;
case: ippCpuC2D: return;
case: ippCpuC2Q: return;
case: ippCpuNehalem: return;
case: ippCpuBonnell: return;
case: ippCpuNext: return CPU_V8;
case: ippCpuSSE: return CPU_A6;
case: ippCpuSSE2: return CPU_W7;
case: ippCpuSSE3: return CPU_T7;
&nb sp; case: ippCpuSSSE3: return;
case: ippCpuSSE41: return;
case: ippCpuSSE42: return;
case: ippCpuX8664: return CPU_M7;

I would still like to know what the coressponding library codes should be for the following processor types:

ippCpuC2D
ippCpuC2Q
ippCpuNehalem
ippCpuBonnell
ippCpuSSSE3
ippCpuSSE41
ippCpuSSE42

Thanks.

Note that:

case ippCpuCoreDuo: return CPU_V8;

is incorrect and that it should be:

case ippCpuCoreDuo: return CPU_T7;

Leave a Comment

Please sign in to add a comment. Not a member? Join today