mpi相关内容

是否可以使用 MPI 将数据从 Fortran 程序发送到 Python?

我正在开发一种工具来模拟波浪能转换器,我需要将两个软件包相互耦合.一个程序是用 Fortran 编写的,另一个是用 C++ 编写的.我需要在每个时间步将信息从 Fortran 程序发送到 C++ 程序.但是,数据首先需要在 Python 中处理,然后才能发送到 C++ 程序.我收到了使用 MPI 在程序之间传输数据的提示. 我现在正尝试从 Fortran 代码向 Python 发送一个简单的 ..
发布时间:2022-01-14 10:02:58 Python

mpi 改变了它不应该改变的变量

我有一些 Fortran 代码正在与 MPI 进行并行处理,这些代码确实很奇怪.首先,有一个变量 nstartg,我从 boss 进程向所有工人广播: 调用 mpi_bcast(nstartg,1,mpi_integer,0,mpi_comm_world,ierr) 变量 nstartg 在程序中永远不会再被更改.稍后,我让老板进程将数组 edge 的 eproc 元素发送给工人: if ( ..
发布时间:2022-01-14 09:57:37 其他开发

MPI Fortran 编译器优化错误

尽管编写了长且高度并行化的代码,并在三维数组上进行了复杂的发送/接收,但这个包含二维整数数组的简单代码让我大吃一惊.我梳理了 stackoverflow 以寻找可能的解决方案,发现一个与我遇到的问题略有相似的解决方案: Boost.MPI:收到的不是发送的! 但是,解决方案似乎将循环代码段作为覆盖内存部分的罪魁祸首.但这一个似乎表现得更奇怪.也许这是我对一些简单细节的粗心疏忽.问题在于 ..
发布时间:2022-01-14 09:55:53 其他开发

MPI Fortran 代码:如何通过 openMP 在节点上共享数据?

我正在编写一个已经使用 MPI 的 Fortan 代码. 现在,我面临一种情况,一组数据增长得非常大,但每个进程都相同,所以我希望每个节点只将它存储在内存中一次,并且一个节点上的所有进程都访问相同的数据. 为每个进程存储一次会超出可用 RAM. 是否有可能使用 openMP 实现类似的目标? 每个节点的数据共享是我唯一想要的,不需要其他每个节点的并行化,因为这已经通过 MP ..
发布时间:2022-01-14 09:44:37 其他开发

在不增加 VmSize 的情况下增加虚拟内存

我在 Google 和这个网站上搜索了我的问题,但我仍然不明白解决方案. 我有一段 MPI 程序,其中 RECV 一些数据.程序在大数组上崩溃并出现虚拟内存不足的错误,所以我开始考虑 /proc/self/status 文件. 在 MPI_RECV 之前是: 名称:model.exeVmPeak:841640 kB虚拟机大小:841640 KBVmHWM:15100 KBVmRSS: ..
发布时间:2022-01-14 09:43:17 服务器开发

如何以可移植的方式保持 Fortran MPI 程序的精度?

我有一个 Fortran 程序,我在其中指定数值数据类型的 kind 以尝试保持最低级别的精度,而不管使用什么编译器来构建程序.例如: 整数,参数 :: rsp = selected_real_kind(4)...真实(种类=rsp)::real_var 问题是我使用 MPI 来并行化代码,我需要确保 MPI 通信指定具有相同精度的相同类型.我使用以下方法与我的程序中的方法保持一致: 调用 ..
发布时间:2022-01-14 09:40:12 其他开发

MPI_Gather 在最基本的代码中给出了段错误

我正在开发一个更大的程序,我在其中遇到了 MPI_Gather. 我写了一个最小的示例代码,见下文. 程序测试使用 MPI整数 :: ierr、等级、大小双精度、可分配、维度(:) :: send、recv调用 MPI_Init(ierr)调用 MPI_Comm_size(MPI_COMM_WORLD, size, ierr)if (ierr/= 0) print *, 'MPI_Com ..
发布时间:2022-01-14 09:30:40 其他开发

Fortran 和 MPI 的良好分析器

对于包含 MPI 的 Fortran 代码库,您使用哪个分析器?gprof 似乎无法正常工作.Sun Studio Analyzer 仅返回 C/C++ 系统调用的计时,并且不显示任何 fortran 函数. 解决方案 有许多专门用于并行/MPI 程序的性能分析工具,例如: Score-P,适用于多种不同的分析工具,例如Cube, 吸血鬼 HPCToolkit 仅使用采样,因此您不 ..
发布时间:2022-01-14 09:27:39 其他开发

使用 MPI_Gather 在 Fortran 中发送二维数组

我想使用 MPI_GATHER 发送二维数据块.例如:我在每个节点上有 2x3 数组,如果我有 4 个节点,我想要根上的 8x3 数组.对于 1d 数组,MPI_GATHER 根据 MPI 等级对数据进行排序,但对于 2d 数据,它会造成混乱! 什么是整理块的干净方法? 我期待这段代码的输出: 程序 testmpi使用 mpi隐式无整数 :: 发送 (2,3)整数::rec (4,3 ..
发布时间:2022-01-14 09:23:29 其他开发

MPI_Recv 覆盖它不应访问的部分内存

在下面的代码中,xysize 的值会发生变化,如果我不将其声明为参数(我通常不能这样做).它只发生在 gfortran 4.7.2 和 OpenMPI 1.6 中的优化 -O2 和更多.这怎么可能?我找不到从 mpi.mod 导入的确切接口,但 C 原型明确指出 count 是按值传递的,因此它无法更改. write(*,*) im,"receiving from",image_index([ ..
发布时间:2022-01-14 09:21:40 其他开发

Hadoop MapReduce vs MPI(vs Spark vs Mahout vs Mesos) - 何时使用一个而不是另一个?

我是并行计算的新手,刚开始在 Amazon AWS 上试用 MPI 和 Hadoop+MapReduce.但我对何时使用其中一种感到困惑. 例如,我看到的一个常见的经验法则可以总结为... 大数据、非迭代、容错 => MapReduce 速度、小数据、迭代、非 Mapper-Reducer 类型 => MPI 但是,我也看到了 MapReduce 在 MPI (MR-MPI) ..
发布时间:2022-01-14 08:00:26 其他开发

当我使用 Open MPI 运行并行程序时出现分段错误

在我之前的帖子中,我需要在 10 台计算机之间分发 pgm 文件的数据.在 Jonathan Dursi 和 Shawn Chin 的帮助下,我已经集成了代码.我可以编译我的程序,但它出现了分段错误.我跑了,但什么也没发生 mpirun -np 10 ./exmpi_2 balloons.pgm output.pgm 结果是 [ubuntu:04803] *** 处理接收到的信号 * ..
发布时间:2022-01-12 16:14:31 其他开发

一起使用 MPI 和 OpenCV 时出现分段错误

我正在尝试学习 C++ 中的 MPI.我对 OpenCV 有一些了解,所以我尝试使用 MPI 和 OpenCV 编写程序.这听起来可能很愚蠢,但为了学习,我尝试在线程 0 上从网络摄像头捕获图像并将图像传递给线程 1 以转换为灰度并显示灰度图像. 这就是我编译代码的方式: mpic++ opencv.cpp `pkg-config opencv --libs` 代码编译成功,但是当我 ..
发布时间:2022-01-12 16:07:18 C/C++开发

Fortran 中 MPI_FINALIZE() 期间的分段错误

在 Fortran 90 程序中调用 MPI_FINALIZE() 时出现分段错误.虽然代码相当广泛,但我将发布伪代码并查看它是否引发任何标志.我有一种预感(但还没有尝试过)它可能可能是由于没有释放数组引起的?但是我不确定 - 在调用 MPI_FINALIZE 期间未能在 Fortran 90 中解除分配数组会导致分段错误吗? if() then做 iat = 1,natoms做 il = 0, ..

mpiexec 检查点错误 (RPi)

当我尝试运行一个应用程序时(只是一个简单的 hello_world.c 不起作用)我每次都会收到这个错误: mpiexec -ckpointlib blcr -ckpoint-prefix/tmp/-ckpoint-interval 10 -machinefile/tmp/machinefile -n 1 ./app_name[proxy:0:0@masterpi] 请求检查点[proxy:0: ..
发布时间:2022-01-05 10:45:02 其他开发