Quantcast
Channel: Intel® Software - Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1175

building libiomp5md.dll

$
0
0

Hello!

I have been struggling all weekend to build libiomp5.dll on Visual Studio 2010. I wonder if anyone can offer some help. First, let me explain the motivation. 

One of our software components, the solver, uses omp and detects the max number of threads by calling omp_get_max_threads(). 

We noticed that if that call is made as soon as the product is launched, then we get 8 threads throughout the application. If that call is not made, then when the solver starts it only gets 4 threads. This leads us to believe that another component is setting the max_number of threads to 4 and that's the global value that is then used later. 

We have no idea how to verify if this is the case so I thought that I could build the Intel multithreading library libiomp5dm.dll (which is imported by several other dlls in the product) build it debug mode and see what makes calls into that library. 

I downloaded the source code from here [https://github.com/llvm-mirror/openmp/tree/release_35] installed cmake and set out to build that component... and got nowhere!

The build system seems to choke on a post build event even if the individual projects do not have any post-build events specified in VS. Here is the error I see: 

4>CustomBuild:

4>  Building Custom Rule D:/work/openmp-release_35/runtime/CMakeLists.txt

4>  CMake does not need to re-run because D:/work/openmp-release_35/runtime/build/CMakeFiles/generate.stamp is up-to-date.

4>  Generating libiomp.rc

4>  Too many argument(s)

4>  Try --help option for more information.

4>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5): error MSB6006: "cmd.exe" exited with code 255.

4>

4>Build FAILED.

 

etc.,... 

And this is the command I used to build the solution file: 

 

>cmake -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=cl -G "Visual Studio 10 2010 Win64" -Darch=32e -DCMAKE_BUILD_TYPE=Debug -Dversion=5  ..

 

A general question first: how can I detect what component is making a call to the omp library? Is my strategy correct? 

And as far as the build: has anyone run into this issue? Was anyone successful in building libiomp5md.dll with TRACING enabled? 

All I want is a library with some information being executed at runtime so I can further investigate. 

Thanks & Regards. 

 

Andrea P.

Altair Engineering. 

 


Viewing all articles
Browse latest Browse all 1175

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>