您为mpif90编译器调试器/编译器设置了哪些标志来捕获错误代码



这个问题与这里的问题非常相似,只是我想知道人们在使用mpif90编译器和在代码中使用MPI时使用了什么标志。

MPI只是一个库。编译器不做任何与MPI相关的特殊操作。

mpif90mpifort或类似的命令只是调用带有一些附加标志的普通编译器。你必须知道它是哪个编译器。如果它是gfortran,请使用gfortran的标志。如果是英特尔,请使用英特尔的标志。

使用mpif90 --show查找底层编译器。对于我的笔记本电脑,在当前设置中,它显示

gfortran -I/usr/lib/hpc/gnu7/mpi/openmpi/4.0.5/include -pthread -I/usr/lib/hpc/gnu7/mpi/openmpi/4.0.5/lib64 -L/usr/lib/hpc/gnu7/mpi/openmpi/4.0.5/lib64 -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi

所以我的编译器是gfortran。

无论是否使用MPI,我都使用完全相同的调试标志。

MPI有专门的调试器,但它们是外部程序,而不仅仅是编译器标志。

最新更新