Making experts more productive is critically important to software development. This is particularly so in Scientific Computing (SC) where experts are rare and whose task is to develop software libraries on which SC research in academia, government labs, and industry depends. This project strives to create programming practices and tools that will revolutionize library development in SC. By encoding expert knowledge about the science, mathematics, and software of a domain, a transformative approach called Design by Transformation (DxT) can automatically generate software that experts would have to write manually. DxT-generation is faster, cheaper, and produces better-trusted code. In dense linear algebra libraries, DxT has exposed errors in manually-written code and found faster algorithms than those produced by experts.

This research applies DxT to three new software domains: fault-tolerant dense linear algebra, graph analysis, and tensor computation. While improving the performance of their software libraries will itself have an impact in national labs and industry, the lessons learned about automating software development will have broad effects. SC software is growing more complicated as hardware complexity evolves (e.g., multi-core, many-core, co-processors, and GPUs). Automatic generation will aid experts in being more productive in this increasingly complicated engineering endeavor. It will enable American scientists and engineers to maintain their advantage in scientific library engineering. Further, there is evidence that the DxT approach to engineering has a pedagogical value in teaching students and new engineers about software. Encoding new domains will test these benefits.

Project Start
Project End
Budget Start
2014-07-15
Budget End
2020-06-30
Support Year
Fiscal Year
2014
Total Cost
$515,517
Indirect Cost
Name
University of Texas Austin
Department
Type
DUNS #
City
Austin
State
TX
Country
United States
Zip Code
78759