小编use*_*376的帖子

添加Openmp指令时出现奇怪的gfortran编译错误

我有一个名为pot.f的旧版fortran源文件,我需要将OpenMP应用于并行,如下所示,但是我会出现有关意外结束状态等错误消息。但是当我$OMP通过添加其他注释掉行时!在第一列中,没有错误。

对我来说真的很奇怪。谁能告诉我出了什么问题?

subroutine pot_osc(rvp,R_pot,e_pot,pe_pot,ftmp,gtmp,vtmp,natoms)
   implicit none
   include 'sizes.h'
   include 'constants.h'
   include 'omp_lib.h'

   double precision  ftmp(maxatoms,3),gtmp(3),R_pot(maxatoms,3)

   !$OMP PARALLEL WORKSHARE  SHARED(gtmp,ftmp)
   !$OMP PARALLEL NUM_THREADS(16)
      gtmp = 0d0
      ftmp = 0d0
   !$OMP END PARALLEL WORKSHARE 
   return
end

subroutine pot_asym(rvp,vtmp)
   implicit none
   include 'constants.h'  
   return
end
Run Code Online (Sandbox Code Playgroud)

错误讯息:

 end
   1

Error: Unexpected END statement at (1)


  subroutine pot_asym(rvp,vtmp)
  1
Error: Unclassifiable statement at (1)
Run Code Online (Sandbox Code Playgroud)

fortran openmp

2
推荐指数
1
解决办法
1528
查看次数

标签 统计

fortran ×1

openmp ×1