Intel FORTRAN 编译器 入门系列之四: OpenMP 支持

intel_iclifort 2008-04-07 10:29:18
Intel FORTRAN 编译器 入门系列之四: OpenMP 支持


随着多核编程时代的到来, 采用在程序代码中加入适量 OpenMP 引导符(Directives)实现并行化的方式, 得到越来越多开发者的重视.

Intel C++/ Fortran 编译器是业界最早支持 OpenMP 规范的, 目前所有的 Liunx, Windows, MacOS 版本都完全支持 OpenMP 标准 2.5. 具体的信息可以参考: http://support.intel.com/support/performancetools/c/linux/sb/CS-007720.htm

相应地, Intel C++/ Fortran 编译器提供了选项 /Qopenmp (Windows) 或者 -openmp (Linux, MacOS), 编译时也会给出对应的提示信息. 如果不使用这些选项, 原先代码中的 OpenMP 引导符不会被编译器进行处理.

想要了解更详细的处理过程, 还可以通过 /Qopenmp-report 或者 -openmp-report 选项来获得相关的 OpenMP 编译报告

需要说明的是, 由于 OpenMP 规范没有定义具体实现之间的互操作性, 所以可能会出现不同编译器之间 OpenMP 实现的兼容性问题, 特别是当 gcc 4.0 和 Visual C++ 2005 开始加入对 OpenMP 的支持后. 为了避免连接和运行错误, 请注意以下几点:
-- 避免混合使用不同编译器, 或者不同版本中提供的多种 OpenMP 运行库
-- 坚持使用同一个编译器版本, 编译所有包含 OpenMP 的 源代码


如果应用程序中的某些 OpenMP 模块, 已经使用 gcc 或者 Visual C++ 进行编译, 那么在最新的 Intel 编译器 10.1 版本中可以通过选项 '-openmp-lib compat' 或者 '/Qopenmp-lib:compat' 提供支持. Intel 编译器缺省的选项会使用 Intel 编译器自己提供的 OpenMP 运行库.


参考链接:

OpenMP 规范(正式版本 2.5): http://www.openmp.org/blog/specifications/
Intel 编译器 OpenMP 支持 : http://support.intel.com/support/performancetools/c/linux/sb/CS-007720.htm
Intel Windows FORTRAN 编译器 发行说明: http://www.intel.com/software/products/compilers/docs/fwin/release_notes.htm
Intel Linux FORTRAN 编译器 发行说明: http://www.intel.com/software/products/compilers/docs/flin/release_notes.htm
...全文
1648 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookah88 2009-10-04
  • 打赏
  • 举报
回复
说明的再详细点就更加完美了!谢谢是恶!
make是在1977年在贝尔实验室(Bell Labs)研发的 Unix系统中的一款依赖关系检查工具程序(Utility software)。make的应用非常广泛,它被用来构建 C、C++ 、Pascal  Fortran 等项目,自动化构建生成可执行文件或者库文件。make通过读取Makefile文件以自动化建构软件, 它会根据依赖文件的修改时间进行判断。确定一个target的依赖关系,然后把生成这个target的相关命令传给shell去执行。GNU make 和大多数版本的 make 之间最重要的区别是 GNU make 是自由软件,常和GNU编译系统一起被使用,是大多数GNU Linux安装的一部分。GNU make 在 makefile 中具有许多强大的功能,超出了其他 make 版本的功能,它还可以重新生成、使用、然后删除不需要保存的中间文件。GNU make 还有一些非常方便的简单功能。例如,选项“假装源文件文件没有更改,即使它已更改。当您向头文件添加新宏时,这非常有用。大多数版本的 make 都会假设它们必须重新编译所有使用头文件的源文件,但是如果您知道对头文件的更改不需要重新编译 GNU make 为您提供了一种避免重新编译的方法-o file 。 黄强老师针对零编程基础的同学,精心打磨make核心知识点,帮助你快速掌握Linux编程中的make的构建!适用人群: 零基础、新手、想快速学习Linux下C、C++编程的童鞋!

566

社区成员

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

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