PETSc 向量化操作与相邻向量值

问题描述

我正在从 uFDTD book 实现有限差分算法。许多 FDM 方程涉及对相邻向量元素的运算。 例如,电场的更新方程

ez[m] = ez[m] + (hy[m] - hy[m-1]) * imp0

使用相邻的向量值 hy[m]hy[m-1]

如何在 PETSc 中有效地实施这些操作?除了局部向量循环和 scatterers 之外还有什么吗?

解决方法

如果我的目标是效率,我会称之为模板引擎。有很多很多很多的论文,有时甚至是开源代码,比如Devito。这个想法是 PETSc 管理数据结构和并行性。然后您可以将本地数据块提供给您最喜欢的模板计算机。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...