如何在免费的 Fortran 中的下一行继续 OpenMP 指令?

How to continue an OpenMP directive on the next line in free-from Fortran?

我有一行 Fortran 代码,例如,

    !$omp do private(aa, bb, cc) schedule(dynamic) reduction(+:alpha, beta, gamma) 

假设这一行包含多个参数并且长度超过132个字符,gfortran将导致错误信息。我试图使用 & 来打破这一行。但我不确定如何开始下一行。作为其他情况,直接开始下一行而不 ! 导致 Error: Syntax error in OpenMP variable list at (1).

如何突破 omp 行的 132 个字符限制?

您可以通过以 & 结尾并以 $omp 开始新行来编写多行 omp 语句。

示例

!$omp do private(aa, bb, cc) &
!$omp schedule(dynamic)      &
!$omp reduction(+:alpha, beta, gamma) 
...
!$omp end do