Show simple item record

dc.contributor.advisorEdelman, Alan
dc.contributor.authorJulian, Meredith
dc.date.accessioned2022-01-14T14:56:27Z
dc.date.available2022-01-14T14:56:27Z
dc.date.issued2021-06
dc.date.submitted2021-06-17T20:13:25.837Z
dc.identifier.urihttps://hdl.handle.net/1721.1/139203
dc.description.abstractCentral processing unit (CPU) code performance is highly dependent on instruction and data parallelism. Instruction parallelism is largely focused on CPU cores and threading, while data parallelism relies on specialized vectors. Single-instruction, multiple-data (SIMD) vectors allow for a single instruction to be executed on multiple data elements in parallel, and is very fine-grained compared to instruction parallelism. This project focuses on data parallelism. One way to increase performance on CPU is to rearrange code to allow for more vectorization, such as considering striding of array accesses. The polyhedral model of computation describes a series of operations and abstractions for manipulating code without violating dependencies or correctness, but is more aggressive than typical compiler optimizations. This paper describes the process of applying the polyhedral model to the Julia language with the acceleration of code via increased vectorization and memory locality in mind. It succeeds as a tool for both experienced developers and those new to Julia and allows for more simple analysis and generation of algorithms for new and existing code.
dc.publisherMassachusetts Institute of Technology
dc.rightsIn Copyright - Educational Use Permitted
dc.rightsCopyright MIT
dc.rights.urihttp://rightsstatements.org/page/InC-EDU/1.0/
dc.titlePolyhedral Code Transformation for Julia
dc.typeThesis
dc.description.degreeM.Eng.
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
mit.thesis.degreeMaster
thesis.degree.nameMaster of Engineering in Electrical Engineering and Computer Science


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record