Gecko - Hierarchical Distributed View of Heterogeneous Shared Memory Architectures.

PPoPP '19: 24th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming Washington DC USA February, 2019(2019)

引用 5|浏览53
暂无评分
摘要
The November 2018 TOP500 report shows that 86 systems in the list are heterogeneous systems configured with accelerators and co-processors, of which 60 use NVIDIA GPUs, 21 use Intel Xeon Phi cards, one uses AMD FirePro GPUs, one uses PEZY technology, and three systems use a combination of NVIDIA GPUs and Intel Xeon Phi co-processors. From a software standpoint, managing data locality on such heterogeneous systems is as important as exploiting parallelism in order to achieve the best performance. With the advent of novel memory technologies, such as non-volatile memory (NVM) and 3D-stacked memory, there is an urgent need for effective mechanisms within programming models to create an easy-to-use interface that addresses such memory hierarchies. It is also equally crucial for applications to evolve with data locality for the expression of information. In this paper, we propose Gecko, a novel programming model that addresses the underlying memory hierarchy topology within computing elements in current and future platforms. Gecko's directives distribute data and computation among devices of different types in a system. We develop a source-to-source transformation and a runtime library to efficiently manage devices of different types to run asynchronously. Although our current implementation of Gecko targets Intel Xeon CPUs and NVIDIA GPUs, it is not restricted to such architectures. We used SHOC and Rodinia benchmark suites to evaluate Gecko. Our experiments used a single node consisting of four NVIDIA Volta V100 GPUs. Results demonstrated scalability through the multi-GPU environment. We observed 3.3 times speedup when using multiple GPUs.
更多
查看译文
关键词
Hierarchy, Heterogeneous, Portable, Shared Memory, Programming Model, Abstraction
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要