首页 > 系统相关 >C++ MPI多进程并发

C++ MPI多进程并发

时间:2024-06-09 22:28:54浏览次数:17  
标签:int greeting rank MPI 并发 comm C++ my

下载
用法

mpiexec -n 8 $PROCESS_COUNT x64\Debug\$TARGET.exe   多进程并发启动

mpiexec -f hosts.txt -n 3 $PROCESS_COUNT x64\Debug\$TARGET.exe     联机并发进程,其它联机电脑需在相同路径下有所有程序

//hosts.txt

192.168.86.16
192.168.86.123
192.168.86.108

Demo
#include <stdio.h>
#include <string.h>       // For strlen() function
#include <mpi.h>          // For MPI programming functions
#define MAX_STRING (100)

int _tmain(int argc, _TCHAR* argv[])
{
	char greeting[MAX_STRING];
	int comm_sz;            // Number of processes
	int my_rank;            // My process rank

	MPI_Init(NULL, NULL);
	MPI_Comm_size(MPI_COMM_WORLD, &comm_sz);
	MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);

	if (my_rank != 0)
	{
		sprintf(greeting, "Greetings from process %d of %d!", my_rank, comm_sz);
		MPI_Send(greeting, strlen(greeting) + 1, MPI_CHAR, 0, 0, MPI_COMM_WORLD);
	}
	else
	{
		printf("Greetings from process %d of %d!\n", my_rank, comm_sz);
		for (int q = 1; q < comm_sz; q++)
		{
			MPI_Recv(greeting, MAX_STRING, MPI_CHAR, q, 0, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
			printf("%s\n", greeting);
		}
	}

	MPI_Finalize();
	return 0;
}
参考

win10环境下vs2013+mpich2并行环境搭建_vs2013 mpich-CSDN博客

MPI并行环境配置(Windows 10+VSIDE Community 2019)_amd mpi并行-CSDN博客

windows下安装mpich2_如何安装spmd。exe-CSDN博客


创作不易,小小的支持一下吧!

标签:int,greeting,rank,MPI,并发,comm,C++,my
From: https://blog.csdn.net/qq_30220519/article/details/139566971

相关文章

  • c++演奏《起风了》
    #include<iostream>#include<Windows.h>#pragmacomment(lib,"winmm.lib")usingnamespacestd;enumScale{Rest=0,C8=108,B7=107,A7s=106,A7=105,G7s=104,G7=103,F7s=102,F7=101,E7=100,D7s=99,D7=......
  • 拿捏红黑树(C++)
    文章目录前言一、红黑树介绍二、插入操作三、验证红黑树四、红黑树与AVL性能比较与应用五、总体代码总结前言我们之前介绍了一种AVL的高阶数据结构,在本篇文章中,我们将会介绍一种与AVL旗鼓相当的数据结构–红黑树。我们并且会对它的部分接口进行模拟实现一、红黑树......
  • C++系统编程篇——linux编辑器vim
    Linux编辑器vim(1)vim常用模式命令/正常模式控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insertmode下,或者到lastlinemode插入模式只有在Insertmode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。底行模式......
  • ♻️同步和异步;并行和并发;阻塞和非阻塞
    概念辨析同步(Synchronous)和异步(Asynchronous)同步和异步关注的是任务完成的顺序和时间:同步操作意味着在执行某个任务时,必须等待这个任务完成后才能继续执行下一个任务。这通常会导致执行线程在等待任务完成时处于阻塞状态。异步操作允许执行线程在发起一个任务后,不需要等待......
  • C++ primer plus习题及解析第八章(函数探幽)
    题目:8.11.编写通常接受一个参数(字符串的地址),并打印该字符串的函数。然而,如果提供了第二个参数(int类型),且该参数不为0,则该函数打印字符串的次数将为该函数被调用的次数(注意,字符串的打印次数不等于第二个参数的值而等于函数被调用的次数)。是的,这是一个非常可笑的函数,但......
  • JAVA stringcompiler动态编译
    packagecompiler.mydemo;importjavax.tools.Diagnostic;importjavax.tools.DiagnosticCollector;importjavax.tools.FileObject;importjavax.tools.ForwardingJavaFileManager;importjavax.tools.JavaCompiler;importjavax.tools.JavaFileManager;importjava......
  • 互联网大厂的缓存策略:抵抗超高并发的秘密武器
    大家好,我是冰河~~最近,有小伙伴私信我:冰哥,我最近出去面试,面试官问我如何设计缓存能让系统在百万级别流量下仍能平稳运行,我当时没回答上来。接着,面试官问我之前的项目是怎么使用缓存的,我说只是缓存了一些数据。当时确实想不到缓存还有哪些用处,估计这次面试是挂了。冰哥,你可以给我讲......
  • 【知识点】C++ STL 中的 iterator_traits 类
    iterator_traits讲解基本定义iterator_traits是一个模板类,用于提供与迭代器相关的类型信息。以下是iterator_traits的基本定义:#include<iterator>template<typenameIterator>structiterator_traits{typedeftypenameIterator::difference_typediffere......
  • C++题解——3320——竞选总统(信息学奥赛一本通)
    题目描述:小明想当Y国的总统,Y国大选是按各州的投票结果来确定最终的结果的,如果得到超过一半的州的支持就可以当选,而每个州的投票结果又是由该州选民投票产生的,如果某个州超过一半的选民支持小明,则他将赢得该州的支持。现在给出每个州的选民人数,请问小明至少需要赢得多少选民的......
  • LeetCode 算法:除自身以外数组的乘积c++
    原题链接......