Automatic task based analysis and parallelization in the context of equation based languages
Mahder Gebremedhin, Peter Fritzson · 2014
This paper presents an automatic parallelization approach for handling complex task systems with heavy dependencies, including methods of analyzing dependencies, representing them in a convenient way, and processing the resulting task graph representation. We present a library-based task system representation, clustering, profiling, and scheduling approach to simplify the otherwise tedious process of parallelizing complex task systems. We have implemented a flexible and robust task system handling library to manipulate and parallelize these complex task systems on shared memory multi-core and multi-processor systems. The implementation has been developed as part of the OpenModelica simulation environment. We demonstrate methods of extracting and utilizing parallelism in the context of mathematical modeling languages.