используйте f2py для соединения языка Python и Fortran. f2py веб-сайт https://docs.scipy.org/doc/numpy/f2py/
Фортран перед использованием gfortran и pgfortran (PGI) интегрируют OpenMP обе работы.
файл makefile ниже
gfortran версия
gfortran -c -fopenmp mod_readfile.f90 -lgomp
f2py -c mod_readfile.f90 --f90flags="-fopenmp" -lgomp -m mod_readfile
pgfortran version
pgfortran -c -mp mod_readfile.f90 -lgomp
f2py -c mod_readfile.f90 --fcompiler=pg --f90flags="-mp" -lgomp -m mod_readfile
затем был распознан директивой! $ Omp в Fortran
Я хочу расширить его до OpenAcc, и! $ Acc также будет распознан, но это не удастся, потому чтоopenacc включен в pgfortran (PGI), поэтому я использую make-файл, как показано ниже
pgfortran -c -acc mod_readfile.f90 -lcublas -lcudart -lgomp
f2py -c mod_readfile.f90 --fcompiler=pg --f90flags="-acc" -m mod_readfile -lcublas -lcudart -lgomp
, прежде чем я проверил, что
pgfortran -c -acc mod_readfile.f90
хорошо работает отдельно. но когда он манипулирует как модуль python, у него возникают некоторые проблемы. также перепутал эти флаги (-lcublas -lcudart -lgomp), ниже не работает, потому что отсутствие флага -lgomp
gfortran -c -fopenmp mod_readfile.f90
f2py -c mod_readfile.f90 --f90flags="-fopenmp" -m mod_readfile
после google find Использование F2Py с OpenACC дает ошибку импорта в Python скомпилирован с помощью acc (gfortran) и f2py, но я все еще хочу знать, возможно ли использовать pgfortran с acc для соединения с python? какие флаги компиляции я должен использовать? спасибо