为了账号安全,请及时绑定邮箱和手机立即绑定

通过无法执行的并行Python执行Fortran子程序

通过无法执行的并行Python执行Fortran子程序

ABOUTYOU 2021-11-30 16:23:02
我正在尝试使用并行 python(PP 包)在 Python 2.7 中执行 Fortran 子例程。但是当我使用 pp.server().submit(...) 执行它时,什么也没有发生。我可能执行错了,我使用了这里numpy.f2py.compile()解释的。这样对吗?如果没有,我应该改变什么?只是提到代码几乎肯定是正确的,因为它取自博士论文(代码,论文)。在名为“design_operation”的 Python 2.7 模块中实现的子例程是:import numpy.f2pyfsource = '''subroutine matrix_op(grid_x,grid_t,eval_grid,pas,K,L,M,C)  COMPLEX :: i=(0.0,1.0)  INTEGER , intent(in) :: K,L,M  REAL , intent(in) :: pas  INTEGER :: u,v,w  REAL , dimension(1:M) , intent(in) :: grid_x  REAL , dimension(1:K) , intent(in) :: grid_t  REAL , dimension(1:L) , intent(in) :: eval_grid  COMPLEX, dimension(1:L,1:M) , intent(out) :: C  do u=1,L     do v=1,M        do w=1,K           C(u,v) = C(u,v) - i*pas*grid_t(w)*grid_x(v)*exp(-i*grid_t(w)*grid_x(v)*eval_grid(u))        end do     end do  end do  end subroutine matrix_op  '''我总是收到以下错误:零维数组不能串联。因此,我认为错误来自任务的不正确执行,但也许我错了。堆栈错误是:An error has occured during the function executionTraceback (most recent call last):  File "C:\ProgramData\Anaconda3\envs\project\lib\site-packages\ppworker.py", line 90, in run    __result = __f(*__args)  File "<string>", line 2, in list_appendAttributeError: 'module' object has no attribute 'matrix_op'An error has occured during the function executionTraceback (most recent call last):  File "C:\ProgramData\Anaconda3\envs\project\lib\site-packages\ppworker.py", line 90, in run    __result = __f(*__args)  File "<string>", line 2, in list_appendAttributeError: 'module' object has no attribute 'matrix_op'Traceback (most recent call last):  File "<ipython-input-89-6cb5b50fd813>", line 5, in <module>    dM = np.concatenate((dM, job()))#ValueError: zero-dimensional arrays cannot be concatenatedPS:我认为有一些不必要的代码,因此为了更清楚起见我没有包含它+ func= list_append 的参数是正确的。
查看完整描述

1 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

我注意到您的代码似乎没有将K, L, MC变量传递给 Fortran 例程。但是,K, L, M用于确定一些数组的维度,也用作循环计数器。这些值很可能0由编译器设置为默认值,或者更有可能None由 Python 本身设置。这将解释您的错误消息“ValueError:无法连接零维数组”。


查看完整回答
反对 回复 2021-11-30
  • 1 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信