Show simple item record

dc.contributor.advisorVan de Geijn, Robert A.en
dc.contributor.advisorBatory, Don S., 1953-en
dc.creatorMarker, Bryan Andrewen 2014en
dc.description.abstractExpert design knowledge is essential to develop a library of high-performance software. This includes how to implement and parallelize domain operations, how to optimize implementations, and estimates of which implementation choices are best. An expert repeatedly applies his knowledge, often in a rote and tedious way, to develop all of the related functionality expected from a domain-specific library. Expert knowledge is hard to gain and is easily lost over time when an expert forgets or when a new engineer starts developing code. The domain of dense linear algebra (DLA) is a prime example with software that is so well designed that much of experts' important work has become tediously rote in many ways. In this dissertation, we demonstrate how one can encode design knowledge for DLA so it can be automatically applied to generate code as an expert would or to generate better code. Further, the knowledge is encoded for perpetuity, so it can be reused to make implementing functionality on new hardware easier or it can be used to teach how software is designed to a non-expert. We call this approach to software engineering (encoding expert knowledge and automatically applying it) Design by Transformation (DxT). We present our vision, the methodology, a prototype code generation system, and possibilities when applying DxT to the domain of dense linear algebra.en
dc.subjectAutomatic program generationen
dc.subjectSoftware engineeringen
dc.subjectCode transformationen
dc.subjectHigh-performance computingen
dc.subjectDistributed-memory computingen
dc.subjectShared-memory computingen
dc.subjectDense linear algebraen
dc.subjectDesign by transformationen
dc.titleDesign by transformation : from domain knowledge to optimized program generationen
dc.description.departmentComputer Sciencesen

Files in this item


There are no files associated with this item.

This item appears in the following Collection(s)

Show simple item record