首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MPI时的数组内存分配

问使用MPI时的数组内存分配
EN

Stack Overflow用户
提问于 2011-03-22 22:32:59
回答 2查看 891关注 0票数 5

我使用的是C和MPI。如果程序在同一台机器上的多个处理器上运行,那么如何为数组分配内存?该数组是在所有参与任务之间共享,还是每个任务都有自己的副本?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-22 22:40:55

每个等级都有自己的数据副本。它们通常在单独的进程中运行,因此不共享虚拟地址空间。

像Adaptive MPI和Phoenix这样的实现在一个公共进程中为线程设置了多个等级,但它们采取步骤隔离每个等级,以便认为它是作为一个单独的进程运行的。

票数 6
EN

Stack Overflow用户

发布于 2011-03-22 22:45:37

MPI是一种分布式内存框架。它只有有限的共享内存处理概念。如果共享内存对程序的性能很重要,那么我建议您研究一下OpenMP;两者可以在同一个应用程序中结合使用。(即,理想情况下,每个节点将运行一个基于OpenMP的进程,该进程将通过MPI与其他实例通信。)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5392883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档