Makoto Sato, Takashi Hirooka, K. Wada, F. Yamamoto
{"title":"HPF原型编译器中的程序分区优化","authors":"Makoto Sato, Takashi Hirooka, K. Wada, F. Yamamoto","doi":"10.1109/CMPSAC.1996.542436","DOIUrl":null,"url":null,"abstract":"Two kinds of program partitioning optimizations are proposed. The first extends program partitioning using array subscript functions to deal with two cases about array elements on the left hand side of assignment statements in the loop: (a) the same loop control variables exist in different dimensions, (b) plural loop control variables exist in one dimension. The second removes statement guards generated in a loop by program partitioning in two cases about loop iteration ranges of statements in the loop: (c) ranges of plural statements for one processor are potentially different, (d) ranges of one statement for plural processors are potentially different. The first is proved to be efficient for the BEM program. The second is implemented in a simplified way in our HPF prototype compiler, and compiler output to Shallow Water program has as good performance as a hand optimized one.","PeriodicalId":306601,"journal":{"name":"Proceedings of 20th International Computer Software and Applications Conference: COMPSAC '96","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1996-08-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Program partitioning optimizations in an HPF prototype compiler\",\"authors\":\"Makoto Sato, Takashi Hirooka, K. Wada, F. Yamamoto\",\"doi\":\"10.1109/CMPSAC.1996.542436\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Two kinds of program partitioning optimizations are proposed. The first extends program partitioning using array subscript functions to deal with two cases about array elements on the left hand side of assignment statements in the loop: (a) the same loop control variables exist in different dimensions, (b) plural loop control variables exist in one dimension. The second removes statement guards generated in a loop by program partitioning in two cases about loop iteration ranges of statements in the loop: (c) ranges of plural statements for one processor are potentially different, (d) ranges of one statement for plural processors are potentially different. The first is proved to be efficient for the BEM program. The second is implemented in a simplified way in our HPF prototype compiler, and compiler output to Shallow Water program has as good performance as a hand optimized one.\",\"PeriodicalId\":306601,\"journal\":{\"name\":\"Proceedings of 20th International Computer Software and Applications Conference: COMPSAC '96\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1996-08-19\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of 20th International Computer Software and Applications Conference: COMPSAC '96\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/CMPSAC.1996.542436\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of 20th International Computer Software and Applications Conference: COMPSAC '96","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CMPSAC.1996.542436","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Program partitioning optimizations in an HPF prototype compiler
Two kinds of program partitioning optimizations are proposed. The first extends program partitioning using array subscript functions to deal with two cases about array elements on the left hand side of assignment statements in the loop: (a) the same loop control variables exist in different dimensions, (b) plural loop control variables exist in one dimension. The second removes statement guards generated in a loop by program partitioning in two cases about loop iteration ranges of statements in the loop: (c) ranges of plural statements for one processor are potentially different, (d) ranges of one statement for plural processors are potentially different. The first is proved to be efficient for the BEM program. The second is implemented in a simplified way in our HPF prototype compiler, and compiler output to Shallow Water program has as good performance as a hand optimized one.