{"title":"Gecko","authors":"Millad Ghane, S. Chandrasekaran, M. Cheung","doi":"10.1145/3303084.3309489","DOIUrl":"https://doi.org/10.1145/3303084.3309489","url":null,"abstract":"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.","PeriodicalId":177974,"journal":{"name":"Proceedings of the 10th International Workshop on Programming Models and Applications for Multicores and Manycores - PMAM'19","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115572965","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}