Affiliation:
1. Bits Pilani K. K. Birla Goa Campus Zuarinagar, Sancoale, Goa India
Abstract
Every other personal computer today is provided with a coprocessor making it a heterogeneous computing environment. As the heterogeneous and high-performance computing (HPC) infrastructure becomes a commodity, the need to improve software development productivity to build efficient parallel programs for this infrastructure becomes all the more crucial. While the mainstream software development methodology focuses on modular design, reusability, ease of understanding and so on, parallel program development emphasizes on performance, optimal use of a hardware resource, scalability, execution correctness, and portability across multiple hardware platforms. In this paper, we identify a few unique software development productivity requirements for heterogeneous systems. These requirements are concerned with design abstraction, reusability, and design verification. While these requirements are applicable for a conventional software as well, their implications are far reaching in the context of parallel programs. Here we discuss significant e orts in building tools and frameworks to i) provide powerful abstraction over the hardware, ii) build software libraries for parallel hardware access and iii) implement verification mechanisms to check the correctness of a program behavior in a heterogeneous runtime environment. We also identify several important gaps in the existing work that needs to be addressed in order to make the current body of work useful in practice.
Publisher
Association for Computing Machinery (ACM)
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Heterogeneous Computing and Applications in Deep Learning: A Survey;2022 5th International Conference on Computer Science and Software Engineering (CSSE 2022);2022-10-21