作者:mobiledu2502908793 | 来源:互联网 | 2023-09-03 17:56
我正在使用Openacc编译并运行Fortran 90程序。我可以使用PGI编译器在本地PC中使用带有openacc指令的代码运行代码。但是现在我试图在具有GCC(编译器版本8.2)的群集中(在具有4个GPU的单个节点上,即Volta 100上)运行同一程序,并且开始遇到问题。我使用以下命令行运行程序1st:-
gfortran -fopenacc --gres=gpu:volta:1 test.f90
并给出以下错误“ gfortran:错误:无法识别的命令行选项'--gres = gpu:volta:1'”
然后我尝试使用以下命令行运行它;该代码可以运行,但是前者需要167秒,而后者需要137秒,与我在本地PC上运行的相同代码花了3.67秒(GTX 1050)相比。
gfortran -fopenacc test.f90
gfortran -fopenacc -lcuda test.f90
如果我的程序正在使用GPU,或者问题与使用不同编译器的代码效率有关(如报告here),我不是。任何反馈将有所帮助。预先谢谢你!