1
我可以访问运行Torque的集群,但不能安装MATLAB分布式计算引擎。我想知道是否可以在没有分布式数组等额外功能的情况下在MATLAB中使用MPI命令。如果您没有分布式计算引擎,是否可以将MATLAB lab *命令与mpirun命令结合使用?是否有可能在没有分布式计算引擎的情况下访问MATLAB中的MPI功能
我可以访问运行Torque的集群,但不能安装MATLAB分布式计算引擎。我想知道是否可以在没有分布式数组等额外功能的情况下在MATLAB中使用MPI命令。如果您没有分布式计算引擎,是否可以将MATLAB lab *命令与mpirun命令结合使用?是否有可能在没有分布式计算引擎的情况下访问MATLAB中的MPI功能
如果MPI implmentation是开放MPI可以用穷人的并行工具箱(TM),它可以让您在多个节点上并行运行许多MATLAB情况下,让每个人做不同的事情,例如运行一个不同的脚本。成功的关键在于开放MPI出口当前进程的排名在环境变量OMPI_COMM_WORLD_RANK
和一个简单的shell脚本可以用来包裹执行回避的事实。下面是一个示例:
#!/bin/bash
file_num=script$(printf "%03d" $(($OMPI_COMM_WORLD_RANK + 1))).m
matlab < $file_num
人们会推出这项为:
mpiexec -np 24 ./script.sh
这将启动MATLAB的24份,从不同的脚本每个接收输入。第一个将从script001.m
获得命令,第二个从script002.m
开始,等等。
当然,你可以写在C或C++,甚至Fortran语言的并行代码,并使用MPI那里。然后将代码编译为共享库,可从MATLAB加载和调用。