- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi;
I'm currently using the image processing domain, by static dispatching.
I'm including these libs for my linker:
ippcorel.lib
ippiemerged.lib
ippimerged.lib
ippsmerged.lib
Everything was fine until I noticed a phrase on the documentation:
"To use the static linking libraries, you need link to ipp*emerged.lib, ipp*merged.lib,
ippsemerged.lib, ippsmerged.lib, and ippcorel.lib."
Please note that I'm not including the ippsemerged library. But I'm not getting linker errors either.
There are two possibilities:
1) The image processing domain processor specific functions directly call the appropriate processor specific signal processing functions, therefore ippsemerged.lib is not required, and documentation is somewhat misleading.
2) Image processing functions call the generic versions of signal domain funcs, and I'm getting unoptimized code. (I did not measure the performance actually, because image processing is not the primary focus of my application, but realisting rendering will be in a couple of months)
Which case is correct? Should I include the ippsemerged.lib library even everything seems to run fine?
TIA
I'm currently using the image processing domain, by static dispatching.
I'm including these libs for my linker:
ippcorel.lib
ippiemerged.lib
ippimerged.lib
ippsmerged.lib
Everything was fine until I noticed a phrase on the documentation:
"To use the static linking libraries, you need link to ipp*emerged.lib, ipp*merged.lib,
ippsemerged.lib, ippsmerged.lib, and ippcorel.lib."
Please note that I'm not including the ippsemerged library. But I'm not getting linker errors either.
There are two possibilities:
1) The image processing domain processor specific functions directly call the appropriate processor specific signal processing functions, therefore ippsemerged.lib is not required, and documentation is somewhat misleading.
2) Image processing functions call the generic versions of signal domain funcs, and I'm getting unoptimized code. (I did not measure the performance actually, because image processing is not the primary focus of my application, but realisting rendering will be in a couple of months)
Which case is correct? Should I include the ippsemerged.lib library even everything seems to run fine?
TIA
Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - kaan.gokgmail.com
Which case is correct? Should I include the ippsemerged.lib library even everything seems to run fine?
TIA
TIA
"If it ain't broken, why fix it ?" ;)
Should you miss a function, you are likely to be warned by the compiler !
Regards
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The ipps library is for signal processing routines. If you have limited yourself to the image processing calls (ippi), then you might not be calling anything in ipps. Try removing the ipps library from your link statement and see if it still works.
Peter
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - pvonkaenel
The ipps library is for signal processing routines. If you have limited yourself to the image processing calls (ippi), then you might not be calling anything in ipps. Try removing the ipps library from your link statement and see if it still works.
Peter
Image processing library itself uses the signal processing domain. I get linker errors without ippsmerged.lib, that's OK.
What confuses me is that the documentation also tells that ippsemerged.lib should also be included in the linking process. I wonder if excluding that specific library has any side effects? (Program compiles and runs fine, but as I said I'm too lazy to measure performance). Just hoping that someone from the IPP teamclears the issue. (Mr Dudnik?).
I don't want to include ippsemerged.lib if it's not absolutely required.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - kaan.gokgmail.com
Image processing library itself uses the signal processing domain. I get linker errors without ippsmerged.lib, that's OK.
What confuses me is that the documentation also tells that ippsemerged.lib should also be included in the linking process. I wonder if excluding that specific library has any side effects? (Program compiles and runs fine, but as I said I'm too lazy to measure performance). Just hoping that someone from the IPP teamclears the issue. (Mr Dudnik?).
I don't want to include ippsemerged.lib if it's not absolutely required.
I guess ippimerged.lib functions call ipps functions. However, they will directly call the specifically processor-optimized functions, hence the need for only ippsmerged and not ippsemerged (which will take only care of dispatching).
So (again this is a guess), that would explain that you do not need ippsemerged but only ippsmerged.
regards
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
when you miss ipp*emerged library but link with ipp*merged library you will get not optimized functions. Note, ipp*emerged library is IPP static dispatcher which have to be initialised by ippStaticInit call.
There is an option to link with ipp*merged libraries only when you want to run particular optimized code. All functions in ipp*merged library are prefixed with px_, w7_ and so on, so you can call for example v8_ippsCopy_8u to call Intel Core2 optimized version of ippsCopy function. I would recommend you to read IPP Linkage Models article on Knowledge Base pages for details on IPP linkage options available.
Regards,
Vladimir
when you miss ipp*emerged library but link with ipp*merged library you will get not optimized functions. Note, ipp*emerged library is IPP static dispatcher which have to be initialised by ippStaticInit call.
There is an option to link with ipp*merged libraries only when you want to run particular optimized code. All functions in ipp*merged library are prefixed with px_, w7_ and so on, so you can call for example v8_ippsCopy_8u to call Intel Core2 optimized version of ippsCopy function. I would recommend you to read IPP Linkage Models article on Knowledge Base pages for details on IPP linkage options available.
Regards,
Vladimir

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