- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
I use Intel Compiler to optimize simple loop:
void InitOmegaArrays(float* mCOmega, float* mSOmega, float* mI, int numRows, int numCols, float paramOmega) { int ii; #ifdef __GCC__ #pragma omp parallel for simd #pragma vector aligned always #pragma ivdep #else #pragma omp parallel for #endif for (ii = 0; ii < numRows * numCols; ii++) { mCOmega[ii] = cosf(paramOmega * mI[ii]); mSOmega[ii] = sinf(paramOmega * mI[ii]); } }
I use the /fp:fast=2 flag.
As expected ICC uses SVML (Even use `sincos()`) yet it creates a dependency on svml_dispmd.dll.
Is there a way to prevent this dependency and make it link the SVML function statically?
I'm using Intel Compiler (ICC) 18.
Thank You.
- Tags:
- CC++
- Development Tools
- Intel® C++ Compiler
- Intel® Parallel Studio XE
- Intel® System Studio
- Optimization
- Parallel Computing
- Vectorization
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
On Linux we have -static-intel flag, causes Intel-provided libraries to be linked in statically. If, your ENV is Linux, can you try out the option?
Thanks,
Viet
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I'm not on Linux (As you can see, the dependency is for DLL).
Is there anything for Windows?
Why would the compiler do that, it will be hell for those who distribute files.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, I saw you mentioned DLL but also mentioned ICC (not ICL). ICC is a driver for Linux.
We don't have the same option for Windows.
Regards,
Viet
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
if you built with /MT static SVML library should be picket up. At least this has worked before: https://software.intel.com/en-us/articles/libraries-provided-by-intelr-c-compiler-for-windows-and-intel-parallel-composer
Or you can try to link with svml_dispmt.lib directly instead of default svml_dispmd.lib import library.
cheers,
Vladimir

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