- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My custom DLL contains comuptation with VML functions call. MKL 9.0 is linked to DLL throw mkl_c.lib and libguide.lib.
But when app calls my DLL computation code, process is crached in any vml functions. Debuger shows exception (access violation) in TLS read code.
Example (vml code for cpu specific GetMode function):
mov ecx,dword ptr ds:[2CC31BCh] (this is __tls_index)
mov edx,dword ptr fs:[2Ch]
mov ebx,dword ptr [edx+ecx*4] (exception (ecx == 0 and edx == 0))
Can you help me?
But when app calls my DLL computation code, process is crached in any vml functions. Debuger shows exception (access violation) in TLS read code.
Example (vml code for cpu specific GetMode function):
mov ecx,dword ptr ds:[2CC31BCh] (this is __tls_index)
mov edx,dword ptr fs:[2Ch]
mov ebx,dword ptr [edx+ecx*4] (exception (ecx == 0 and edx == 0))
Can you help me?
Link Copied
6 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for your question. Could youlink your DLL to mkl_c_dll.lib? This should help. Please, let us know how it works for you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, mkl_c_dll.lib resolves problem.
But now my DLL use dynamic MKL dlls and total size of application is very large (~40Mb). How can i decrease size?
But now my DLL use dynamic MKL dlls and total size of application is very large (~40Mb). How can i decrease size?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If your application contains calls to VML functions only you might want to link your DLL tomkl_vml_*.dll, msvcr71.dll,and libguide40.dll. Please, let's know how it works for you. Thanks.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
No. My DLL uses some LAPACK funtions.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You could link your application also to mkl_lapack32.dll or mkl_lapack64.dll (depending on the data type you use) in addition to the VML related dlls.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you.
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