{"title":"软件流水线:对增强流水线的评价","authors":"Reese B. Jones, V. Allan","doi":"10.1145/123465.123481","DOIUrl":null,"url":null,"abstract":"Software Pipelining is a fine-grain loop optimization technique for architectures that support synchronous parallel execution. We compare Lam’s software pipelining algorithm with Ebcio~lu and Nakatani’s technique. This research seems to indicate the Enhanced Pipeline Scheduling algorithm is a good general purpose software pipelining algorithm, due to the fact that it performs only slightly worse than Lam’s algorithm on single basic block loops and should perform better than Lam’s algorithm on multiple basic block loops. However, if pipelining single basic block loops is the goal, it appears that it would be better to use Lam’s algorithm. We s3so propose a technique for changing the resource constrained scheduling priority of operations to prevent operations from future iterations from being significantly delayed due to resource confllcts.","PeriodicalId":118572,"journal":{"name":"MICRO 24","volume":"47 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1991-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"25","resultStr":"{\"title\":\"Software pipelining: an evaluation of enhanced pipelining\",\"authors\":\"Reese B. Jones, V. Allan\",\"doi\":\"10.1145/123465.123481\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Software Pipelining is a fine-grain loop optimization technique for architectures that support synchronous parallel execution. We compare Lam’s software pipelining algorithm with Ebcio~lu and Nakatani’s technique. This research seems to indicate the Enhanced Pipeline Scheduling algorithm is a good general purpose software pipelining algorithm, due to the fact that it performs only slightly worse than Lam’s algorithm on single basic block loops and should perform better than Lam’s algorithm on multiple basic block loops. However, if pipelining single basic block loops is the goal, it appears that it would be better to use Lam’s algorithm. We s3so propose a technique for changing the resource constrained scheduling priority of operations to prevent operations from future iterations from being significantly delayed due to resource confllcts.\",\"PeriodicalId\":118572,\"journal\":{\"name\":\"MICRO 24\",\"volume\":\"47 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1991-09-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"25\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"MICRO 24\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/123465.123481\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"MICRO 24","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/123465.123481","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Software pipelining: an evaluation of enhanced pipelining
Software Pipelining is a fine-grain loop optimization technique for architectures that support synchronous parallel execution. We compare Lam’s software pipelining algorithm with Ebcio~lu and Nakatani’s technique. This research seems to indicate the Enhanced Pipeline Scheduling algorithm is a good general purpose software pipelining algorithm, due to the fact that it performs only slightly worse than Lam’s algorithm on single basic block loops and should perform better than Lam’s algorithm on multiple basic block loops. However, if pipelining single basic block loops is the goal, it appears that it would be better to use Lam’s algorithm. We s3so propose a technique for changing the resource constrained scheduling priority of operations to prevent operations from future iterations from being significantly delayed due to resource confllcts.