OpenMP学习笔记1:在VS+IFortran环境下使用OpenMP

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/walkandthink/article/details/45373325

最近因为程序计算的需求,需要考虑下并行计算,实验室具有的硬件是一台双CPU多核的服务器,内存也还算足够大,对我自己的那些程序,跑起来应该是够了。

并行的方式有很多种,看了OpenMP还有MPI啥的,最后还是选择OpenMP,原因:1,是因为对原有程序改动不太大,不需要重写太多的代码;2,硬件条件支持

,而且OpenMP相对其他几种并行方法来说,算是比较容易上手的了。


开始OpenMP编程前需要搭建的环境是,装好如下两个软件(按顺序来):

  1. VisualStudio2010及以上版本的IDE(VS2005和2008也可以,不过本人更喜欢新版本的VS)
  2. Intel Fortran(这个需要跟VS的版本对应,太老版本的IVF是集成不到太新版本的VS里面的)
装好后,VS已经默认支持OpenMP了,下面我们写个小代码测试下,代码如下:

<span style="font-size:18px;">Program Ch1
    implicit none
    !$OMP PARALLEL
    write(*,*) "Hello OpenMP!"
    !$OMP END PARALLEL
    stop
    end</span>

写好后按Ctrl+F5运行发现结果只出现了一次,完全没有并行的效果,不要着急,设置一下项目的属性就可以了,操作步骤如下:

打开:Project->Project Property->Fortran->Language,然后找到Process OpenMP Directives这一项,把“否”选择为其余的两个就行了(这两个有啥区别,目前我也不太清楚)

操作图如下:


然后再次运行就会得到如下的结果了:



总结:在VS+IVF下使用OpenMP,首先是需要在项目的属性中开启对OpenMP的支持,然后在代码中加入

!$OMP PARALLEL
//Your Loop Code
!$OMP END PARALLEL
OpenMP专用的语句对来执行并行计算。



猜你喜欢

转载自blog.csdn.net/walkandthink/article/details/45373325
今日推荐