Advertisement

Auto-scoping for OpenMP Tasks

  • Sara Royuela
  • Alejandro Duran
  • Chunhua Liao
  • Daniel J. Quinlan
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7312)

Abstract

Auto-scoping analysis for OpenMP must be revised owing to the introduction of asynchronous parallelism in the form of tasks. Auto-scoping is the process of automatically determine the data-sharing of variables. This process has been implemented for worksharing and parallel regions. Based on the previous work, we present an auto-scoping algorithm to work with OpenMP tasks. This is a much more complex challenge due to the uncertainty of when a task will be executed, which makes it harder to determine what parts of the program will run concurrently. We also introduce an implementation of the algorithm and results with several benchmarks showing that the algorithm is able to correctly scope a large percentage of the variables appearing in them.

Keywords

Data Race Synchronization Point Clause Default OpenMP Program Concurrent Region 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Duran, A., Ayguadé, E., Badia, R.M., Labarta, J., Martinell, L., Martorell, X., Planas, J.: OmpSs: a Proposal for Programming Heterogeneous Multi-Core Architectures. Parallel Processing Letters 21(2), 173–193 (2011)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Duran, A., Teruel, X., Ferrer, R., Martorell, X., Ayguadé, E.: Barcelona OpenMP Tasks Suite: A Set of Benchmarks Targeting the Exploitation of Task Parallelism in OpenMP. In: 38th International Conference on Parallel Processing, ICPP 2009, Vienna, Austria, pp. 124–131. IEEE Computer Society (September 2009)Google Scholar
  3. 3.
    Barcelona Supercomputing Center. The NANOS Group Site: The Mercurium Compiler, http://nanos.ac.upc.edu/mcxx
  4. 4.
    Quinlan, D., et al.: Rose compiler infrastructure (2012), http://rosecompiler.org
  5. 5.
    Voss, M., Chiu, E., Chow, P.M.Y., Wong, C., Yuen, K.: An Evaluation of Auto-Scoping in OpenMP. In: Chapman, B.M. (ed.) WOMPAT 2004. LNCS, vol. 3349, pp. 98–109. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  6. 6.
    OpenMP ARB. OpenMP Application Program Interface, v. 3.1 (September 2011)Google Scholar
  7. 7.
    Oracle. Oracle Solaris Studio 12.3: OpenMP API User’s Guide (2010), http://docs.oracle.com/cd/E24457_01/html/E21996/index.html
  8. 8.
    Royuela, S.: Compiler Analysis and its Application to OmpSs. Master’s thesis, Technical University of Catalonia, 1012Google Scholar
  9. 9.
    Lin, Y.: Static Nonconcurrency Analysis of OpenMP Programs. In: Mueller, M.S., Chapman, B.M., de Supinski, B.R., Malony, A.D., Voss, M. (eds.) IWOMP 2005 and IWOMP 2006. LNCS, vol. 4315, pp. 36–50. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  10. 10.
    Lin, Y., Terboven, C., an Mey, D., Copty, N.: Automatic Scoping of Variables in Parallel Regions of an OpenMP Program. In: Chapman, B.M. (ed.) WOMPAT 2004. LNCS, vol. 3349, pp. 83–97. Springer, Heidelberg (2005)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Sara Royuela
    • 1
  • Alejandro Duran
    • 2
  • Chunhua Liao
    • 1
  • Daniel J. Quinlan
    • 1
  1. 1.Lawrence Livermore National LaboratoryUSA
  2. 2.Barcelona Supercomputing CenterSpain

Personalised recommendations