intel fortran如何实现单机多核并行运算
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了intel fortran如何实现单机多核并行运算相关的知识,希望对你有一定的参考价值。
求相应的步骤(我装的是vs2010和ivf 2011)
请使用openmp。
打开OpenMP支持,方法如下:
选择项目(Project) -> 属性(property) -> Fortran -> 语言(Language),在 Process OpenMP Directives 选项中选择 Generate Parallel Code (/Qopenmp),点击确定以打开 OpenMP 支持。
示例代码:
参考技术A ivf没操作过。vs2010可以试试OpenMP。相应的设置步骤见如下链接:
参考链接:http://fcode.cn/resource_ebook-17-1.html
至于OpenMP的语法什么的,参考下面链接:
http://fcode.cn/resource_ebook-24-1.html
如果你只是想通过设置,不修改代码来实现并行计算的话,貌似目前没有什么编译器能做到这一步。不过Fortran90以后的编译器在操作数组的时候通过一些函数能自动并行处理,比如forall,where之类的。当然在单核的机器上即使用这些函数也没法并行计算的。 参考技术B ivf编译器用的是vs的平台,里面自带openmp,具体配置方法:
资源管理器中工程名——右键——属性——配置属性——fortran——language——process openmp directive——Generate Sequential Code
参考书籍:http://vdisk.weibo.com/s/vcaXO1DoRJ4m?sudaref=www.baidu.com
虽然是c语言的,但是只有语句格式不一样而已。
提醒:intel fortra并行运算对电脑配置有要求,最近也遇到了一些相关问题,http://zhidao.baidu.com/question/393542869904554205.html。
安装后如何运行 Intel Fortran Composer XE?
【中文标题】安装后如何运行 Intel Fortran Composer XE?【英文标题】:How do I run Intel Fortran Composer XE after installing it? 【发布时间】:2013-09-21 23:04:28 【问题描述】:我在我的 Debian Linux 系统上安装了 this link 的 Intel Fortran Composer XE,其中包括 Intel Fortran Compiler。我将它安装到opt/intel/composer_xe_2013_sp1.0.080
,但现在我不确定如何运行它。我按照this question 中的说明安装环境变量,但现在我正在尝试运行 IDE。
Linux 上的 Intel Fortran 是否不附带 IDE?在 Windows 上,每个人都在谈论将它与 Visual Studio 集成,所以我需要将它与 Eclipse 集成(不知何故?),还是什么?有人可以指出我的资源告诉我这个吗?我在任何地方都看不到信息,所以我觉得......我应该知道这是一个非常愚蠢的问题。如果不是 IDE,那么作曲家是什么?作曲家和编译器有区别吗?
【问题讨论】:
【参考方案1】:您需要在您的环境中获取两个文件(并可能指定您的架构)
source /opt/intel/composer_xe_2013_sp1.0.080/bin/compilervars.sh intel64
source /opt/intel/composer_xe_2013_sp1.0.080/bin/compilervars_arch.sh intel64
找出支持的架构运行
/opt/intel/composer_xe_2013_sp1.0.080/bin/compilervars.sh
没有任何参数
您可以创建一个名为/etc/profile.d/intel.sh
的文件,并将这些行插入其中。编辑完后你应该退出并重新登录,然后尝试
which icc
which ifort
echo $LD_LIBRARY_PATH
查看你的环境是否知道所有东西的正确位置
如果您无法编辑 /etc 下的文件(没有超级用户权限),只需将这两个 'source' 行添加到您的 ~/.bashrc 中,然后注销并重新登录
【讨论】:
【参考方案2】:只需将source compilervars.sh
加入.profile
或/etc/profile.d
。无需为所有内容创建符号链接。
对于 IDE,Intel Composer 中没有自己的 IDE。当人们习惯于vi
、emacs
、kate
或其他任何东西时,人们甚至不会在 Linux 上使用那么多 IDE。
英特尔 Parallel Studio 带有用于 C++ 的 eclipse 插件,但不用于 Fortran。您可以使用 Photran 作为 Fortran Eclipse 插件。
【讨论】:
【参考方案3】:针对 A 部分关于使用 ifort,您需要创建一个指向ifort
的符号链接:
ln -s path/to/ifort /usr/bin/ifort
那么您应该可以在终端中输入ifort code.f90
并获得一个可执行文件。
关于 IDE 的 B 部分:我的 0.02 美元是它们作为一个整体是一毛钱。我通常使用文本编辑器或终端(我是nano
用户)。我不知道英特尔的 IDE,但史蒂夫莱昂内尔最近一直在闲逛,所以他可能会在这篇笔记上为您提供更好的服务。
【讨论】:
感谢符号链接的提示。这与运行compilevars.sh
有什么不同吗?无论如何它都有效,所以我可能会坚持下去。英特尔是否拥有适用于 Linux 的 IDE?
运行compilervars.sh
命令将使您能够从that 终端运行ifort
。添加链接允许您的 IDE 使用ifort
。我认为 Parallel Studio 可用于 Linux,但我不确定 100%。
IMO,简单地链接 ifort
是个坏主意,因为你错过了所有的库。
@Stefan:我从来没有遇到过这个问题。
@KyleKanos 我过去使用过混合编程(C Fortran)。这些程序需要libifcore
,它不在标准路径中,在您的情况下可能不会立即可用。【参考方案4】:
这是英特尔在Using Intel® C++ Compiler with the Eclipse* IDE on Linux* 上发表的一篇精彩文章。希望这可以帮助。我很惊讶人们认为他们可以在 Linux 上不使用调试器。他们一定是在编写一些非常扁平的单线程代码。此外,这里对调试器的功能进行了很好的展示。是时候超越 GDB 并在 Linux 中提供合理的调试环境了。 Intel® Debugger for Linux* (IDB)
【讨论】:
以上是关于intel fortran如何实现单机多核并行运算的主要内容,如果未能解决你的问题,请参考以下文章