I recently come across IPP, and wonder the main difference between IPP and Win32 APIs?
IPP offers better performance, but why is it that Win32 APIs seemed to be more commonly used for programs on Windows OS (x86 machine)?
Also, say I am using the graphics APIs from the IPP library, can I control such that it is the GPU (and not the core main processor) that is processing the APIs, and vice versa?
Quoting - Paul Fischer (Intel)
I affraid there is some misunderstanding.. IPP itself does not generate any executable modules, it is not compiler nor linker. IPP is a library consisting from set of functions optimized for number of Intel Architecture (and 100% compatible) products. You can see supported processors list with IPP documentation.
I read your post, but to me I think you mean that IPP is a language on its own.Which means I will need to get ist API and syntaxes b4 commencing use.
If IPP is not a language on its own then it can just be lnked to any available IDE and Language.
Enlighten me the more.
IPP is not a language, it is a library, as Vladimir noted. When I say "the IPP library is also designed to be usable over a variety of operating systems" I mean that the library is available for a variety of operating systems. Specifically, there is a 32-bit Windows version of the library for building 32-bit Windows applications, there is a 64-bit Linux version of the library for building 64-bit Linux applications, and so on (several OS-specific versions are available).
The library executes native machine code, not virtual or interpreted code, so applications built usingthe IPP libraryare NOT like Java applications where they can be executed on top of a virtual run-time engine over a variety of operating systems. An IPP application built using the 32-bit Windows version of the library will only run on systems where 32-bit Windows application can run (for example, 32-bit and64-bit Windows systems).
To provide the performance boost that IPP enables it is necessary to take advantage of CPU-specific features (in this case the Intel SIMD instructions), which is very difficult or impossible to do on a virtual run-time engine, since such systems are generic virtual implementations of a computer, not aphysical processor and operating system.
You can use the library by calling the library functions directly (that is, the IPP API) from your application or by using our free IPP samples, which call functions within the library.
And, yes, you can use the library with a variety of IDEs. It is written as a C library, so any language that supports calling C functions can be used for your application. There is sample code in the free samples available to illustrate how to call the functions from a variety of popular languages.
Hope that helps,