Makoto Sato, Takashi Hirooka, K. Wada, F. Yamamoto
{"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}
引用次数: 0
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.