动态加载intel MKL库的问题?

Lutx 2011-09-06 04:29:04
为一个仿真软件(Simulate.exe)开发了一个计算插件(MySolver.dll), 在该计算插件中会调用到Intel的MKL库(mkl_sequential.dll, ...). 这个计算插件在仿真软件中是动态加载的, 仿真完成后就释放, 也会同时释放MKL库.

现在的问题是: 启动仿真软件(Simulate.exe)后, 调入相应模型, 开始进行仿真计算, 这是会加载MySolver.dll以及其他相关的动态库(包括mkl), 然后计算一切正常, 完成后会卸载MySolver.dll. 然而要再次进行仿真计算时, 会重新加载MySolver.dll和相关库, 这时一调用mkl内相关函数就会出现异常, 导致计算失败, 异常的原因不明.

不知道是否把问题描述清楚了, 有没有人知道或者遇到类似的问题, 可以提供一些帮助信息, 非常感激!
...全文
638 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lutx 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lutx 的回复:]

引用 1 楼 intel_cyu 的回复:

你可以使用MKL custom DLL 工具建一个自己的DLL(使用MKL的静态库),然后在程序中,使用这个新建的DLL. 这样程序在加载的使用,将不再依赖于MKL的DLL.


应该在哪个目录下运行这个工具啊?
[/Quote]

知道了, 在 <mkl directory>\tools\builder 目录下运行.
这个方法可行, 我已经成功了.
Lutx 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 intel_cyu 的回复:]

你可以使用MKL custom DLL 工具建一个自己的DLL(使用MKL的静态库),然后在程序中,使用这个新建的DLL. 这样程序在加载的使用,将不再依赖于MKL的DLL.
[/Quote]

应该在哪个目录下运行这个工具啊?
Lutx 2011-09-07
  • 打赏
  • 举报
回复
谢谢, 我试一下这种方法
intel_cyu 2011-09-07
  • 打赏
  • 举报
回复
你可以使用MKL custom DLL 工具建一个自己的DLL(使用MKL的静态库),然后在程序中,使用这个新建的DLL. 这样程序在加载的使用,将不再依赖于MKL的DLL.

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧