The impending termination of Moore's law motivates the search for new forms of computing to continue the performance scaling we have grown accustomed to. Among the many emerging Post-Moore computing candidates, perhaps none is as salient as the Field-Programmable Gate Array (FPGA), which offers the means of specializing and customizing the hardware to the computation at hand. In this work, we design a custom FPGA-based accelerator for a computational fluid dynamics (CFD) code. Unlike prior work -- which often focuses on accelerating small kernels -- we target the entire unstructured Poisson solver based on the high-fidelity spectral element method (SEM) used in modern state-of-the-art CFD systems. We model our accelerator using an analytical performance model based on the I/O cost of the algorithm. We empirically evaluate our accelerator on a state-of-the-art Intel Stratix 10 FPGA in terms of performance and power consumption and contrast it against existing solutions on general-purpose processors (CPUs). Finally, we propose a novel data movement-reducing technique where we compute geometric factors on the fly, which yields significant (700+ GFlop/s) single-precision performance and an upwards of 2x reduction in runtime for the local evaluation of the Laplace operator. We end the paper by discussing the challenges and opportunities of using reconfigurable architecture in the future, particularly in the light of emerging (not yet available) technologies.
翻译:摩尔法律即将终止,这促使人们寻找新的计算形式,以继续我们逐渐习惯的绩效缩放。在很多新兴的摩尔后计算候选人中,也许没有像外地可编程门阵列(FPGA)那样突出的了。FPGA提供了专门和定制硬件的方法,用于计算手头的硬件。在这项工作中,我们设计了一个基于FPGA的定制自动加速器,用于计算流体动态(CFD)代码。与以前的工作不同,以前的工作往往侧重于加快小型内核,我们以基于现代最新水平的CFD系统中所使用的高密度光谱元素方法(SEM)为整个非结构化的Poisson解决方案。我们用一个分析性能模型,根据I/O的算法成本,我们用一个分析性能模型来模拟我们的加速器,我们用一个最先进的Strafix Stratix 10 FPGA(SDGA) 与现有的一般用途处理器(CPU) 相比,我们把现有的非结构的Poisson解决器(Special) 。最后,我们用一个新的GPLial imal imal imal imal imal ex ex ex ex ex ex ex ex ex ex (我们用一个新的数据动作技术,我们用一个高的Slipal dal labisal ex labisal labisal ex labisal ex ex ex ex ex ex labisaltical laut ex ex ex ex ex ex ex ex ex ex ex laut) ex ex (我们用一个重要的 ex ex ex labal labal ex ex ex) ex ex ex) ex ex ex ex labal ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex ex (我们