Products
GG网络技术分享 2025-11-22 23:40 1
mpirun-np这种东东啊, 就像是电脑里的一种超级魔法棒,它Neng叫来优良许多优良许多的计算细小帮手,一起Zuo麻烦的计算任务。这玩意儿魔法棒是OpenMPI这玩意儿巨大口袋里的一个细小工具, Neng帮我们在优良几个电脑上分配干活,就像一群细小蜜蜂在花园里采蜜一样,一起干得geng迅速geng优良。

想要用这玩意儿魔法棒,其实hen轻巧松,就像对朋友说:“嗨,帮帮我!”一样。下面我给巨大家展示几种常用的方法。
比如 你想让这玩意儿魔法棒帮你启动一个MPI的超级计算任务,你就得告诉它你要几个帮手,然后告诉它要施行哪个任务。
$mpirun-np ./my_mpi_program
这玩意儿命令就像是在说:“嘿, 叫上四个帮手,来帮我施行这玩意儿叫Zuomy_mpi_program的任务!”
Ru果你要用它来启动一个OpenMP的任务, 方法也是一样的,只不过这玩意儿任务是一个单进程的任务。
这就像是说:“嘿, 我一个人就Neng搞定,叫上这玩意儿程序,开头干活吧!”
还有一些麻烦的任务,是MPI和OpenMP一起一起干的,这玩意儿叫Hybrid任务。这时候,你得告诉魔法棒要几个帮手,个个帮手用几个线程。
$mpirun-np -x OMP_NUM_THREADS= ./my_hybrid_program
我来给巨大家举个例子,kankan这玩意儿魔法棒怎么用。
先是一个轻巧松的MPI程序,就像是一个细小团队一起打怪升级。
程序代码:
#include
#include
int main{
// 初始化MPI周围
MPI_Init;
int rank, size;
MPI_Comm_rank;
MPI_Comm_size;
// 打印进程ID和进程总数
printf;
// 终止MPI周围
MPI_Finalize;
}
然后是命令行输入:
$mpirun-np ./mpi_hello_world
输出后来啊:
Hello world from rank 0 of 4
kan到了吗?就像是在说:“巨大家优良,我是进程0,我是进程1,我是进程2,我是进程3!”
接下来是一个轻巧松的OpenMP程序,就像是一个人分了优良几份干活在干。
#include
#include
int main {
#pragma omp parallel
{
printf
", omp_get_thread_num);
}
}
命令行输入:
Hello, World!
的速度,就像有了超级加速器一样。
不过学了这玩意儿魔法棒,Neng不Neng直接提升并行计算效率,还得kan我们怎么用它。就像学骑自行车,只是晓得怎么骑,不练习也是不行的。所以巨大家要许多实践,许多练习,才Neng真实正让mpirun-np这玩意儿魔法棒发挥出它的力量来。
Demand feedback