c++ - MPI 内存分配

标签 c++ c parallel-processing mpi

使用 MPI 在 C/C++ 中编写代码时,如果在调用 MPI_Init 之前分配了内存,那么每个进程如何查看该内存?从测试程序中,我可以看到有时它是好的,而其他的则不是。标准对此有定义吗?我不知道内存分配是否在 MPI_Init 期间被复制到其他进程,或者我是否幸运,因为所有进程“当前”都在单个(多核)CPU 上。

最佳答案

是的。每个进程都在可执行加载时产生。如果在调用 MPI_Init 之前分配了任何内存,则每个进程都知道该数据。然而,在调用 MPI_Init 之前,进程并不知道自己或彼此。调用 MPI_Init 和 MPI_Comm_world 初始化 MPI 环境并返回 MPI_Comm,它允许您在进程之间建立连接。

关于c++ - MPI 内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8707592/

相关文章:

c++ - 如何使用预处理器定义向应用程序添加简单的调试

c - 沿路径的 OpenGL 管

c++ - Qt 多 webview 单插槽处理

c - MPI 超额认购

c++ - 在Rcpp中使用OptimLib时出现错误

c++ - 区分函数参数中的数组和指针 - C++

c# - async-await 是让我的程序中的两个独立任务并行运行的必要条件吗?

python - 在多个进程之间共享一个结果队列

c++ - 帮助我理解这个 URL 解码器 :

C 用户输入的数组大小