mpi相关内容

限制为MPI_Send或MPI_Recv?

我们对MPI_Send或MPI_Recv上的邮件大小有任何限制吗?还是受计算机限制?当我尝试发送大数据时,它无法完成. 这是我的代码: #include #include #include #include #include void AllGather_ring(void* data, in ..
发布时间:2020-05-12 20:07:39 其他开发

谁能帮助我了解MPI Communicator,组分区的工作原理?

任何人都可以帮助我了解MPI小组,内部和内部沟通者.我已经阅读了MPI文档( http://www. mpi-forum.org/docs/mpi-2.2/mpi22-report.pdf ),我无法很好地理解这些概念.我特别希望在Inter传播者领域中将任何代码划分为一个传播者,并将传播者划分为多个组. (MPI_COMM_WORLD)这是因为我认为我也可以通过对实时代码进行实验来学习. ..
发布时间:2020-05-12 20:07:35 C/C++开发

MPI广播或分散到特定等级

我有一些数据.我想做的是这样的: 使用等级0将数据广播到50个节点.每个节点上都有1个mpi进程,该进程可使用16个内核.然后,每个mpi进程将调用python multiprocessing.完成一些计算后,mpi进程将保存通过多处理计算出的数据.然后,mpi进程更改一些变量,然后再次运行多重处理.等等. 因此,除了最初的启动(它们都接收到一些数据)之外,节点不需要相互通信. ..
发布时间:2020-05-12 20:07:33 Python

具有机器文件的IPython MPI

我想在分布式计算中使用IPython的MPI功能.也就是说,我希望MPI可以与各种机器文件一起运行,以便可以添加多台机器. 编辑: 我忘了包括我的配置. 配置 ~/.ipython/profile_default/ipcluster_config.py # The command line arguments to pass to mpiexec. ..
发布时间:2020-05-12 20:07:30 其他开发

计算独立核心的使用并将流程绑定到核心

我正在使用MPI,并且具有一定的操作层次结构.对于参数_param的特定值,我启动了10个试验,每个试验都在不同的内核上运行特定的进程.对于_param的n个值,代码按以下特定层次运行: driver_file-> 启动一个进程,该进程检查可用进程是否超过10个.如果可用进程超过10个,则它将启动一个进程实例,并将特定的_param值作为参数传递给coupling_file 耦合文件- ..
发布时间:2020-05-12 20:07:26 其他开发

在OpenMDAO中运行f2py封装的,基于PETSc的fortran代码时,由写语句引起的错误

我正在使用f2py封装我的基于PETSc的fortran分析代码,以便在OpenMDAO中使用(如建议的在简单的python环境中,我可以导入.so并运行代码而不会出现任何问题: >>> import module_name >>> module_name.execute() expected code output... 但是,当尝试在OpenMDAO组件中执行相同的操作时,出现以下 ..
发布时间:2020-05-12 20:07:18 Python

使用MPI发送位集

什么是无需转换即可从位集类发送/接收位的有效方法.可以使用MPI_BYTE吗? 如果是这样,对于要容纳这些位的数组,定义为什么容器呢? 如果不可能,那么转换为ulong或字符串更有效? 解决方案 将其转换为“布尔"数组并由MPI_BYTE发送,此方法适用于群集. ..
发布时间:2020-05-12 20:07:16 其他开发

尝试启动另一个进程并通过MPI加入该进程,但出现访问冲突

我正在尝试启动另一个进程,该进程将调用第一个进程并通过MPI将其加入,但是我遇到无法确定的访问冲突.我认为代码应该很容易说明,访问冲突在MPI_COMM_ACCEPT行上.我认为一切看起来或多或少都符合要求,应该可以,但不会. 如果我要解决所有这些错误,并且有一种更简单的方法,请告诉我.我没有使用mpiexec,因为我正在尝试使用一个构建整个混乱的测试框架来执行此操作,但是如果这样做更有意义 ..
发布时间:2020-05-12 20:07:14 C/C++开发

无阻塞点对点通信中发送模式对MPI开销的影响

我想确定MPI中非阻塞点对点通信的开销.有一些基准可用(例如 Sandia MPI Micro-Benchmark Suite 或 OSU微型基准),但对于由于某些原因,它们不能区分MPI提供的发送模式(标准,就绪,缓冲,同步),而仅使用标准模式. MPI报告指出 在此模式下,由MPI决定是否将缓冲传出的消息. MPI可以缓冲传出的消息.在这种情况下,发送调用可以在调用匹配的接收之前完成.另 ..
发布时间:2020-05-12 20:07:11 其他开发

在C中使用MPI进行细分错误?

因此,我需要在C中使用MPI并行实现矢量加法功能. 不幸的是,当我运行它时,它会打印出很多内存位置的痕迹,然后显示以下消息: ================================================================================== = BAD TERMINATION OF ONE OF YOUR APPLICATION PROC ..
发布时间:2020-05-12 20:07:07 其他开发

MPI-生产者和消费者

如何简单地制作生产者和消费者应用.生产者制造商品,将其发送给消费者,而消费者则等到他拥有该商品.他使用它,物品不见了,他向生产者发送创建新物品的请求.一遍又一遍. 我有一些MPI_send和MPI_recv组合的模式,但是它只能运行一次.生产者生产一件商品,消费者消耗一件商品,而应用程序则陷入僵局.我应该使用非阻塞接收和发送吗? int count=10; if(myrank==0){ ..
发布时间:2020-05-12 20:07:05 其他开发

如何在C代码上实现MPI过滤器?

我正在尝试实现以下过滤器代码的MPI,但我在执行该操作时遇到了困难.应该怎么做?: 过滤器代码: int A[100000][100000]; int B[100000][100000]; for (int i=1; i ..
发布时间:2020-05-12 20:07:02 其他开发

MPI约定用于行和列的索引

我正在使用MPI解决PDE.为此,我将2D域分解为不同的单元格(每个单元格的大小分别为xcell,ycell和xcell = size_x_domain/(number of X subdomains)和ycell = size_y_domain/(number of Y subdomains). 因此,我正在使用number of processes = (number of X subd ..
发布时间:2020-05-12 20:07:00 其他开发

MPI C-将2d阵列分段收集到一个全局阵列中

从所有其他进程接收到其所有组件后,我试图从我的主进程打印动态分配的2d数组.组件是指子数组或块. 我已将代码通用化为进程数.下图将帮助您查看块在完整阵列中的排列方式.每个块由一个进程处理.不过仅在这里,让我们假设我使用以下命令使用12个进程(本机具有8个内核)运行程序: mpiexec -n 12 ./gather2dArray 这是该图,专门针对12个流程场景: 乔纳森(J ..

MPI_BARRIER无法正常工作

为什么这里的障碍不起作用?如果使用它,该程序将被阻止,否则,我将以奇怪的顺序获得输出: Number of worker tasks = 4 sending 1-th element q=0.011000 to task 1 sending 2-th element q=0.012000 to task 2 received 1-th element q=0.011000 ..
发布时间:2020-05-12 20:06:55 其他开发

MPI笛卡尔拓扑:MPI_Neighbor_alltoall接收到所有错误数据

我有一个MPI笛卡尔拓扑,并且想通过MPI_Neighbor_alltoall将每个节点等级发送给它们的邻居.我不知道错误在哪里,并且我也实现了我自己的MPI_Neighbor_alltoall,该方法不起作用.我将代码最小化为(希望)易于理解的代码段. alltoall.c #include #include #include ..
发布时间:2020-05-12 20:06:52 其他开发

MPI流程同步

我仍然对使用MPI实施程序感到困惑.这是我的示例: import mpi.*; public class HelloWorld { static int me; static Object [] o = new Object[1]; public static void main(String args[]) throws Exception { ..
发布时间:2020-05-12 20:06:49 其他开发