Show simple item record

dc.creatorKelley, Brian M
dc.date.accessioned2019-06-10T16:17:56Z
dc.date.available2019-06-10T16:17:56Z
dc.date.created2019-05
dc.date.submittedMay 2019
dc.identifier.urihttps://hdl.handle.net/1969.1/175461
dc.description.abstractPrograms that use the STAPL C++ parallel programming library express their control and data flow explicitly through the use of skeletons. Skeletons can be simple parallel operations like map and reduce, or the result of composing several skeletons. Composition is implemented by tracking the dependencies among individual data elements in the STAPL runtime system. However, the operations and dependencies within a compose skeleton can be determined at compile time from the C++ abstract syntax tree. This enables the use of source-to-source transformations to fuse the composed skeletons. Transformations can also be used to replace skeletons entirely with equivalent code. Both transformations greatly reduce STAPL runtime overhead, and zip fusion also allows a compiler to optimize the work functions as a single unit. We present a Clang compiler plugin and wrapper that automatically perform these transformations, and demonstrate its ability to improve performance.en
dc.format.mimetypeapplication/pdf
dc.subjectsource-to-source transformationen
dc.subjectalgorithmic skeletonsen
dc.titleSource-to-Source Transformations for Parallel Optimizations in STAPLen
dc.typeThesisen
thesis.degree.departmentComputer Science & Engineeringen
thesis.degree.disciplineComputer Scienceen
thesis.degree.grantorUndergraduate Research Scholars Programen
thesis.degree.nameBSen
thesis.degree.levelUndergraduateen
dc.contributor.committeeMemberRauchwerger, Lawrence
dc.type.materialtexten
dc.date.updated2019-06-10T16:17:56Z


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record