调试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