Parallel processing MPICH是否支持跨平台执行?

Parallel processing MPICH是否支持跨平台执行?,parallel-processing,mpi,platform,mpich,Parallel Processing,Mpi,Platform,Mpich,我发现MPICH二进制文件可用于Windows和Linux。但是,我不理解我是否可以使用这两个平台的“代码>-n切换指定的可执行文件,或者我需要交叉编译我的可执行文件吗?,尽管你可以交叉编译,也许你可以考虑运行MPI应用程序,就像它是由不同的二进制文件组成的(每个平台一个)一样。这样可以避免处理交叉编译以及处理所有库 为了实现这一点,mpiexec[允许您传递多个二进制文件(甚至每个平台一个),就像您的应用程序是MPMD一样 概要 mpiexec args executable pgmargs

我发现MPICH二进制文件可用于Windows和Linux。但是,我不理解我是否可以使用这两个平台的“代码>-n<代码>切换指定的可执行文件,或者我需要交叉编译我的可执行文件吗?

,尽管你可以交叉编译,也许你可以考虑运行MPI应用程序,就像它是由不同的二进制文件组成的(每个平台一个)一样。这样可以避免处理交叉编译以及处理所有库

为了实现这一点,mpiexec[允许您传递多个二进制文件(甚至每个平台一个),就像您的应用程序是MPMD一样

概要

mpiexec args executable pgmargs [ : args executable pgmargs ... ]
其中args是mpiexec的命令行参数(见下文),executable是可执行MPI程序的名称,pgmargs是 可执行文件的命令行参数。可以使用多个可执行文件 使用冒号符号指定(对于MPMD-多个程序 多个数据应用程序)。

因此,如果要在system1上生成4个进程,在system2上生成4个进程,可以使用以下命令:

mpiexec -np 4 -host <system1> <binary-system-1> <params> : -np 4 -host <system2> <binary-system-2> <params>
mpiexec-np4-host:-np4-host