Our objective is to determine the best architectural and parallelization options for the BLonD future C++ code base. Project includes:
- Existing simulations performance profile data and component interaction diagrams.
- Micro benchmark data selection for regional stress testing that can reveal of currently existing architectural pitfalls.
- Prototypes for potential architecture evolution that are exclusively designed for BLonD performance optimization covering wide amount of task and data parallelization technics: from local SMID optimizations and coprocessor kernels to cluster technics.
Main project deliverable will be a report covering possible architecture directions rooted in profile data, performance tests and future possibilities. This report will include UML diagrams showing architectural blueprints for concurrency and parallelism directions, structured performance analysis of performed tests and created prototypes, a table comparing selected technologies in terms of:
- Top available simulation scale.
- Integration into current architectural model.
- Prototype testing results.
- Profiling tools.
- Publically available information and documentation.
- Hardware requirements.