BibTeX Export
@INPROCEEDINGS{lorenz_ea:2010:InstrumentTasks, author = {Lorenz, Daniel and Mohr, Bernd and R{\"{o}}ssel, Christian and Schmidl, Dirk and Wolf, Felix}, month = jun, title = {How to reconcile event-based performance analysis with tasking in {OpenMP}}, booktitle = {Proc. of 6th Int. Workshop of OpenMP (IWOMP), Tsukuba, Japan}, series = {Lecture Notes in Computer Science}, volume = {6132}, year = {2010}, pages = {109--121}, publisher = {Springer}, isbn = {978-3-642-13216-2}, doi = {10.1007/978-3-642-13217-9_9}, abstract = {With version 3.0, the OpenMP specification introduced a task construct and with it an additional dimension of concurrency. While offering a convenient means to express task parallelism, the new construct presents a serious challenge to event-based performance analysis. Since tasking may disrupt the classic sequence of region entry and exit events, essential analysis procedures such as reconstructing dynamic call paths or correctly attributing performance metrics to individual task region instances may become impossible. To overcome this limitation, we describe a portable method to distinguish individual task instances and to track their suspension and resumption with event-based instrumentation. Implemented as an extension of the OPARI source-code instrumenter, our portable solution supports C/C++ programs with tied tasks and with untied tasks that are suspended only at implied scheduling points, while introducing only negligible measurement overhead. Finally, we discuss possible extensions of the OpenMP specification to provide general support for task identifiers with untied tasks.} }
Copy