I need to try static linking for our application. we are using Intel Composer 2013 with ipp7.1 and mkl for image processing. Up to now, we've used dynamic linking but we've run into problems on Xeon processors. Now I've read *all* the documentaion on this until my eyes blur and tried everything suggested. It still links dynamically!
When I think I am getting there I try and link with the merge library set which simply does not exist anywhere on my PC. My question is is there a simple 'howto' document that spells out how to do this? We are using VS2008 and the microsoft compiler.
Well, i am not sure if there exist any simple 'How To' document for static linking, but I have linked IPP18.104.22.168 libraries statically in following way:
1. First of all, very important point is that IPP7.1 installer doesn't include the static libraries now. So you have to download it separately (w_ccompxe_threaded_static_ipp_7.1.x.xxx.zip) from the same link where you have downloaded IPP7.1 installer.
2. This zip had w_ccompxe_threaded_static_ipp_7.1.x.xxx_ia32.exe and w_ccompxe_threaded_static_ipp_7.1.x.xxx_intel64.exe so install any one as per your platform. It will install all the required static libraies on your system.
3. Compile all the required IPP sample libraries after changing the preprocessor definition from _IPP_PARALLEL_DYNAMIC to _IPP_PARALLEL_STATIC.
Try this once, I hope it will work and fulfill your requirement.
Well, I have searched , looked, examined and I am unable to find the merge libraries anywhere on the Intel site. We've paid for this and I am amazed that it's proving so hard. w_ccompxe_threaded_static_ipp_7.1.x.xxx_intel64.exe is nowhere to be seen. I guess I'll have to try support. Thanks for you help anyway.
Please, use Intel registration center site for IPP single-thread static libs. There are updates for 2013 Composer (http://software.intel.com/en-us/articles/intel-c-composer-xe-2013-for-windows-update-5#multithreaded_library).
Thanks Sergey ;
I did follow your link and it gets me to an article where the only resource link available is Intel Composer XE. Following that link get me to the registration page for the product. I would like to point out we have paid for this three years running. When I do finally get to my products page it shows me everything we have *except* the static multi threaded libraries.
This has been the most frustrating update/download I have ever met. I have decided to buy Justin Beiber music CDS and listen to him until my brain turns into mush and I can shuffle off this vale of tears.
You can try to download it with the link which you would have received from Intel when you purchased the IPP license. On that link, you will get the option for downloading IPP7.1 and then below you will get the option for downloading additional items (like this static libraries, release notes etc).
I checked it just now with the link i received from Intelwhen I purchased IPP and i am able to see this download option. Check the attached screen shot for your reference)
Ramashankar is right! Ultimately you should see the page like in attached jpg. Personally, I have few experience dealing with externally downloadable Intel products, otherwise I would provide better and faster feedback. Sorry for that. Wish you good luck.
Yes, I could also notice that static libraies download option is not available in case of IPP8.0, but it is available in case of IPP7.1.
Well, whatever i mentioned earlier about static linking and availability of static libraries, that was all with respect to IPP7.1. I am not aware of it with respect to IPP8.0.
But in release note of IPP8.0, it is mentioned that
- Substantial distribution package reconfiguration
- Main package changes
- Intel® IPP library "_l" and "_t" suffixes removed. A new OS native convention is now implemented: Windows* static libraries now have an "mt" suffix for both single and multi-threaded libraries.
- Threaded libraries are now moved into the "threaded" subfolder.
- Single-threaded Dlls are moved into the main package.
So you should go through the above instructions and i hope it will work.
Well, for what it's worth, I did finally manage to locate the static libraries after a bit of a struggle. Installing it required an update to 22.214.171.124. Having done that with a valid license just gets me trapped in an endless loop of 'You must install Intel(R) 126.96.36.199 on Intel(R) 64 before installing Intel(R) ipp threaded static libraries on Intel(R) 64.
A twisty little maze of passages all alike.