Show simple item record

dc.contributor.advisorGregg, David
dc.contributor.authorXu, Shixiong
dc.date.accessioned2017-08-29T09:43:27Z
dc.date.available2017-08-29T09:43:27Z
dc.date.issued2017en
dc.date.submitted2017
dc.identifier.citationXU, SHIXIONG, Data layout oriented compilation techniques in vectorization for multi-/many-cores, Trinity College Dublin.School of Computer Science & Statistics.COMPUTER SYSTEMS, 2017en
dc.identifier.otherYen
dc.descriptionAPPROVEDen
dc.description.abstractSingle instruction, multiple data (SIMD) architectures are widely adopted in both general-purpose processors and graphic processing units for exploiting data-level parallelism. It is tedious and error-prone for programmers to write high performance code to utilize SIMD execution units on both platforms. Therefore, users often rely on automatic code generation techniques in compilers. However, it is not trivial for compilers to generate high performance code without considering the data layout of the data used in the computation. Data layout determines data access patterns, and in turn have a great impact on the memory performance of the automatically generated code for both CPUs and GPUs. In this thesis, we demonstrate several data layout oriented compilation techniques for efficient vectorization. We put forward semi-automatic data layout transformation to help users to easily change their program, and exploit the best possible data layout in terms of vectorization. Our proposed vectorization based on hyper loop parallelism provides a way to take advantage the relationship between data layout and computation structure. The experimental results demonstrated that this vectorization technique can yield significant performance gain. In addition, we show that this technique is of great use to boost the memory performance on CUDA GPUs. We also present pioneering work that uses loop vectorization techniques to handle nested thread-level parallelism (TLP) on CUDA GPUs. As loop vectorization prioritizes vectorizing loops with contiguous data accesses, it is of great help to achieve an efficient mapping strategy for nested TLP on CUDA GPUs. Our new bitslice vector computing for customizable arithmetic precision on general-purpose processors with SIMD extensions not only breaks the limit of hardware arithmetic precision but also achieves great performance. It also shows the great power of logic optimization widely used in hardware synthesis in optimizing C/C++ code with a large amount of logic operations.en
dc.language.isoenen
dc.publisherTrinity College Dublin. School of Computer Science & Statistics. Discipline of Computer Scienceen
dc.rightsYen
dc.subjectcompileren
dc.subjectdata layouten
dc.subjectvectorizationen
dc.subjectbitsliceen
dc.subjectsource-to-source transformationen
dc.subjectsingle instruction multiple data (SIMD)en
dc.titleData layout oriented compilation techniques in vectorization for multi-/many-coresen
dc.typeThesisen
dc.type.supercollectionthesis_dissertationsen
dc.type.supercollectionrefereed_publicationsen
dc.type.qualificationlevelPostgraduate Doctoren
dc.identifier.peoplefinderurlhttp://people.tcd.ie/xushen
dc.identifier.rssinternalid176597en
dc.rights.ecaccessrightsopenAccess
dc.contributor.sponsorScience Foundation Ireland grant 10/CE/I1855 to Lero - the Irish Software Engineering Research Centre (www.lero.ie).en
dc.identifier.urihttp://hdl.handle.net/2262/81727


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record