Towards optimisation of openMP codes for synchronisation and data reuse. (8th August 2005) - Weng, Tien-hsiung; Chapman, Barbara
In this paper, we present the compiler transformation of OpenMP code to an ordered collection of tasks, and the compile time as well as runtime mapping of the resulting task graph to threads for data reuse. The ordering of tasks is relaxed where possible so that the code may be executed in a more loosely synchronous fashion. Our current implementation uses a runtime system that permits tasks to begin execution as soon as their predecessors have completed. A comparison of the performance of two example programs in their original OpenMP form and in the code form resulting from our translation is encouraging.