cost 215 ms
为什么我应该使用 MPI_REDUCE 而不是 MPI_ALLREDUCE? - Why should I use MPI_REDUCE instead of MPI_ALLREDUCE?

我是 MPI 编程的新手(两天前),这是我第一次发布有关堆栈溢出的问题。 我现在正在处理MPI_ALLREDUCE和MPI_REDUCE 。 我知道两者之间的区别在于前者将减少变量的最终值传递给所有进程,而在后一种情况下仅传递给目标进程。 在许多情况下甚至很难,您不需要将变量的更新值传递给子进程我 ...

2023-01-31 18:21:46   1   22    mpi  
二维数组的灵活数组成员 - Flexible Array Member for 2D-Array

我目前正在从事一个涉及 repast_hpc 和 mpi 的大项目。 我想实现一个二维共享(跨进程)数组,因为 repast_hpc 本身似乎没有附带。 为此,我需要一个 class 的数组成员。但是我不知道编译时数组的大小。 我需要能够在恒定时间内访问和更改值。 下面给出的代码是我当前的heade ...

通过 Slurm 作业调度程序请求节点上的最大线程数和核心数 - Request maximum number of threads & cores on node via Slurm job scheduler

我有一个异构集群,包含 14 核或 16 核 CPU(28 或 32 线程)。 我使用 Slurm 管理作业提交。 一些要求: 使用哪个 CPU 进行计算并不重要。 我不想指定作业应该 go 到哪个 CPU。 作业应消耗 CPU 上的所有可用内核(14 或 16)。 我希望 mpirun 处理线程。 ...

MPI_IN_PLACE + MPI_Allgatherv - MPI_IN_PLACE + MPI_Allgatherv

我如何使用MPI_IN_PLACE执行下面的MPI_Allgatherv操作(我想避免复制大的 arrays,因此首选就地修改)? 目前,由于操作不是就地的,我必须创建一个名为gathered_array的 memory 的浪费数组,并将MPI_Allgatherv操作的结果存储在那里。 这并不理 ...

2023-01-12 15:56:06   2   63    c / mpi  
MPI:发送具有任意大小向量的对象数组的非连续部分 - MPI: Sending a non-contiguous part of an array of objects with arbitrary sized vectors

我正在尝试学习 MPI 并正在尝试开发一个 C++ 程序,我需要在其中发送一堆具有任意大小向量的对象。 将 class 定义为 我可以使用MPI_Type_create_struct和MPI_Type_create_resized来发送一个 object 从 0 级到 1 级: 现在,如果我有一个对 ...

如何推测性地接收来自多个 MPI 发送进程的请求? - How do I speculatively receive requests from multiple MPI sending processes?

假设我有 4 个标记为 P0、P1、P2、P3 的 MPI 进程。 每个进程都可能有要发送给其他进程的数据包,但也可能没有。 即P0需要向P1和P2发送数据包,或者 相似地, 因此 P1 必须从 P0 和 P3 接收潜在的数据包,P3 必须从 P1 接收数据包,从 P0 接收 P2 的数据包。 我 ...

为什么我的 for 循环将任务分配给 pbdMPI 中的 comm.rank 失败? - Why is my for loop to assign a task to a comm.rank in pbdMPI failing?

我正在运行一个与 pbdMPI 并行的 R 脚本,其中 10 个 comm.ranks 每个加载 1 个文件,然后 comm.rank 0 收集所有文件并应该合并它们。 我写了一个 for 循环来指定只有 comm.rank 0 应该执行合并,但是循环失败并且所有等级都尝试合并导致脚本在要合并的项 ...

有人试过将 boost::serialization 与 boost::geometry::rtree 一起使用吗? - Anyone tried using boost::serialization with boost::geometry::rtree?

我将 boost::mpi 与 boost::geometry 一起使用,并希望广播一个 boost::geometry rtree 索引。 简单的解决方法是在每个节点上构建索引,但我想我会问问是否有人有解决方案。 我知道在 boost::geometry 中有一些非 boost::seriali ...

使用 MPI 和 Armadillo C++ 进行平行对角化 - Using MPI with Armadillo C++ for parallel diagonalization

在 C++ 中有一篇关于使用 MPI 和犰狳的帖子: 这里我的问题是,Lapack 和 OpenBlas 是否实现了 MPI 支持? 到目前为止,我在他们的文档中一无所获。 似乎有一个名为 ScaLAPACK 的不同库,它使用 MPI。 这个库与犰狳兼容吗? 在使用上和LAPACK有什么区别吗? 我 ...

如何使用结构在 mpi4py 中发送列? - How can I send columns in mpi4py using structs?

所以我的目标是使用 mpi4py 将矩阵 A 的右列发送到另一个线程,它应该写入矩阵 B 的左列。因此,我们从两个 numpy ndarrays 开始,例如以下形式: 发送后,我希望它们如下所示: 一种方法是在 mpi4py 中使用结构。 我不想将它们保存在缓冲区中,然后将其复制到矩阵中。 我试图 ...

用于矩阵向量乘法的 mpi 程序的弱缩放 - Weak scaling of mpi program for matrix-vector multiplication

我已经编写了一些使用共轭梯度法求解方程组的 mpi 代码。 在这种方法中,矩阵向量乘法占用了大部分时间。 作为并行化策略,我在行块中进行乘法运算,然后在根进程中收集结果。 其余步骤由根进程执行,只要需要执行矩阵向量乘法,根进程就会广播结果。 代表加速的强缩放曲线很好 但是代表效率的弱缩放曲线非常糟糕 ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM