主要内容

在上使用不同的MPI构建UNIX系统

构建MPI

在Linux上®和Macintosh操作系统,您可以使用不同于并行计算工具箱提供的MPI构建™. 本主题概述了创建用于通用计划程序接口的MPI生成的步骤。如果您已经有了替代MPI生成,请转至使用您的MPI构建.

  1. 将MPI源解压缩到计算机上的目标文件系统中mpich2-distro.tgz想把它拆成/选择关于建筑:

    #cd/opt#mkdir mpich2和cd mpich2#tar zxvf路径/to/mpich2-distro.tgz#cd mpich2-1.4.1p1
  2. 使用启用共享选项(这是至关重要的,因为您必须构建一个与兼容的二进制文件的共享库MPIMPICH2-1.4.1p1对于R2013b至R2018b,或MPICH3.2.1适用于R2019a及更高版本)。例如,以下命令使用复仇女神信道设备及其应用工友发射装置。

    #./configure-prefix=/opt/mpich2/mpich2-1.4.1p1 \-启用共享--with device=ch3:nemesis \-with pm=gforker 2>&1 | tee log | make 2>&1 | tee-a log | make install 2>&1 | tee-a log

使用您的MPI构建

当您的MPI构建就绪时,此阶段将突出显示将其与通用调度器一起使用的步骤。要使集群使用不同的MPI构建,请执行以下步骤。

  1. 通过运行mpiexec可执行文件。如果其bin/mpiexeclib/libmpich.so在MPI安装位置提供。

    遵循中的示例构建MPI,/opt/mpich2/mpich2-1.4.1p1/bin/mpiexec/opt/mpich2/mpich2-1.4.1p1/lib/libmpich.so已准备好使用,因此您可以使用以下各项测试生成:

    $/opt/mpich2/mpich2-1.4.1p1/bin/mpiexec-n 4主机名
  2. 创建一个mpiLibConf(并行计算工具箱)函数来指导并行计算工具箱使用新的MPImpiLibConf.m为您的生成返回适当的信息。例如:

    函数[primary,extras]=mpiLibConf primary='/opt/mpich2/mpich2-1.4.1p1/lib/libmpich.so';额外费用={};

    这个主要的,重要的路径必须有效在集群上; 还有你的mpiLibConf.m群集工作程序路径上的文件必须高于草根/工具箱/并行/mpi(发送)mpiLibConf.m作为此目的的附加文件不起作用。你可以得到mpiLibConf.m通过将文件移动到路径上的文件夹中,或让调度程序使用光盘在其命令中,以便启动MATLAB®来自包含函数的文件夹中的工作进程。)

  3. 确定必要的守护进程和命令行选项。

    • 确定所有必要的守护进程(通常类似于mpdboot开关电源).这个工友本节中的构建示例使用不需要在集群上运行服务或守护进程的MPI,但它只能使用本地计算机。

    • 确定要传递到的正确命令行选项mpiexec.

  4. 要设置集群以使用新的MPI构建,请修改通信作业包装器脚本以选择正确的mpiexec. 此外,包装器脚本中可能有一个启动MPI process manager守护进程的阶段。

    通信作业包装器脚本必须:

    • 确定计划程序分配了哪些节点。

    • 启动所需的守护进程。例如,对于MPD process manager,这意味着调用“mpdboot-f.

    • 定义哪个mpiexec用于启动工人的可执行文件。

    • 停止守护进程。例如,对于MPD进程管理器,这意味着调用“mpdallexit”.

    有关通信作业包装器脚本的示例,请参阅插件脚本示例(并行计算工具箱).