We present a design space exploration for synthesizing optimized, high-throughput implementations of multiple multi-dimensional tridiagonal system solvers on FPGAs. Re-evaluating the characteristics of algorithms for the direct solution of tridiagonal systems, we develop a new tridiagonal solver library aimed at implementing high-performance computing applications on Xilinx FPGA hardware. Key new features of the library are (1) the unification of standard state-of-the-art techniques for implementing implicit numerical solvers with a number of novel high-gain optimizations such as vectorization and batching, motivated by multi-dimensional systems in real-world applications, (2) data-flow techniques that provide application specific optimizations for both 2D and 3D problems, including integration of explicit loops commonplace in real workloads, and (3) the development of an analytic model to explore the design space, and obtain rapid performance estimates. The new library provide an order of magnitude better performance for solving large batches of systems compared to Xilinx's current tridiagonal solver library. Two representative applications are implemented using the new solver on a Xilinx Alveo U280 FPGA, demonstrating over 85% predictive model accuracy. These are compared with a current state-of-the-art GPU library for solving multi-dimensional tridiagonal systems on an Nvidia V100 GPU, analyzing time to solution, bandwidth, and energy consumption. Results show the FPGAs achieving competitive or better runtime performance for a range of multi-dimensional problems compared to the V100 GPU. Additionally, the significant energy savings offered by FPGA implementations, over 30% for the most complex application, are quantified. We discuss the algorithmic trade-offs required to obtain good performance on FPGAs, giving insights into the feasibility and profitability of FPGA implementations.
翻译:我们展示了一个设计空间探索, 用于在 FPGAs 上合成优化、 高通量的多维三维系统解决方案。 重新评价三对角系统直接解决方案的算法特性, 我们开发一个新的三对角求解库, 目的是在 Xilinx FPGA 硬件上应用高性能计算应用程序。 图书馆的主要新特征是:(1) 统一用于实施隐性数字解析器的标准最新先进技术, 以及一些新的高额解析优化, 例如由现实世界应用的多维系统驱动的矢量化和分批化。 (2) 数据流技术, 提供对二维和三维系统直接解决方案的具体应用优化, 包括将清晰的环流公用共享到实际工作量中, (3) 开发一个分析模型, 以探索设计空间, 并获得快速性评估。 新的图书馆提供了与Xilinx当前三维平流解运算库相比, 两种具有代表性的应用程序, 使用新的解算法化器在新的解算系统上显示高额的准确性能。