To develop efficient HPC software, especially numerical simulations, is a challenging task for scientists and engineers. Sometimes not-so-complex algorithms require hundreds of lines of code and programming hours to run correctly, which do not always imply to be sufficiently efficient. If there is no modular programming, the code may growth in all directions becoming harder to read, debug and understand, not to mentioning the slower programming pace for new developers in the project.
When aiming to run numerical simulations on HPC platforms, developers can benefit from the standards and the low-level details of providing a working system inherent to the frameworks, thereby reducing overall development time.
The Barcelona Subsurface Imaging Tool (BSIT) and the General Numerical Engine and Simulation System (GeNESiS) are two of the frameworks developed in BSC to provide the user with a flexible environment to handle every level of the development, from hardware management to the problem itself. In this talk, we present the general benefits of using the frameworks in current HPC platforms and describe both of them when applied to develop and deploy wave propagation simulations which are highly valuable for the Oil & Gas industry. The knowledge obtained from work with BSIT has motivated the concepts and methodology behind GeNESiS to consolidate years of experience in one robust, flexible and modern tool for numerical simulations.