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

static linking on OS X

Bill_Cunning
Beginner
334 Views
Hi everyone . I am new to the intel set of libraries and tools so I apologize if this is the wrong place for this .. but I can't seem to find an answer anywhere.
I am trying to statically link against a specific cpu type (_v8) in a project I am working on. On the pc it was straightforward and followed the documentation that comes with the package more or less step for step. I am running into trouble on the Mac OS X platform howerver. The Included documentation basically has the same steps as the PC version .. ie .. pull the correct libraries (_t or _l) and include the header ipp_v8.h file before you reference any other IPP headers. The problem is is there does not seem to be a /tools/static directory where these headers are suposedly located, and a search of the entire install tree does not find them. The Lib directory does however contain the _t and _l libraries and not the merged versions that the older documentation mentions.
I am kind of stumped at the moment and any suggestions or ideas would be greatly appreciated!
Thanks!
Bill C

0 Kudos
2 Replies
Ying_H_Intel
Employee
334 Views
Hi Bill,

It seems you go so deeply. we usually to use directly dynamic link model or static link model as IPP can dispatch cpu-specify code to machine during run-time. See http://software.intel.com/en-us/articles/introduction-to-linking-with-intel-ipp-70-library/ and Intel IPP - Intel IPP Linkage Models - Quick Reference Guide. The one static link against a specific cpu is most least-used model. Thus, there is not directory in Mac OS for simplify package.

For quick to use _v8 code, you may try ippInitCpu().
for example,

include "ipp.h"
int main(int argc, char* argv[])
{
ippInitCpu(ippCpuC2D);

const IppLibraryVersion* lib = ippsGetLibVersion();
printf("%s %s %d.%d.%d.%d\n", lib->Name, lib->Version, lib->major, lib->minor, lib->majorBuild, lib->build);
ipp function call
}.

If you still perfer to use the /tools/static, you may try to copy the directoryfrom Windows or Linuxto Mac OS. and replace merged library with _t (static threaded)or _l (static serial)libraries.
Some on-line doc for your reference
http://software.intel.com/en-us/articles/performance-tools-for-software-developers-using-intel-ipp-threaded-static-libraries/

Choosing the best Intel IPP Linkage Models for Your Applications.

Regards,
Ying

0 Kudos
Bill_Cunning
Beginner
334 Views
Thanks for the quick answer! will give those a whirl.
Bill
0 Kudos
Reply