{"title":"基于Omni编译器基础结构的现有HPC语言元编程框架","authors":"H. Murai, M. Sato, M. Nakao, Jinpil Lee","doi":"10.1109/CANDARW.2018.00054","DOIUrl":null,"url":null,"abstract":"Recently, low productivity owing to more and more complicated programs has become a serious problem in the field of High Performance Computing (HPC). Omni is a compiler infrastructure based on source-to-source translation for Fortran and C. It was developed by RIKEN and the University of Tsukuba. We are developing a metaprogramming framework for existing HPC languages including Fortran based on Omni with a goal of higher productivity of HPC programs. In this paper, we show the design and prototype implementation of this framework, which is based on directives and abstract syntax trees, and evaluate its feasibility and effectiveness. Through case studies of loop unrolling and the data-layout optimization of derived types, it is verified that various kinds of code transformations can be specified with this framework to improve program productivity.","PeriodicalId":329439,"journal":{"name":"2018 Sixth International Symposium on Computing and Networking Workshops (CANDARW)","volume":"89 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":"{\"title\":\"Metaprogramming Framework for Existing HPC Languages Based on the Omni Compiler Infrastructure\",\"authors\":\"H. Murai, M. Sato, M. Nakao, Jinpil Lee\",\"doi\":\"10.1109/CANDARW.2018.00054\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Recently, low productivity owing to more and more complicated programs has become a serious problem in the field of High Performance Computing (HPC). Omni is a compiler infrastructure based on source-to-source translation for Fortran and C. It was developed by RIKEN and the University of Tsukuba. We are developing a metaprogramming framework for existing HPC languages including Fortran based on Omni with a goal of higher productivity of HPC programs. In this paper, we show the design and prototype implementation of this framework, which is based on directives and abstract syntax trees, and evaluate its feasibility and effectiveness. Through case studies of loop unrolling and the data-layout optimization of derived types, it is verified that various kinds of code transformations can be specified with this framework to improve program productivity.\",\"PeriodicalId\":329439,\"journal\":{\"name\":\"2018 Sixth International Symposium on Computing and Networking Workshops (CANDARW)\",\"volume\":\"89 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2018-11-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"4\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2018 Sixth International Symposium on Computing and Networking Workshops (CANDARW)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CANDARW.2018.00054\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 Sixth International Symposium on Computing and Networking Workshops (CANDARW)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CANDARW.2018.00054","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Metaprogramming Framework for Existing HPC Languages Based on the Omni Compiler Infrastructure
Recently, low productivity owing to more and more complicated programs has become a serious problem in the field of High Performance Computing (HPC). Omni is a compiler infrastructure based on source-to-source translation for Fortran and C. It was developed by RIKEN and the University of Tsukuba. We are developing a metaprogramming framework for existing HPC languages including Fortran based on Omni with a goal of higher productivity of HPC programs. In this paper, we show the design and prototype implementation of this framework, which is based on directives and abstract syntax trees, and evaluate its feasibility and effectiveness. Through case studies of loop unrolling and the data-layout optimization of derived types, it is verified that various kinds of code transformations can be specified with this framework to improve program productivity.