回 帖 发 新 帖 刷新版面

主题:ivf调用mkl和lapack

自己曾经想,要是能把ivf用起来。包括他的mkl和集成的lapack,那该多方便啊!很遗憾啊,搜索了很多帖子,包括论坛上的帖子,一直在自己电脑上用,就是没用起来。又看到一篇英文帖子,我小有兴趣将它翻译出来,再对照自己的程序试下,虽然没成功,但是很希望知道问题出在哪里了。
寒假回家之前搞定这个问题!搞不定不回家过年了!
http://bbs.pfan.cn/post-213148.html
这篇帖子有介绍的,按照他说的,没通过!
后来又看到这篇帖子
http://www.programfan.com/club/showtxt.asp?id=374954
希望参与讨论过的同学又顺利用起来的弟兄们,进来踩一下啊!
我安装的是studio 2008+Intel.Visual.Fortran.Composer.XE.2011.5.221.
我看安装文件了,有自带的mkl,mkl里也有lapack。
为了能顺利把mkl和lapack用起来,下面我把后面帖子里的英文翻译过来,请高手支招,看下哪里出问题啊。
英文部分主要就是介绍怎么用mkl,或者说是mkl useguide.
分三部分,第一部分,创建一个新的fortran项目。第二部分:设置Intel MKL Include属性;第三部分:设置library 属性。
第一部分:创建新fortran项目。
1.创建 Visual Fortran 项目
a)打开Visual Studio 2008
b)在主菜单上,选择文件>新建>项目,这时打开一个新项目模板
c)在这个模板上,选择Fortran > Console Application,然后选择Empty Project;最后给新建的项目取名字,比如MKL_PDETTF_D_TRIG_TRANSFORM_BVP
点击确定,完成。
下一步在解决方案资源管理器(Solution Explorer)内完成:
2.对新建的项目添加Intel MKL 例子
a)新建的文件名下面有个Source Files,右键点击,添加现有项,找到Intel MKL examples文件夹,然后在它的子目录下找到你想运行的例子,例如\pdettf\source。选择后缀是.f 或 。f90的例子。点击添加,这时候在Source Files 下面就出现了所选的例子。
看下你所选的例子,有没有用到 use 声明,比如use imsl...如果用到了,还需要下面两步设置:
c)右键点击Header Files文件夹,选择>添加现有项,打开要添加的文件
d)在添加现有项里,找到Intel MKL include目录,选择use声明中出现的header files。点击添加,就关闭了添加现有项菜单,你所选的项相应出现在里面。

下一步调整项目的属性:
3.选择项目名

4.在主菜单上,选择项目->属性,打开属性面板

5.设置Intel MKL Include属性
a)在<project name> 属性页面,选择ConfigurationProperties > Fortran > General,解释下来就是:配置属性>Fortran>General。在右边部分,选择Additional Include Directories,点它右边空白地方,看到 <Edit…>,这就打开了Additional Include Directories页面。
b)在Additional Include Directories页面,写上Intel MKL include目录,引号中部分:"<mkl_directory>\include"。点确定,关闭Additional Include Directories界面。

6.在属性界面,选择Configuration Properties > Fortran > Preprocessor,在界面右边部分,选择Preprocess Source File,选择Yes.推荐这一步是因为有些程序要求预加工。

7.设置library 属性
a)在属性里,选择ConfigurationProperties > Linker > General,在页面右边部分,选择Additional Library Directories >,<edit>,打开Additional Library Directories界面
b)在这个界面上,写上Intel MKL libraries目录,如引号中所示:"<mkl_directory>\<architecture>\lib",<architecture>是{ia32, em64t, ia64}中的一个,表示你计算机的系统,例如"<mkl_directory>\ia32\lib"。
点击确定,关闭Additional Library Directories 界面。
c)选择ConfigurationProperties > Linker > Input,在界面右边,选择Additional Dependencies ,写上所需要的libraries,比如,对ia32系统,写上mkl_c.lib mkl_intel_thread.lib mkl_core.lib libiomp5mt.lib.
这里有点小问题:我怎么知道我需要哪些libraries呢?

8.点击确定,关闭属性界面。

9.有些例子在执行结束之前不会暂停,为了看到Console window上显示的结果,在程序刚好要结束的地方设置断点或者在最后一个end前面加上“pause”。

10.build解决方案,选择Build>Build Solution.

11.运行例子,选择Debug>Start Debugging,打开Console window.

12.在Console window里你会看到运行的结果。如果你在程序中加了“pause”,按Enter来完成运行。如果是设置了断点来暂停执行程序,选择Debug > Continue,这会关闭Console window。

回复列表 (共11个回复)

11 楼

相对速度  13:45:24
把项目属性里的Fortran\Libraries下的use Intel Math kernal library选上
相对速度  13:46:51
把mkl_blas95或者其他的库文件加入到resource file里,在程序头加上use 某个模块

我来回复

您尚未登录,请登录后再回复。点此登录或注册