使用 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/