关于C++调用INTEL MKL的问题

zj49763554 2011-11-24 12:48:29
我使用VS2010+intel parallel studio 2011,在C++中调用了MKL的相关算法,生成的程序,只能在我自己的电脑上使用,在其他电脑上总是会报错,比如“请安装mkl_intel_threading.dll”等错误,在网上搜索后发现可能是没有相关的动态库,那我接下来该怎么办啊?因为VS2010可以直接在项目属性里打开MKL,TBB等,这样生成的程序却只能在自己的电脑上使用。

如何让VS2010在生成项目的时候,同时生成项目已调用的MKL DLL
...全文
804 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
intel_cyu 2011-11-29
  • 打赏
  • 举报
回复
如果找到MKL_intel_thread.dll, 需要将它的路径加到系统的PATH 的环境变量中。
intel_cyu 2011-11-29
  • 打赏
  • 举报
回复
你是安装intel parallel studio 2011, 还是intel parallel studio XE 2011. XE 版本中,包括MKL, parallel stdio 没有MKL.
zj49763554 2011-11-24
  • 打赏
  • 举报
回复
找到了MKL_intel_thread.dll,谢谢intel_iclifort。

还请intel_iclifort和各位有经验的朋友再详细讲一下生成的CUSTOM DLL后该怎么办。是直接引用这个DLL吗?还需要在VS中打开MKL吗?
zj49763554 2011-11-24
  • 打赏
  • 举报
回复
谢谢intel_iclifort的热心回答

我在redist里面找过,没有找到mkl_intel_threading.dll,我在整个硬盘搜索也未搜索到这个DLL。该怎么办呢?

我生成过一个CUSTOM dll,但生成了完了我就不知道该怎么办了。请问我是应该在自己的程序里面引用这个CUSTOM dll,而就不再需要在VS2010里面打开MKL了吗?

我对很多原理不太明白,请多指教,谢谢了
intel_iclifort 2011-11-24
  • 打赏
  • 举报
回复
1) MKL 允许分发系统DLL (mkl_intel_threading.dll等),可以在安装目录下 redist 中找到。然后和你的应用程序打包。

或者直接从注册中心的下载页面上选择下载分发包,然后安装在其它机器上。

2) MKL 支持生成 客户定制的DLL,可以从系统库中抽取自己用到的函数,这样分发的DLL体积更小。具体方法请参考联机用户手册,或者 Intel Software Network中的 KB 文章
Intel C++ 编译器Windows版》(Intel.C.Plus.Plus.Compiler.v10.0.026)[Bin] 软件版权归原作者及原软件公司所有,如果你喜欢,请购买正版软件 常驻服务器 : DonkeyServer No2, 7x24, 根据工作需要暂停 [版本说明] 截止到2007-08-15为最新版, 仅包含Windows平台, 支持 IA32 / Intel64 / IA64处理器 [病毒检测] NOD32 v2.7 2007-08-15 [安装测试] Windows 2003 SP2 / Visual Studio 2005 SP1 [产品主页] [ http://www.intel.com/cd/software/products/...9578.htm ] [产品简介] 个人翻译, 以原版英文为准: 概要: -------------------------------------------------------------------------------- Intel C++编译器专业版为创建多线程应用程序提供最好的支持。只有专业版才提供对高级优化、多线程和处理器支持(?)。包括自动处理器派发、向量化、自动并行处理、OpenMP*、数据预取、循环展开,还有为并行化、数学运算和多媒体库而高度优化的C++模版。 专业版把高效的编译器和Intel® Threading Building Blocks (Intel® TBB), Intel® Integrated Performance Primitives (Intel® IPP) and Intel® Math Kernel Library (Intel® MKL)整合到了一起。虽然这些库也可以单独获取,但是专业版在一个显著折扣价位上为构建稳定高效的并行代码提供了一个强大的基础。 标准版编译器和专业版有着相同的效能和特性, 但是不提供多线程库。 特性: -------------------------------------------------------------------------------- 效能: 考虑使用Intel C++编译器专业版来最佳化效能。内间的优化技术和多线程支持帮助您创建可以在最新的多核处理器上运行best的代码。 高级优化特性: 使用IntelC++编译器Windows版编译的软件可以受益于高级优化特性, 这里有一些简要介绍, 并且链接到完整描述: * Multi-Threaded Application Support, including OpenMP and auto-parallelization for simple and efficient software threading. * Auto-vectorization 并行化代码来利用最新处理器的SSE指令集构架(SSE, SSE2, SSE3, SSSE3, and SSE4)。 * High-Performance Parallel Optimizer (HPO)(高效能并行优化器) 重新组织和优化循环来确定auto-vectorization, OpenMP, or auto-parallelization 最好的利用处理器的缓存、内存访问、SIMD指令集和多核能力。这个由10.0版本而来得新的革命性的能力,组合了向量化、并行化和循环转化到一个比先前分散模块更快、更有效率和更可靠的单个过程。 * Interprocedural Optimization (IPO) 大幅的改善了被频繁使用的中小规模函数的效能,尤其是在循环内包含调用的程序。这个优化器的分析能力还可以对代码弱点和代码错误给出反馈,诸如未初始化的变量或者OpenMP API issues这些严格依赖编译器前端的编译器不能检测到的状况。 * Profile-guided Optimization (PGO) 通过减少指令缓存thrashing、重新组织代码布局、收缩代码大小和降低分支预测失败来改善程序效能。 * Optimized Code Debugging with the Intel® Debugger(使用Intel调试器调试优化后的代码)改善了为Intel架构优化代码的调试过程的效率. 本版本新特性: -------------------------------------------------------------------------------- 此Intel C++编译器Windows版本构建于一个winning foundation之上。它使您能够为下一代硬件创建下一代应用。 改善的效能和Threading * 新的并行/循环优化器 * 改善的C++优化 * 异常处理和类层次分析 安全监测和诊断 * 缓冲区溢出静态验证 * OpenMP API 验证 VISTA 和 Visual Studio 2005 支持 优化报告 支持最新的多核处理器 * Intel® Core™2 Duo processor * Intel® Core™2 Quad processor * Quad-Core Intel® Xeon® processor 5300 series * Dual-Core Intel® Xeon® processor 3000 series * Dual-Core Intel® Xeon® processor 5000 series * Dual-Core Intel® Xeon® processor 7000 series * Dual-Core Intel® Itanium® 2 processor 提供专业版本 Advanced Optimization Features in Depth -------------------------------------------------------------------------------- ... ... 兼容性和适应性 -------------------------------------------------------------------------------- ... ... 可与Microsoft Visual Studio 2005, Visual Studio .NET 2002/2003, and Visual Studio 98集成,并提供扩展的32位和64位多核Intel处理器支持。 Intel C++ 编译器提供下列语言一致性 * ANSI/ISO C 语言标准一致性 (ISO/IEC 9899:1990) * ANSI/ISO C++语言标准一致 (ISO/IEC 14882:1998) * OpenMP 规范版本 2.5 系统需求

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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