Show simple item record

dc.contributor.advisorTao B. Schardl and Helen Xu.en_US
dc.contributor.authorRen, Stephanie,M. Eng.Massachusetts Institute of Technology.en_US
dc.contributor.otherMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science.en_US
dc.date.accessioned2019-12-05T18:06:19Z
dc.date.available2019-12-05T18:06:19Z
dc.date.copyright2019en_US
dc.date.issued2019en_US
dc.identifier.urihttps://hdl.handle.net/1721.1/123152
dc.descriptionThis electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections.en_US
dc.descriptionThesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2019en_US
dc.descriptionCataloged from student-submitted PDF version of thesis.en_US
dc.descriptionIncludes bibliographical references (pages 71-76).en_US
dc.description.abstractThis thesis presents work on how cache-efficient serial and parallel stencil computations can be optimized to efficiently use vector instructions on modern general-purpose processors. A stencil computation iteratively updates each point of a d-dimensional grid based on a function of itself and its nearby neighbors. Stencil computations have a wide range of applications from simulation to machine learning, and are often time-intensive. Although a stencil can be computed by repeatedly looping over its d- dimensional grid, previous studies have shown that various parallel and cache-efficient algorithms, including recursive cache-oblivious algorithms, can compute stencils more efficiently. However, these recursive cache-oblivious algorithms can disrupt vectorization and increase the number of instructions required for the computation. Vector-aware space cuts can be used to preserve vectorization in serial and parallel cache-oblivious algorithms for stencil computations, thereby improving their performance. I present improved theoretical analyses of the commonly used and efficient parallel cache-oblivious stencil algorithm due to Frigo and Strumpen to account for vector operations, and we show that vector-aware space cuts improve the asymptotic work -- total computation -- of the algorithm by a factor of the maximum vector width. I present an improved analysis of the algorithm's span -- length of a longest path of dependencies in the computation -- to be O(rhw1 / lg(2(r??1))), where r is the number of trapezoids created in a parallel cut. I show that these theoretical improvements are borne out in practice by demonstrating up to a 1:61 X speed-up in the serial stencil computation and a 1:08 X speed-up in the parallel computation.en_US
dc.description.statementofresponsibilityby Stephanie Ren.en_US
dc.format.extent76 pagesen_US
dc.language.isoengen_US
dc.publisherMassachusetts Institute of Technologyen_US
dc.rightsMIT theses are protected by copyright. They may be viewed, downloaded, or printed from this source but further reproduction or distribution in any format is prohibited without written permission.en_US
dc.rights.urihttp://dspace.mit.edu/handle/1721.1/7582en_US
dc.subjectElectrical Engineering and Computer Science.en_US
dc.titleVector-aware space cuts in stencil computationsen_US
dc.typeThesisen_US
dc.description.degreeM. Eng.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.identifier.oclc1128868615en_US
dc.description.collectionM.Eng. Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Scienceen_US
dspace.imported2019-12-05T18:06:18Zen_US
mit.thesis.degreeMasteren_US
mit.thesis.departmentEECSen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record