Fortran并行代码(OpenMP)调试

    调试OMP代码与调试串行代码的流程大体一致,因此需要先了解vs中单步调试的基本内容,参考如下文章:http://fcode.cn/guide-44-1.html。OMP并行代码调试步骤如下(视频链接https://www.bilibili.com/video/BV1uA411v776?p=6):

1、添加断点,并启动调试

2、打开并行监视窗口

3、输入需要监视的变量

4、点击代码行末尾的绿色三角,代码将执行至该处。注意,逐语句调试(F11)可能会有问题,不建议使用。

  program test_6_01
  use omp_lib
  implicit none
  integer threadNum
  real val, temp
  !$OMP parallel num_threads(4) private(threadNum,val,temp)
  temp = 0
  threadNum = omp_get_thread_num()
  val = cos(threadNum*10.547+0.1234)
  temp = 1
  !$OMP barrier
  write(*,*) threadNum, val
  !$OMP end parallel
  pause
  end program 

 

单独把错误的部分拿出来调试下看看。