Parallelizing simulations with runtime profiling and scheduling
Mahder Gebremedhin, Peter Fritzson · 2017
Incorporating automatic parallelization into compilers and runtime systems of current mathematical modeling and simulation tools is a complicated task. First there are a number of design considerations to be made. Where can potential parallelism be extracted? How should it be represented? How to improve the efficiency of this potential parallelism? In addition to these and similar design questions there are many technical implementation issues the need to be taken into consideration. This can make implementing and experimenting with automatic parallelization an overwhelming process. Effective automatic parallelization requires flexible representation, efficient clustering/merging algorithms and portability.