mpi

    0热度

    2回答

    这是我计算素数的代码,我只想在这些过程中使用集体通信。但是,当我使用'MPI_Scatter'和'MPI_Gather'而不是MPI_Recv和MPI_Isend更改我的代码时,出现错误。我应该改变什么? 这是我的原代码: MPI_Request req; MPI_Status status; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WOR

    0热度

    1回答

    在一个类方法的if语句的主体中分配两个数组,这是一个依赖于输入的数据,在我的情况下,它从未为真。因此,就我而言,这两个数组从未被分配。但是这个类的析构函数删除了这两个[unallocated]数组。 我从来没有使用不同的MPI库和C++编译器的代码(基于C++ MPI + OpenMP的)出现任何错误,除非我开始使用impi库。 代码是确定运行,直到它到达端,然后与退出代码6或11 我固定此bug

    0热度

    1回答

    请参考下面的收集代码: from mpi4py import MPI comm = MPI.COMM.WORLD size = comm.Get_size() rank = comm.Get_rank() stat = MPI.Status() message = (rank)**2 print "Before Gather ",rank, message message =

    0热度

    1回答

    您好目前我正在使用Infiniband测试IMB基准测试的性能,目前我正在测试并行传输测试 并且想知道结果的确反映了8的并行性能流程。 对结果的解释太模糊了,我不明白。 因为每个结果都提到了(在MPI_Barrier中等待的6个额外进程),我怀疑它每个只运行2个进程? 吞吐量列t_avg [usec]结果似乎得到了正确的结果,但我需要确保我正确理解。 #----------------------

    0热度

    1回答

    目前我是新来使用IMB基准,并希望确保 是否检查的过程(NP)的配置数量是平均分配节点和每个芯 目前IMB-基准提供了基于消息的持续时间为 的固定尺寸。例如象下面这样一个固定大小每秒的吞吐量。 $ mpirun -np 64 -machinefile hosts_infin ./IMB-MPI1 -map 32x2 Sendrecv #-----------------------------

    0热度

    2回答

    您好,我是MPI编程新手。我试图将两个矩阵相乘(一个NxN矩阵(A)和一个Nx1(B)矩阵)以得到一个结果C矩阵(Nx1)。每个进程都应该计算矩阵C中的一行(元素),但只有进程0(我的主进程)可以正确计算,因为它似乎没有等待其他进程完成计算。我也不确定非主过程是否正确地发回结果(或者他们甚至需要?)。这里是我的代码: #include <stdio.h> #include <stdlib.h>

    0热度

    1回答

    的阵列什么是用来存储MPI_MAXLOC在MPI_Reduce()的返回值函数的双值

    0热度

    1回答

    我编程上的骑士登陆,其具有68芯和4个超线程/核心节点。我正在研究混合MPI/OpenMP应用程序。 我的问题是,如果4个超线程意味着用作OpenMP的 线程或者我如何使用他们?当我运行使用 以下方案我的程序: export OMP_NUM_THREADS=1 mpirun -np 68 ./app 它的运行速度比当我使用的方案更快: export OMP_NUM_THREADS=4 mp

    2热度

    1回答

    我有一个由wrap.py生成的CPP程序。 wrap.py用于为MPI程序生成包装。它将任何正常的MPI呼叫重定向到PMPI呼叫用于拦截目的,以便例如性能分析。请下载生成的代码here。我使用otf2来跟踪MPI程序。 要解释代码: // test4.cpp __attribute__((constructor)) void init(void) { if(!is_init)

    0热度

    1回答

    我是MPI的新手。我的程序计算从1到100的总和,但抛出一个错误,我不明白为什么。 我正在学习MPI_Reduce和MPI_Bcast,所以我尽量使用它们。 这是我的程序。 // include something int main (int argc, char * argv[]) { int rank, size, root = 0; int i,j,k,S[100