Industrial proof of HPC application design for long term maintenance
For the past 20 years, we developed CFD software in an industrial context. These applications contain several highly complex physics and can use a lot of resources. To offer the best user experience, these software were designed or modified to use super-computers’ power in order to achieve reasonable simulation times. Therefore, although developers were not computer scientists (but mostly physicists and mathematicians) they learned HPC the hard way. Through a historical journey, we propose to share our experience of making a large and heterogeneous application HPC compliant, and how this work has influenced our choices for developing its successor. Then, we present this new HPC orientated software. We explain its architecture: object-orientated approach and proprietary middleware which can abstract low level HPC related problems; and its development methodology: UML modeling with code generation and fully integrated testing environment for results and performance analysis. Finally, we give some feedbacks on its development experience and show some early results. These results are behavior and performance comparison between new and old “hand tuned” code, on mainframe processors.
legacy application migration; software design; HPC; object-orientated framework; development methodology
- There are currently no refbacks.