Stencil computations are widely used to simulate the change of state of physical systems across a multidimensional grid over multiple timesteps. The state-of-the-art techniques in this area fall into three groups: cache-aware tiled looping algorithms, cache-oblivious divide-and-conquer trapezoidal algorithms, and Krylov subspace methods. In this paper, we present two efficient parallel algorithms for performing linear stencil computations. Current direct solvers in this domain are computationally inefficient, and Krylov methods require manual labor and mathematical training. We solve these problems for linear stencils by using DFT preconditioning on a Krylov method to achieve a direct solver which is both fast and general. Indeed, while all currently available algorithms for solving general linear stencils perform $\Theta(NT)$ work, where $N$ is the size of the spatial grid and $T$ is the number of timesteps, our algorithms perform $o(NT)$ work. To the best of our knowledge, we give the first algorithms that use fast Fourier transforms to compute final grid data by evolving the initial data for many timesteps at once. Our algorithms handle both periodic and aperiodic boundary conditions, and achieve polynomially better performance bounds (i.e., computational complexity and parallel runtime) than all other existing solutions. Initial experimental results show that implementations of our algorithms that evolve grids of roughly $10^7$ cells for around $10^5$ timesteps run orders of magnitude faster than state-of-the-art implementations for periodic stencil problems, and 1.3$\times$ to 8.5$\times$ faster for aperiodic stencil problems.


翻译:Stencils 计算被广泛用于模拟多维电网多个时间步中物理系统状态的变化。 这个区域中最先进的技术分为三类: 缓冲- 敏化滚动算法、 缓冲- 隐蔽- 隐蔽- 分解- 解剖- 解剖陷阱算法和 Krylov 子空间方法。 在本文中, 我们为进行线性电流计算提供了两种高效的平行算法。 目前, 这个领域的直接解算器在计算上效率不高, Krylov 单元格的方法需要人工劳动和数学培训。 我们通过在 Krylov 方法上使用 DFT 设定快速和一般的直线性循环算法, 从而解决线性系统状况问题。 事实上, 目前所有用于解决一般线性电流电网的算法都是 $@ta( NT) 工作, 其中$是空间电网的大小, $T$是时间步数, 我们的计算方法需要人工- 美元。 根据我们的知识, 我们第一次在直线线型电路速度5 快速递算法上, 快速的递变换数据系统运行运行一个运行运行运行运行运行运行运行运行运行的运行运行运行运行一个周期的轨道。

0
下载
关闭预览

相关内容

面向健康的大数据与人工智能,103页ppt
专知会员服务
108+阅读 · 2020年12月29日
【干货书】机器学习速查手册,135页pdf
专知会员服务
125+阅读 · 2020年11月20日
专知会员服务
86+阅读 · 2020年8月2日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
58+阅读 · 2019年10月17日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
2018机器学习开源资源盘点
专知
6+阅读 · 2019年2月2日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
人工智能 | 国际会议信息10条
Call4Papers
5+阅读 · 2018年12月18日
Facebook PyText 在 Github 上开源了
AINLP
7+阅读 · 2018年12月14日
【NIPS2018】接收论文列表
专知
5+阅读 · 2018年9月10日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
【论文】变分推断(Variational inference)的总结
机器学习研究会
39+阅读 · 2017年11月16日
【推荐】TensorFlow手把手CNN实践指南
机器学习研究会
5+阅读 · 2017年8月17日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
VIP会员
相关VIP内容
面向健康的大数据与人工智能,103页ppt
专知会员服务
108+阅读 · 2020年12月29日
【干货书】机器学习速查手册,135页pdf
专知会员服务
125+阅读 · 2020年11月20日
专知会员服务
86+阅读 · 2020年8月2日
Stabilizing Transformers for Reinforcement Learning
专知会员服务
58+阅读 · 2019年10月17日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
相关资讯
Transferring Knowledge across Learning Processes
CreateAMind
27+阅读 · 2019年5月18日
2018机器学习开源资源盘点
专知
6+阅读 · 2019年2月2日
强化学习的Unsupervised Meta-Learning
CreateAMind
17+阅读 · 2019年1月7日
人工智能 | 国际会议信息10条
Call4Papers
5+阅读 · 2018年12月18日
Facebook PyText 在 Github 上开源了
AINLP
7+阅读 · 2018年12月14日
【NIPS2018】接收论文列表
专知
5+阅读 · 2018年9月10日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
【论文】变分推断(Variational inference)的总结
机器学习研究会
39+阅读 · 2017年11月16日
【推荐】TensorFlow手把手CNN实践指南
机器学习研究会
5+阅读 · 2017年8月17日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员