fortran - MPI 以正确的方式分散 3D 阵列是否需要转置?
问题描述
我有一个关于使用 MPI 散射函数散射数据的问题。
我想以精确的方式分散数据,但我不知道 MPI 分散是否有可能,或者我是否必须转换数据然后分散。
例如我有数组大小 (x,y,z) 4,8,2 (所以有两个二维数组)。现在我想将它分散到 4 个进程中,每个大小将是 4、2、2。
数据以以下方式分散:
但是,我需要以这种方式分散数据:
该程序是用 Fortran 编写的。
我的程序中的 scatter 函数如下所示:
CALL MPI_Scatter(TRANSPONSE_LOCAL_YZ(:,:,:), x_proc*y*z_proc, MPI_INT, TRANSPONSE_YZ(:,s:f,:), x_proc*y*z_proc, MPI_INT, 0, MPI_COMM_WORLD, MPI_STATUS, MPI_err)
解决方案
推荐阅读
- python - 无法使用 Selenium/有线文本弹出在 LinkedIn 上上传图片(data-artdeco-is-focused="true")
- core-data - CoreData 谓词 - 未找到密钥路径
- android - 如果不存在则插入:SQLite
- python-3.x - Google oauth 授权错误。'错误 400:redirect_uri_mismatch'
- android - 无法在 Android Studio 中调试 Flutter 模块
- python-3.x - 如果 Pandas 中的值为 NaN,如何动态更改班次周期?
- android - 将 Android Studio 更新到 ArticFox 后运行单元测试时出现 NoClassDefFoundError | 2020.3.1
- flutter - 在 PageView.builder 上使用 RadioListTile 问题
- python - SQLAlchemy 如何从“别名”表中加入表
- python - 保存到镶木地板文件时如何解决错误?