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。当人们习惯于viemacskate 或其他任何东西时,人们甚至不会在 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如何实现单机多核并行运算的主要内容,如果未能解决你的问题,请参考以下文章

如何利用多核电脑实现Matlab的并行运算

微软C++并行库 pplx 的基本用法

微软C++并行库 pplx 的基本用法

在ubuntu下如何单机运行mpi程序(高分求详解)

OpenMp实现并行化

Intel MPI 5.1.3安装配置详解