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

Which SDK (IA32 / IA64) for building subippi 64bits (used to run on XPserver 2008 64bits) on 32bits compilation machine ?

a_malagouenamesys_fr
264 Views
I'm wondering which SDK to install on a 32 bits compilation machine to build a subippi.dll that will run on a XP server 2008 64bits, but linked in a 32bits application.

tkx
0 Kudos
3 Replies
softrite
Beginner
264 Views
I'm wondering which SDK to install on a 32 bits compilation machine to build a subippi.dll that will run on a XP server 2008 64bits, but linked in a 32bits application.

tkx

I have similar issues... very hard to determine which IPP download to use if you need to support 32 bit apps on a 64bit CPU. In some cases I have to support 32 bit XP and 64 bit XP. The IA-32 download does not clearly say it is the one to use even though it does say this (below) in the documentation, which would lead you to belive it is the correct one even though "IA" means Itainium.

IA-32 Intel Architecture:

The Intel IPP comes with "stub" static library files that load the Intel IPP DLLs and link to the correct entry points. In order to use the DLLs, link to the files ipp*.lib in the stublib directory. You will either need to set your lib environment variable using the ippenv.bat file or refer to these files using their full path. Including these libraries is all you need to do to dynamically link to the DLL for the appropriate processor.
The DLLs IPP*.dll are "dispatcher" DLLs. These DLLs are in the bin directory. At run time they will detect the processor and load the correct processor-specific DLLs. This allows your code to call Intel IPP functions without worrying about which processor the code will execute on - the appropriate version is automatically used. These processor-specific DLLs are named *px*.dll, *t7*.dll, *w7*.dll, *v8*.dll , *p8*.dll and *s8*.dll. The only actions needed to use the Intel IPP DLLs, once the "stub" static libraries are linked, is to insure that the dispatching DLLs and the processor-specific DLLs are on the path.

Processor Codes
px - C-optimized for all IA-32 processors
w7 - Optimized for Pentium 4 processors
t7 - Optimized for Pentium 4 processors with Streaming SIMD Extensions 3 (SSE3)
v8 - New Optimizations for 32-bit applications on Intel Core 2 and Intel Xeon 5100 Processors
p8 - New Optimizations for 32-bit applications on 45nm Intel Core2 Duo (Penryn) family processors and Intel Core i7 processors
s8 - New Optimizations for 32-bit applications on Intel Atom family processors


Can someone clear this up for us?
0 Kudos
Vladimir_Dudnik
Employee
264 Views
I'm not quite understand what is the throuble there?

Intel offer IPP libraries for almost all Intel arhitectures including IA32, Intel 64 and IA64. Some of these libraries might be used in cross-platform development,for example,you may install IA64 libraries on your IA32 development system in order tobuild Itanium applications. Of course you will not be able to run Itanium applications on IA32 system.

Regards,
Vladimir
0 Kudos
PaulF_IntelCorp
Employee
264 Views
Quoting - softrite

I have similar issues... very hard to determine which IPP download to use if you need to support 32 bit apps on a 64bit CPU. In some cases I have to support 32 bit XP and 64 bit XP. The IA-32 download does not clearly say it is the one to use even though it does say this (below) in the documentation, which would lead you to belive it is the correct one even though "IA" means Itainium.

...stuff deleted...

Can someone clear this up for us?

The IA-32 libraries are optimized for 32-bit operation on x86 platforms running a 32-bit OS (e.g., 32-bit Windows or Linux platforms). Applications built using this library will generally run on an Intel 64 (aka em64t) processor running a 64-bit OS (e.g., 64-bit Windows or Linux). They will not run on an Itanium platform.

The Intel64 (aka em64t) libraries will only run on a 64-bit capable x86 processor running a 64-bit OS (ie., 64-bit Windows or Linux). They will not run on a 32-bit system or an Itanium platform.

IA-64 refers to Itanium platforms, which require the IA-64 version of the IPP library.

IA stands for "Intel Architecture" not Itanium. The Intel hardware architecture nomenclature (IA-32, Intel 64, and IA-64) is the result of the order in which these things were introduced into the market and doesn't necessarily match what you'll see people outside of Intel using when they refer to these architectures. For example, Microsoft literature often refers to 32-bit Windows as running on an x86 platform and 64-bit Windows as running on an x64 platform; these are not official Intel architecture designations because Windows (and Linux) also support non-Intel processors.

This article is very succinct and explains these names better than I have above:

0 Kudos
Reply