Abstract
Tasking in OpenMP 3.0 has been conceived to handle the dynamic generation of unstructured parallelism. New directives have been added allowing the user to identify units of independent work (tasks) and to define points to wait for the completion of tasks (task barriers). In this paper we propose an extension to allow the runtime detection of dependencies between generated tasks, broading the range of applications that can benefit from tasking or improving the performance when load balancing or locality are critical issues for performance. Furthermore the paper describes our proof-of-concept implementation (SMP Superscalar) and shows preliminary performance results on an SGI Altix 4700.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Shah, S., Haab, G., Petersen, P., Throop, J.: Flexible control structures for parallellism in OpenMP. In: 1st European Workshop on OpenMP (September 1999)
Balart, J., Duran, A., Gonzàlez, M., Martorell, X., Ayguadé, E., Labarta, J.: Nanos mercurium: a research compiler for openmp. In: Proceedings of the European Workshop on OpenMP 2004 (October 2004)
Gonzàlez, M., Ayguadé, E., Martorell, X., Labarta, J.: Exploiting pipelined executions in OpenMP. In: 32nd Annual International Conference on Parallel Processing (ICPP 2003) (October 2003)
Sinnen, O., Pe, J., Kozlov, A.: Support for Fine Grained Dependent Tasks in OpenMP. In: 3rd International Workshop on OpenMP (IWOMP 2007) (2007)
Ayguadé, E., Copty, N., Duran, A., Hoeflinger, J., Lin, Y., Massaioli, F., Unnikrishnan, P., Zhang, G.: A Proposal for Task Parallelism in OpenMP. In: 3rd International Workshop on OpenMP (IWOMP 2007) (2007)
Labarta, J., Girona, S., Pillet, V., Cortes, T., Gregoris, L.: Dip: A parallel program development environment. In: 2nd International Euro-Par Conference on Parallel Processing (1996)
Pham, D., Asano, S., Bolliger, M., Day, M.N., Hofstee, H.P., Johns, C., Kahle, J., et al.: The Design and Implementation of a First-Generation Cell Processor. In: IEEE International Solid-State Circuits Conference (ISSCC 2005) (2005)
Bellens, P., Perez, J.M., Badia, R.M., Labarta, J.: CellSs: a programming model for the Cell BE architecture. In: proceedings of the ACM/IEEE SC 2006 Conference (November 2006)
Frigo, M., Leiserson, C.E., Randall, K.H.: The implementation of the Cilk-5 multithreaded language. In: PLDI 1998: Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, New York, pp. 212–223. ACM Press, New York (1998)
Ayguadé, E., Duran, A., Hoeflinger, J., Massaioli, F., Teruel, X.: An experimental evaluation of the new openmp tasking model. In: Proceedings of the 20th International Workshop on Languages and Compilers for Parallel Computing (October 2007)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Duran, A., Perez, J.M., Ayguadé, E., Badia, R.M., Labarta, J. (2008). Extending the OpenMP Tasking Model to Allow Dependent Tasks. In: Eigenmann, R., de Supinski, B.R. (eds) OpenMP in a New Era of Parallelism. IWOMP 2008. Lecture Notes in Computer Science, vol 5004. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-79561-2_10
Download citation
DOI: https://doi.org/10.1007/978-3-540-79561-2_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-79560-5
Online ISBN: 978-3-540-79561-2
eBook Packages: Computer ScienceComputer Science (R0)