Openmp和Fortran,崩溃的代码

时间:2016-02-05 20:02:38

标签: fortran openmp gfortran

这与previous question有关。我试图用混合语法(f77和f90)并行化代码

我在代码

中添加了许多例程中的一部分
 !$omp parallel shared (xdif,cdiff, dg,bfvisc,r,ro,xm ) private ( l ) 
 !$omp do
 DO L=2,n-1
        xdif(l)=cdiff(l)*fjc+(dg(l)+bfvisc(l))*
 &           (4.d0*pi*r(l)**2*ro(l)/xm(n))**2

 ENDDO

 !$omp end do
 !$omp end parallel

编译后(使用-fopenmp)代码运行但只持续几秒钟,我得到的唯一错误是:分段错误(核心转储)

我没有使用模块omp_lib(因为这是在上一个问题的答案中提出的),但我也尝试使用它(在第一行之前使用call omp_set_num_threads(4))。两种方式我都有同样的问题。

我该怎么办?

我还被建议用标志-g -fbacktrace -fcheck=all -Wall打印输出。这是:

 At line 2828 of file mainII.f
 Fortran runtime error: Index '0' of dimension 1 of array 'l1mlos' below lower bound of 1

0 个答案:

没有答案