openmpi相关内容

在制作CUDA 5.0示例时遇到打开MPI相关问题(Mac OS X ML)

当我尝试制作CUDA 5.0示例时,会出现一个错误: Makefile:79: * MPI未找到,无法构建简单的MPI ..停止。 我试图下载并构建最新版本的Open MPI reffering打开MPI“常见问题/平台/ OS X / 6。如何不使用OS X捆绑的打开MPI ?页面,它没有解决错误。 make -j 4 2>& tee make.out [大量输出] ..
发布时间:2017-03-04 12:26:37 其它硬件开发

如何强制OpenMPI使用GCC而不是ICC?是否需要重新编译OpenMPI?

我有一个用于 gcc 的并行计算的C代码,我想在一个集群上编译它,它显然使用 icc 通过 mpicc 。更正代码 icc - 友好似乎是太费时,所以我想知道我是否可以问 OpenMPI 使用 gcc 。我没有该集群的管理员权限,我真的不喜欢原来的配置。 如果不能在例如。 Makefile ,然后我可以希望在我的主目录中编译 OpenMPI ,但是我需要一些指导,那。你能帮我吗? UP ..
发布时间:2016-12-22 13:23:10 其他开发

使用openMPI发送对象

我使用magick ++库来管理图片。我想使用openMPI分发我的算法,是否可以发送对象? 例如在我的代码中我有 图片图片(imgName); int w = image.columns(); int h = image.rows(); PixelPacket * pixels = image.getPixels(0,0,w,h); 我可以使用MPI_S ..
发布时间:2016-11-02 23:04:10 C/C++开发

MPI中的动态内存分配

我是MPI的新手。我写了一个简单的代码来显示使用多进程的矩阵。假设我有一个8x8的矩阵,并启动MPI程序与4个进程,第一2行将打印我的第一个过程第二组2行将打印第二线程等等通过划分自己。 #define S 8 MPI_Status状态; int main(int argc,char * argv []) { int numtasks,taskid; int i,j ..
发布时间:2016-11-02 22:40:58 C/C++开发

使用并行I / O复制大型数据文件

我有一个相当大的数据集,大约141M行与.csv格式化。我想使用 MPI 命令与C ++来复制和操作几个列,但我是一个 到目前为止,我的代码看起来像这样 #include #include“mpi.h” using namespace std; int main(int argc,char ** argv) { int i,rank,npro ..
发布时间:2016-11-02 20:46:19 C/C++开发

MPI BCast(广播)结构的std :: vector

我有一个关于通过MPI传递结构体std :: vector的问题。 首先,细节。我使用OpenCCI 1.4.3(MPI-2兼容)与gcc。 注意,我不能使用boost MPI或OOMPI - 我必须使用这个版本。 我有一个结构体聚集一些data: struct Delta { Delta():dX(0.0),dY(0.0),dZ ){}; Delta(double d ..
发布时间:2016-10-25 13:29:06 C/C++开发

“原子”在MPI中调用cout

我感兴趣的是,在OpenMPI中是否有一个命令或技术,有一个原子调用来写入stdout(或者,就此而言,任何流)。 我注意到的是,在执行MPI程序期间,对cout(或其他流)的写入调用可能会变得混乱,因为每个proc可能会写入到某段代码。当报告结果时,可以通过多个过程写入一行,使问题混乱。所以2个不同的proc可能会做这样的事情: // Proc 10 - 结果计算在上面 // ..
发布时间:2016-10-24 16:27:25 C/C++开发

MPI_ERR_TRUNCATE:广播

我有一个 int 我打算从根广播( rank ==(FIELD = 0))。 int winner if(rank == FIELD){ winner = something; } MPI_Barrier(MPI_COMM_WORLD); MPI_Bcast(& winner,1,MPI_INT,FIELD,MPI_COMM_WORLD); MPI_Barrie ..
发布时间:2016-10-20 22:28:20 C/C++开发

MPI进程之间的交换数据(晕轮)

给定以下场景,我有N个MPI进程,每个进程都有一个对象。当通信阶段到来时,来自这些对象的数据“通常小”将被交换。 一般来说,任何两个节点之间都有数据交换。 最好的策略是什么: 在任何节点X中,为具有与此节点X的连接的每个其他节点创建两个缓冲区,然后在对等基础上发送/接收。 在每个节点X中,创建一个缓冲区以收集要传送的所有晕轮数据。 有没有其他策略我不知道? 解决方案 ..
发布时间:2016-10-20 08:51:07 C/C++开发

奇怪的openmpi输出错误

我使用的openmpi 1.3小簇上。 这是我调用该函数: 无效invertColor_Parallel(结构图像* IM,诠释大小,INT级) { INT I,J,AUX,R; INT total_pixels =(* IM).ih.width *(* IM).ih.height; INT数量= total_pixels /(大小-1); INT休息= ..
发布时间:2016-08-25 09:13:02 C/C++

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++

得到的openmpi等待永远

当我执行此$ C $词都没有反应,它就会永远的等待,进程1将数据发送到根进程,但根本过程中不接受它(或几乎这就是我认为)。 的#include<&stdio.h中GT; #包括LT&;&stdlib.h中GT; #包括“mpi.h” 无效my_parallel_function(INT v [],诠释大小,INT级) { MPI_Status状态; INT I; 如果(排名 ..
发布时间:2016-08-24 13:30:13 C/C++

通过的openmpi无阻塞数据共享

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

C,开放MPI:从通话分割过错MPI_Finalize()。段错误并不总是发生,特别是随着工艺低的数字

我写一个简单的code来学习如何定义一个MPI_Datatype并与MPI_Gatherv一起使用。我想确保我能上的进程,这似乎是做工精细结合可变长​​度,结构化数据的动态分配数组,直到我呼吁MPI_Finalize()。我已经确认这是哪里出了问题首先使用打印语句和Eclipse PTP调试器体现出来(后端GDB-MI)。我的主要问题是,我怎么能摆脱分段错误的? 该段错误不会发生我每次运行cod ..
发布时间:2016-08-23 11:47:56 C/C++

可以移调阵列使用MPI_Type_create_subarray发送时?

我想转用MPI在C.每个进程都有一个方形子矩阵的矩阵,我想发送给正确的流程(即“相反的”一对电网),调换它作为部分通信。 我用 MPI_Type_create_subarray 它可以对订单的说法,无论是 MPI_ORDER_C 或 MPI_ORDER_FORTRAN 分别行主要和列重大。我想,如果我被作为其中之一,并收到对方,那么我的矩阵将被转作为通信的一部分。然而,这似乎并没有发生 - 它只 ..
发布时间:2016-08-22 14:15:29 C/C++

MPMD的openmpi获得通信大小

我有我这样开始这两了openmpi节目 的mpirun -n 4 ./prog1:-n 2 ./prog2 现在我该怎样利用 MPI_Comm_size(MPI_COMM_WORLD,&安培;大小)这样,我得到的尺寸值 PROG1大小= 4 PROG2大小= 2。 截至目前,我在这两个项目获得“6”。 解决方案 这是可行的虽然有点麻烦得到。其原理是基于价值的argv MPI_COM ..
发布时间:2016-08-19 14:12:36 C/C++开发