如何解决PETSc 向量化操作与相邻向量值
我正在从 uFDTD book 实现有限差分算法。许多 FDM 方程涉及对相邻向量元素的运算。 例如,电场的更新方程
ez[m] = ez[m] + (hy[m] - hy[m-1]) * imp0
使用相邻的向量值 hy[m]
和 hy[m-1]
。
如何在 PETSc 中有效地实施这些操作?除了局部向量循环和 scatterers 之外还有什么吗?
解决方法
如果我的目标是效率,我会称之为模板引擎。有很多很多很多的论文,有时甚至是开源代码,比如Devito。这个想法是 PETSc 管理数据结构和并行性。然后您可以将本地数据块提供给您最喜欢的模板计算机。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。