I was reading this interesting article about IPP Dispatcher. At some point, it's written: Dispatching refers to the process of detecting CPU features at run-time and then selecting the Intel IPP optimized library set that corresponds to your CPU. For example, in the \ia32\ipp directory, the ippip8.dll library file contains the 32-bit optimized image processing libraries for processors with Intel® SSE4.2; ‘ippi’ refers to the image processing library, ‘p8’ refers to 32-bit SSE4.2 architecture.
Does it mean that if I release a DLL using ipp.h
, when I ship to customers, they also need the DLLs version of the IPP
Library? Or are they automatically compiled and linked with the .lib
s in the final build?
I don't get that DLL example
on the document.
You don't have to ship all of them, there is an automatic dispatch that is done at runtime. If a library is "missing", then the runtime will choose the lower compatible runtime (so you should at least have the SSE2 runtime).