Return to search

Design of High Performance Computing Software for Genericity and Variability

Computer simulations have emerged as a cost efficient complement to laboratory experiments, as computers have become increasingly powerful. The aim of the present work is to explore the ideas of some state of the art software development practices, and ways in which these can be useful for developing high performance research codes. The introduction of these practices, and the modular designs that they give rise to, raises issues regarding a potential conflict between runtime efficiency on one hand and development efficiency on the other. Flexible software modules, based on mathematical abstractions, will provide support for convenient implementation and modification of numerical operators. Questions still remain about whether such modules will provide the efficiency which is required for high performance applications. To answer these questions, investigations were performed within two different problem domains. The first domain consisted of modular frameworks for the numerical solution of Partial Differential Equations. Such frameworks proved a suitable setting, since several of my research questions revolved around the issue of modularity. The second problem domain was that of symmetry exploiting algorithms. These algorithms are based on group theory, and make ample use of mathematical abstractions from that field. The domain of symmetry exploiting algorithms gave us opportunities to investigate difficulties in combining modularity based on high level abstractions with low level optimizations using data layout and parallelization. In conclusion, my investigation of software development practices for the area of high performance computing has proved very fruitful indeed. I have found that none of the concerns that were raised should lead us to refrain from the use of the practices that I have considered. On the contrary, in the two case studies presented here, these practices lead to designs that perform well in terms of usability as well as runtime efficiency.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:uu-7768
Date January 2007
CreatorsLjungberg, Malin
PublisherUppsala universitet, Avdelningen för teknisk databehandling, Uppsala universitet, Numerisk analys, Uppsala : Acta Universitatis Upsaliensis
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageEnglish
TypeDoctoral thesis, comprehensive summary, info:eu-repo/semantics/doctoralThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess
RelationDigital Comprehensive Summaries of Uppsala Dissertations from the Faculty of Science and Technology, 1651-6214 ; 285

Page generated in 0.0031 seconds