- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have the following situation:
- to ease interopabilitywith C and Fortran code, I have encapsulated some of the IPP functions that I need to use in a C DLL with simplified interfaces.
- I'd now like to call IPP functions from this C DLL both from my main application, written in C++, and another DLL which is written in Fortran.
Do I just have to call ippInit() once from the main application when that opens, or do I need to make aseparate call to it from the Fortran DLL the first time that is used?
Also, does it make any difference whether the C DLL with simplified interfaces incorporates the IPP via static or dynamic linking?
Thanks,
Stephen.
- to ease interopabilitywith C and Fortran code, I have encapsulated some of the IPP functions that I need to use in a C DLL with simplified interfaces.
- I'd now like to call IPP functions from this C DLL both from my main application, written in C++, and another DLL which is written in Fortran.
Do I just have to call ippInit() once from the main application when that opens, or do I need to make aseparate call to it from the Fortran DLL the first time that is used?
Also, does it make any difference whether the C DLL with simplified interfaces incorporates the IPP via static or dynamic linking?
Thanks,
Stephen.
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Stephen,
You should call ippInit() only once. Anyway nothing bad will happen if you call it from both main and F-dll - as both are running on the same CPU - the second call will do nothing.
We provide 3 types of libraries: dynamic (always threaded), threaded-static and non-threaded static. So the differnce between first 2 is the cost of 1st call - for dynamic linking it's always huge - and the size of your application (see IPP userguide). If you use the 3rd option - non-threaded static - you'll have single threaded IPP version without dependecy on libguide (dll that provides OMP support)
Regards,
Igor
You should call ippInit() only once. Anyway nothing bad will happen if you call it from both main and F-dll - as both are running on the same CPU - the second call will do nothing.
We provide 3 types of libraries: dynamic (always threaded), threaded-static and non-threaded static. So the differnce between first 2 is the cost of 1st call - for dynamic linking it's always huge - and the size of your application (see IPP userguide). If you use the 3rd option - non-threaded static - you'll have single threaded IPP version without dependecy on libguide (dll that provides OMP support)
Regards,
Igor
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Stephen,
You should call ippInit() only once. Anyway nothing bad will happen if you call it from both main and F-dll - as both are running on the same CPU - the second call will do nothing.
We provide 3 types of libraries: dynamic (always threaded), threaded-static and non-threaded static. So the differnce between first 2 is the cost of 1st call - for dynamic linking it's always huge - and the size of your application (see IPP userguide). If you use the 3rd option - non-threaded static - you'll have single threaded IPP version without dependecy on libguide (dll that provides OMP support)
Regards,
Igor
You should call ippInit() only once. Anyway nothing bad will happen if you call it from both main and F-dll - as both are running on the same CPU - the second call will do nothing.
We provide 3 types of libraries: dynamic (always threaded), threaded-static and non-threaded static. So the differnce between first 2 is the cost of 1st call - for dynamic linking it's always huge - and the size of your application (see IPP userguide). If you use the 3rd option - non-threaded static - you'll have single threaded IPP version without dependecy on libguide (dll that provides OMP support)
Regards,
Igor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you Igor, that tells me exactly what I needed to know.
Stephen.
Stephen.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page