arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2303.02543cs.DC
收藏

异构分布式平台上的性能可移植性支持

Runtime Support for Performance Portability on Heterogeneous Distributed Platforms

Polykarpos Thomadakis, Nikos Chrisochoides

摘要:

硬件异构性是高性能计算的基础。大规模系统目前每个计算节点都配备了多个GPU加速器,预计将整合更多专业硬件。计算生态系统的这种转变为性能改进提供了许多机会;然而,它也增加了此类架构的编程复杂性。这项工作介绍了一个运行时框架,使异构系统轻松编程,同时有效地利用硬件资源。该框架集成在一个分布式的和可扩展的运行时系统,以促进跨异构节点的性能可移植性。随着设计,本文描述了实施和优化执行,实现了高达300%的改进,在一个单一的设备和线性可扩展性的节点上配备了四个GPU。分布式存储器环境中的框架提供了可移植的抽象,使得具有不同能力的设备之间能够进行有效的节点间通信。与MPI+CUDA相比,它在大消息方面提供了高达20%的卓越性能,同时将小消息的开销保持在10%以内。此外,我们的性能评估在分布式Jacobi代理应用程序的结果表明,我们的软件施加最小的开销,并实现了高达40%的性能提高。这是通过库级别的优化以及通过创造机会来利用特定于应用程序的优化(如过度分解)来实现的。

英文摘要:

Hardware heterogeneity is here to stay for high-performance computing. Large-scale systems are currently equipped with multiple GPU accelerators per compute node and are expected to incorporate more specialized hardware. This shift in the computing ecosystem offers many opportunities for performance improvement; however, it also increases the complexity of programming for such architectures. This work introduces a runtime framework that enables effortless programming for heterogeneous systems while efficiently utilizing hardware resources. The framework is integrated within a distributed and scalable runtime system to facilitate performance portability across heterogeneous nodes. Along with the design, this paper describes the implementation and optimizations performed, achieving up to 300% improvement on a single device and linear scalability on a node equipped with four GPUs. The framework in a distributed memory environment offers portable abstractions that enable efficient inter-node communication among devices with varying capabilities. It delivers superior performance compared to MPI+CUDA by up to 20% for large messages while keeping the overheads for small messages within 10\%. Furthermore, the results of our performance evaluation in a distributed Jacobi proxy application demonstrate that our software imposes minimal overhead and achieves a performance improvement of up to 40%. This is accomplished by the optimizations at the library level as well as by creating opportunities to leverage application-specific optimizations like over-decomposition.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑