我正试图帮助同事在我们的服务器上编译并运行Fortran模块。他可以在自己的机器上本地编译/运行它,但是当我尝试在xenon服务器上复制环境时,该模块不会加载到脚本中。
环境:
带Intel(R)Xeon(R)CPU E5-2697 v2的WinServer 2012R2
编译器:
tdm64-gcc-5.1.0-2.exe
(在安装时检查Fortran支持)
水蟒版本:
4.5.11条
Python版本:
python 3.7.1(默认值,2018年10月28日,08:39:03)[msc v.1912 64位(amd64)]::anaconda,inc.on win32
编译命令:
python C:\ProgramData\Anaconda3\envs\python_server\Scripts\f2py.py -m nnpx -c --fcompiler=gnu95 --compiler=mingw32 nnpx.f90 --f90flags="-mwindows -m64 -march='ivybridge' -fopenmp -lgomp"
注:
实际上,我试过很多f90旗的组合,但似乎都不是神奇的组合。
该模块看起来编译正常,并创建一个名为“nnpx.cp37-win_amd64.pyd”的文件,该文件与下面显示的测试脚本放在同一文件夹中
尝试加载模块(PYD)的测试Python脚本:
#### BEGIN Script Snippet#########################
import ctypes
import pdb
ctypes.WinDLL("nnpx.cp37-win_amd64.pyd")
#; pdb.set_trace()