这对FORTRAN意味着什么?
C$OMP CRITICAL (UNNAMED)
和
C$OMP END CRITICAL (UNNAMED)
没有C
的行是否意味着这是评论?但显然当我删除这一行时,它不起作用。这是怎么回事?
答案 0 :(得分:1)
这是Fortran中的OpenMP指令,特别是固定格式。在您的情况下,该部分称为UNNAMED
。引用documentation,关键部分
指定一次只能由一个线程执行的代码区域。
对于固定格式的Fortran,OpenMP指令以C$OMP
为前缀,自由格式为!$OMP
。
与Fortran中的所有编译器指令一样,如果编译器不理解它们,则需要将OpenMP指令实现为注释。
关键部分通常用于避免死锁或竞争条件。这可能就是这种情况,因为如果删除指令,代码就会中断。