当前位置:
X-MOL 学术
›
arXiv.cs.DC
›
论文详情
Our official English website, www.x-mol.net, welcomes your
feedback! (Note: you will need to create a separate account there.)
Ginkgo -- A Math Library designed for Platform Portability
arXiv - CS - Distributed, Parallel, and Cluster Computing Pub Date : 2020-11-17 , DOI: arxiv-2011.08879 Terry Cojean, Yu-Hsiang "Mike" Tsai, Hartwig Anzt
arXiv - CS - Distributed, Parallel, and Cluster Computing Pub Date : 2020-11-17 , DOI: arxiv-2011.08879 Terry Cojean, Yu-Hsiang "Mike" Tsai, Hartwig Anzt
The first associations to software sustainability might be the existence of a
continuous integration (CI) framework; the existence of a testing framework
composed of unit tests, integration tests, and end-to-end tests; and also the
existence of software documentation. However, when asking what is a common
deathblow for a scientific software product, it is often the lack of platform
and performance portability. Against this background, we designed the Ginkgo
library with the primary focus on platform portability and the ability to not
only port to new hardware architectures, but also achieve good performance. In
this paper we present the Ginkgo library design, radically separating
algorithms from hardware-specific kernels forming the distinct hardware
executors, and report our experience when adding execution backends for NVIDIA,
AMD, and Intel GPUs. We also comment on the different levels of performance
portability, and the performance we achieved on the distinct hardware backends.
中文翻译:
Ginkgo -- 为平台可移植性而设计的数学库
与软件可持续性的第一个关联可能是持续集成 (CI) 框架的存在;存在由单元测试、集成测试和端到端测试组成的测试框架;以及软件文档的存在。然而,当问到什么是科学软件产品的常见致命问题时,往往是缺乏平台和性能可移植性。在此背景下,我们设计了 Ginkgo 库,主要关注平台的可移植性,不仅能够移植到新的硬件架构,还能实现良好的性能。在本文中,我们介绍了 Ginkgo 库设计,从根本上将算法与特定于硬件的内核分开,形成不同的硬件执行器,并报告我们在为 NVIDIA、AMD、和英特尔 GPU。我们还评论了不同级别的性能可移植性,以及我们在不同硬件后端上实现的性能。
更新日期:2020-11-19
中文翻译:
Ginkgo -- 为平台可移植性而设计的数学库
与软件可持续性的第一个关联可能是持续集成 (CI) 框架的存在;存在由单元测试、集成测试和端到端测试组成的测试框架;以及软件文档的存在。然而,当问到什么是科学软件产品的常见致命问题时,往往是缺乏平台和性能可移植性。在此背景下,我们设计了 Ginkgo 库,主要关注平台的可移植性,不仅能够移植到新的硬件架构,还能实现良好的性能。在本文中,我们介绍了 Ginkgo 库设计,从根本上将算法与特定于硬件的内核分开,形成不同的硬件执行器,并报告我们在为 NVIDIA、AMD、和英特尔 GPU。我们还评论了不同级别的性能可移植性,以及我们在不同硬件后端上实现的性能。