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

C++ oneAPI link size

jbengt
Novice
649 Views

Hi,

We have a C++ program with many thousands of lines of code.  We originally used the IPP 5.x version API, but are switching to the oneAPI IPP core utilites.

Since linking to the oneAPI core libraries, our executable has increased in size by about 30 percent, i.e. from approximately 20 mb to 30 mb. We use some support, convolution and resizing functions out of the API, and we statically link to ippcoremt.lib, ippsmt.lib, ippimt.lib and ippccmt.lib.

Has anyone else experienced this kind of bloat?  Does anyone know any way to limit the functions pulled in from these libraries?

Best Wishes,

Jon

Labels (1)
0 Kudos
5 Replies
VidyalathaB_Intel
Moderator
620 Views

Hi Jon,

 

Thanks for reaching out to us.

 

>>Has anyone else experienced this kind of bloat? Does anyone know any way to limit the functions pulled in from these libraries?

I think the issue with static linking is, the .lib files size is more and hence the executable size increases. If you are comfortable with dynamic linking then here is a way to build your own dynamic library containing only the Intel IPP/Intel IPP Cryptography functionality that is necessary for your application and you can do it by using (Intel® IPP) Custom Library Tool so that you can decrease the package size.

https://www.intel.com/content/www/us/en/develop/documentation/dev-guide-ipp-for-oneapi/top/ipp-custom-library-tool.html

Please refer to the following link which gives details on how to build a Custom DLL with Custom Library Tool

https://www.intel.com/content/www/us/en/develop/documentation/dev-guide-ipp-for-oneapi/top/ipp-custom-library-tool/building-a-custom-dll-with-custom-library-tool.html

 

Please do let us know if this is not what you are looking for.

 

Regards,

Vidya.

 

0 Kudos
jbengt
Novice
604 Views

Hi Vidya,

 

Thank you for getting back to me.  Unfortunately we are not allowed to distribute additional dll's with our application.

Do you have a similar tool that will create custom static linking (.lib) files or do you plan to create such a tool in the future?

 

Best Wishes,

Jon

0 Kudos
VidyalathaB_Intel
Moderator
571 Views

Hi Jon,


>>Do you have a similar tool that will create custom static linking (.lib) files or do you plan to create such a tool in the future?

Unfortunately we do not have a similar tool to create custom static linking files. The Custom Library Tool outputs only dynamic libraries, not static ones and we don't have any plan to introduce this feature in future.

If there are no further queries, could you please confirm if we can close this thread from our end?


Regards,

Vidya.


0 Kudos
jbengt
Novice
557 Views

Hi Vidya,

These libraries are very nice to use and if you do change your mind re-creating custom libraries that can be statically linked to, please let me know.

Yes, you can close this thread and thank you again for your help.

Best Wishes,
Jon

 

0 Kudos
VidyalathaB_Intel
Moderator
541 Views

Hi Jon,


Thanks for your feedback. I'll let the concerned team know about it.

As the issue has been addressed, we are closing this thread. Please post a new question if you need any additional assistance for Intel as this thread will no longer be monitored.


Regards,

Vidya.


0 Kudos
Reply