- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for any hint
Erik
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Have you tried creating a shell containing the OpenMP initialization code?
e.g. Using Intel C++ compiled with OpenMP enabled
int main(int argc, char* argv[]) { return YourProgramMain(argc, argv); }When this stub is compiled with OpenMP enabled this will generate the OpenMP initialization code at the entry point of main. Once initialized, then the IPP library might take advantage of the additional threads.
This would require changing only the main module name (main, winmain, ...) theremainder of the code can be compiled using VC++. Your library paths would have to include the Intel libs too.
There may be an issue with some of the system support routines. Working these out might be easier to do than to insert threadind code into your application.
Also consult: http://support.intel.com/support/performancetools/libraries/ipp/sb/cs-010662.htm
Jim Dempsey
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
you need remember that IPP use OpenMP threading only in several functions and only in IPP DLLs. Internal threading is not available in IPP static libraries. Regarding the IPP DLLs, it does not matter what version of VC you use, all necessary OpenMP staff already contained in IPP DLLs.
Note, you also can speed up your application by using threading above IPP functions. In that case, if you want use OpenMP to simplify parallelization of your application you need use OpenMP enabled compiler (Intel C/C++ compiler is good example of such tool)
Regards,
Vladimir
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page