{"title":"A New Algorithm to Exploit Superword Level Parallelism","authors":"Peng Liu, Rongcai Zhao, Wei Gao, Shuai Wei","doi":"10.1109/DASC.2013.118","DOIUrl":null,"url":null,"abstract":"Nowadays SIMD extensions became ubiquitous for computational platform, being widely used in signal processing, multimedia, and scientific applications. However, compilers still have difficult in vectorizing some applications, such as computations on non-contiguous and especially interleaved data, and loop nest for which inner loops that carry all the dependencies and external loops with strided memory accesses. In order to solve these problems, we adopt Isomorphic Statements Grouping (ISG) after extending group following UD and DU chains, which group isomorphic computation statements that perform the same operation. And correspondingly, we generate vector permutation instructions according to the target ISA SIMD instructions at the SIMD code generation phase. This approach has been implemented in a compiler based on Open64 which translate C source program to C source program with SIMD intrinsic functions. Experiments with this compiler show that ISG Super Level Parallelism(ISG-SLP) can be used to compile a number of real-world kernels, achieving up to 3.11 speedup.","PeriodicalId":179557,"journal":{"name":"2013 IEEE 11th International Conference on Dependable, Autonomic and Secure Computing","volume":"176 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-12-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2013 IEEE 11th International Conference on Dependable, Autonomic and Secure Computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/DASC.2013.118","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Nowadays SIMD extensions became ubiquitous for computational platform, being widely used in signal processing, multimedia, and scientific applications. However, compilers still have difficult in vectorizing some applications, such as computations on non-contiguous and especially interleaved data, and loop nest for which inner loops that carry all the dependencies and external loops with strided memory accesses. In order to solve these problems, we adopt Isomorphic Statements Grouping (ISG) after extending group following UD and DU chains, which group isomorphic computation statements that perform the same operation. And correspondingly, we generate vector permutation instructions according to the target ISA SIMD instructions at the SIMD code generation phase. This approach has been implemented in a compiler based on Open64 which translate C source program to C source program with SIMD intrinsic functions. Experiments with this compiler show that ISG Super Level Parallelism(ISG-SLP) can be used to compile a number of real-world kernels, achieving up to 3.11 speedup.