mpi相关内容

MPI_Isend和MPI_Irecv似乎造成了死锁

我使用非阻塞的MPI通信进程之间发送的各种消息。但是,我似乎得到一个僵局。我已经使用PADB(看到这里)看消息队列和已经得到了以下的输出: 1:msg12:操作1(pending_receive)状态0(待定) 1:msg12:等级当地4个全球4 1:msg12:大小所需的4 1:msg12:tag_wild 0 1:msg12:标签所需的16 1:msg12:system_buffer 0 ..
发布时间:2016-08-24 13:32:00 C/C++

写入到一个输出文件在C MPI

我在做这个MPI code和一切几乎是工作,因为它应该,但我有麻烦的程序的输出写入文件。下面是一些code来说明我的问题。 INT主(INT ARGC,CHAR *的argv []){ FILE *文件名; INT大小,my_rank; 诠释计数= 0; INT标记= 99;INT限值为5; MPI_INIT(安培; ARGC,&安培; argv的); MPI_Status状态; MPI_Co ..
发布时间:2016-08-24 13:31:54 C/C++

搜索/等待在MS-MPI任何传输

这是一个主 - 从局面。我怎样才能使在传送给他发个消息非阻塞的方式主进程搜索。如果在搜索的点没有上发射掌握的消息,它会继续反复。然而,如果有发送给他的消息,则处理该消息并不是继续迭代。看到里面/注释* / INT主(INT ARGC,CHAR *的argv []) { INT numprocs, 秩; MPI_Request请求; MPI_Status状态 ..
发布时间:2016-08-24 13:15:58 C/C++

通过的openmpi无阻塞数据共享

我试图利用跨多个的openmpi工人US $ p $垫数据,但是,我做的数据划分在一个相当的定制方式,是的不的服从 MPI_Scatter 或 MPI_Broadcast 。我想这样做是给每个处理器队列中,使得他们可以做数据的第一块自己的工作,走下一大块,重复一些工作(或其他一些异步机制),直到没有更多的块。 我知道的 MPI_Isend ,但是如果我发送数据与 MPI_Isend 我不能修改它 ..
发布时间:2016-08-24 12:58:27 C/C++开发

写入文件,MPI

我在写一个文件,如下所示。顺序并不一定关系(虽然这将是很好,如果我能得到它被K下令,它可以在串行code固有) CALL MPI_BARRIER(MPI_COMM_WORLD,IERR) OPEN(EIGENVALUES_UP_IO,FILE = EIGENVALUES_UP_PATH,ACCESS ='APPEND') WRITE(EIGENV ..
发布时间:2016-08-24 12:55:50 C/C++

如何通过二维数组中的MPI和用C语言创建一个动态的变量值?

我是新来的MPI编程。我有一个8×10阵列,我需要使用平行发现每行的总和。在等级0(处理1),它会产生使用2维阵列的8个由10矩阵。然后,我会使用标记号作为数组的第一个索引值(行​​号)。这样一来,我可以使用一个独特的缓冲通过Isend发送。不过,它看起来像我的Isend标签数生成的方法是行不通的。你能请看看下面code和告诉我,如果我是正确标签号码传递二维数组。当我运行这个code,它只是执行r ..
发布时间:2016-08-23 12:15:14 C/C++

做派的MPI数据类型/接收必须匹配?

我试图来确定发送操作的是什么参数和传递信息接收操作必须匹配。 据我了解,接收操作必须在信息,标签和通信器的源相匹配,(或包含)。然而,就是要匹配其所需的数据类型? 例如。我可以发送一个从0级匹配: MPI_SEND(send_buffer,1,MPI_INT,1,0,MPI_COMM_WORLD); 与等​​级1的接收操作: MPI_RECV(recv_buffer,4,MPI_BYT ..
发布时间:2016-08-23 12:05:54 C/C++

MPI - 发送和接收列

我需要从一个进程发送一个矩阵列从另一个接收它。我试着运行下面的程序,但我发现了一个奇怪的结果(至少我是这么认为的);仅矩阵的第一个元素被复制,并且一些矩阵元素意外更改。 的#include<&stdio.h中GT; #包括LT&;&stdlib.h中GT; #包括LT&;&string.h中GT; #包括LT&;&math.h中GT; #包括“mpi.h”无效掉期(INT *一,为int ..
发布时间:2016-08-23 11:56:11 C/C++

MPI运行错误"引起各级&QUOT集体中止;

我想编写并行编程的,在C.使用MPI然而,当我运行我的程序,我得到的消息,我的程序被终止。我不知道该错误信息的原因。 警告:无法读取mpd.hosts或主机列表中不提供。 MPI作业将只在当前计算机上运行。 解决方案正在启动 在作业1 server_name_60409 7级引起各级集体中止 7级的退出状态:返回code 0 在作业1 server_name_60409 ..
发布时间:2016-08-23 11:55:47 C/C++

MPI_Barrier不是一个循环内的工作

我已经运行的MPI函数一些测试,以了解它是如何工作的,并得到了与MPI_Barrier怪异的结果:它如果我用它在code像每个人都期望 INT主(INT ARGC,CHAR *的argv []) { <有的code> MPI_Barrier(MPI_COMM_WORLD); <更code> MPI_Barrier(MPI_COMM_WORLD); & ..
发布时间:2016-08-23 11:44:06 C/C++

MPI_Gather分段故障

我有这种并行高斯消元code。发生在调用任何 MPI_Gather 函数调用分段错误。我知道,如果内存不是为任何缓冲区正确分配这样的误差可能上升。但我看不到任何错误的内存管理code。 有人能帮助? 感谢。 注: 该计划从名为 input.txt的。的相同目录 .TXT 读取文件 code: 的#include<&stdio.h中GT; #包括LT&;&stdlib.h中GT; ..
发布时间:2016-08-23 11:42:18 C/C++

不同MPI_Datatypes的发送者和接收者

使用MPI,可以将数据发送,并与从相同的基本类型衍生并具有相同的总长度不同MPI_Datatypes接收 考虑两个MPI进程的 A 和乙。 A 有一个数组双A [N] 和乙有一个数组重B [ M] 。这两个进程知道的 A 想要发送以某种方式分布在 乙 K 双打(仅 A 有知识,这个分布)。 乙(也是唯一的乙)知道它是怎么想安排 K 在双打b 。因此,无论创建(通过 MPI_Type_indexe ..
发布时间:2016-08-23 11:15:52 C/C++

用`接近`INT_MAX` count`值数据通信

消息传递接口的API,总是用 INT 作为类型计数变量。例如,原型为 MPI_SEND 是: INT MPI_SEND(常量无效* buf中,诠释计数,MPI_Datatype数据类型,INT DEST,INT标签,MPI_Comm COMM); 这可能是一个问题,如果要发送或接收的元素个数的增长接近甚至有所超越 INT_MAX 。 当然,这个问题可能会得到解决降低的值数有两种方法: ..
发布时间:2016-08-23 10:40:23 C/C++开发

使用Cygwin MPICH2编译问题

试图编译MPICH2使用Cygwin在Windows计算机上。 相关信息的比特 $ UNAME - > CYGWIN_NT-6.1 $ GCC --version - > 海湾合作委员会(GCC)3.4.4(cygming特殊,GDC 0.12,使用DMD 0.125) 版权所有(C)2004自由软件基金会 这是自由软件;参见复印条件的来源。有否 保证;甚至不是针对特定目的的适销 ..
发布时间:2016-08-22 16:18:18 C/C++

奇怪的全局变量的行为,一旦变量名称更改问题消失

在我大学的练习,我所遇到的一个变量的奇怪的行为。 / *主要参数* / 双SIZEX,SIZEY; / *全球域的大小* / INT nPartX,nPartY; / *粒子在x个,Y方向* / 诠释nPart; / *颗粒总数* / INT nCellX,nCellY; / *(全球)x中的细胞数,y方向的* / 诠释步骤; / *时间步数* / 双DT; / *为步长的时间步长* / 诠释 ..
发布时间:2016-08-22 16:04:56 C/C++

发送包含无效*通过创建MPI数据类型掘进typedef结构。

我认识学习MPI规范是 一个MPI发送原始指通过指针指向的数据的存储位置(或发送缓冲区)发送 并采取数据在该位置中,然后作为一个消息发送到另一个进程通过。 虽然这是事实,一个给进程的虚拟地址将在另一个进程的内存地址无意义的; 它是确定通过发送指针所指向的数据,如空指针作为MPI将任何方式传递数据本身作为一个信息 例如以下正常工作: //发送方。 INT X = 100; ..
发布时间:2016-08-22 16:02:49 C/C++

分发使用MPI_ALLGATHER结构

我在使用一个结构发送到所有进程 MPI_ALLGATHER()。我似乎并没有得到任何明显的错误,然而code不起作用。当我检查,如果我在收到任何价值的recv [] ,它显示了没有。如果我只是给一个变量,而不是使用类似code中的结构,即工作的,所以我不知道是怎么回事。该结构具有静态数组,所以内存应该是连续的,或者我应该使用 MPI_Pack 还是什么?这里是code: 的#include&LT ..
发布时间:2016-08-22 15:26:22 C/C++

MPI发送和接收问题

我对MPI问题,发送和接收操作。 假设,我们有2 MPI线程试图发送消息给对方。以下是三个code片段这样做: 第一(阻塞'发送'和'接收') ... int数据= ...; ... MPI_SEND(安培;数据的sizeof(INT),MPI_INT, (添加my_id == 0)1:0,0,MPI_COMM_WORLD);MPI_Status状态; MPI_RECV(安 ..
发布时间:2016-08-22 14:51:47 C/C++