Quantcast
Channel: Intel® Software - Intel® Integrated Performance Primitives
Viewing all articles
Browse latest Browse all 1489

Load and Unload issues with Waterfall DLLs ( Instruction Set specific )

$
0
0

I detected an issue related to Loading and Unloading steps for Waterfall DLLs ( Instruction Set specific ).

Let's say I've compiled an application ( 64-bit / Dynamic linking of IPP libraries ) that could work on CPUs that support AVX Instruction Set ( code e9 for Waterfall DLLs ). A test case starts with a call to ippInit function in main function:

[ Source codes ]
...
int main()
{
    ippInit();
 ...
}
...

However, before ippInit was called I was able to see in VS debugger that ippie9-7.1.dll and ippse9-7.1.dll already loaded ( see lines (4) and (5) ). Now, take a look at a VS debugger output:

[ VS Output Window ]
...
(0)'IccTestApp64D.exe': Loaded '..\x64\Debug\IccTestApp64D.exe', ...
...
(1)'IccTestApp64D.exe': Loaded '..\x64\ippcore-7.1.dll', ...
(2)'IccTestApp64D.exe': Loaded '..\x64\ippi-7.1.dll', ...
(3)'IccTestApp64D.exe': Loaded '..\x64\ipps-7.1.dll', ...
...
(4)'IccTestApp64D.exe': Loaded '..\x64\ippie9-7.1.dll', ...
(5)'IccTestApp64D.exe': Loaded '..\x64\ippse9-7.1.dll', ...
...
...Note: main() called
...
...Note: ippInit() called
...
(6)'IccTestApp64D.exe': Unloaded '..\x64\ippie9-7.1.dll'
(7)'IccTestApp64D.exe': Loaded '..\x64\ippie9-7.1.dll', ...
(8)'IccTestApp64D.exe': Unloaded '..\x64\ippse9-7.1.dll'
(9)'IccTestApp64D.exe': Loaded '..\x64\ippse9-7.1.dll', ...
...
processing continues...

As you can see as soon as ippInit is called both DLLs are unloaded and than loaded again ( see lines (6), (7), (8) and (9) ). Please take a look and investigate if something is wrong.

Thanks in advance.


Viewing all articles
Browse latest Browse all 1489

Trending Articles



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