我在Arch Linux上。在我在Windows上使用msmpi之前,我不需要提供任何特定的编译器,只需要通常的库,包括标志。似乎openmpi是Arch Linux上唯一可用的实现,不是吗?我需要使用一个特殊的东西是什么原因(即使它只是我理解的gcc包装)为此目的的mpicc编译器?我总是怀疑使用一些包装器(围绕典型方式做的技巧),这就是为什么我想知道有没有办法摆脱mpicc并使用openmpi实现而没有这个包装器。
答案 0 :(得分:0)
首先,Open MPI不是Linux上唯一可用的实现。您也可以使用MPICH,Intel MPI等。
其次,对于任何MPI实现,您都不必使用编译器包装器,如果您这样做,它只会使编译代码变得更简单。如果您愿意,欢迎您自行展开包装并将所有适当的东西放在命令行中。根据您的实施情况,有多种方法可以实现。
对于MPICH,您可以使用mpichversion
,它将显示MPICH的编译方式,以及调用mpicc
时使用的任何标志。
更新:我原本应该指出这一点。强烈建议使用包装器。实施将不时地改变那些包装器所做的事情,如果你不使用它们,可能会导致一切破坏。因此,除非你有充分的理由不这样做,否则使用它们会更加安全。如果您不信任它们,请不时检查它们。所有代码都是开源的。