Journal Title

Journal ISSN

Volume Title



Porting applications to a new system is a nontrivial job in the HPC field. It is a very time-consuming, labor-intensive process, and the quality of the results will depend critically on the experience of the experts involved. In order to ease the porting process, we propose a methodology to address an important aspect of software porting that receives little attention, namely planning support. When a scientific application consisting of many subroutines is to be ported, the selection of key subroutines greatly impacts the productivity and overall porting strategy, because these subroutines may represent a significant feature of the code in terms of functionality, code structure, or performance. They may also serve as indicators of the difficulty and amount of effort involved in porting a code to a new platform. The proposed methodology is based on the idea that a set of similar subroutines can be ported with similar strategies and result in a similar-quality porting. By viewing subroutines as data and operator sequences, analogous to DNA sequences, we are able to use various bio-informatics techniques to conduct the similarity analysis of subroutines while avoiding NP-complete complexities of other approaches. To further improve accuracy for porting, we also merged some other code metrics and cost-model metrics for similarity analysis to capture the internal code characteristics. In this dissertation, we describe our methodology, which includes presentation of a tool called Klonos. To evaluate the effectiveness of Klonos, we used it to conduct experiments to find strategies for porting of several scientific benchmarks and a large scientific application. Our experiment shows Klonos is very effective for providing a systematic porting plan to guide the users during their porting process of reusing similar porting strategies for similar code regions.



Klonos, Compiler Tool, Software Porting, Similarity analysis, Family distance tree, Porting plan