Implementing Irregular Parallel Algorithms with OpenMP

  • Michael Süß
  • Claudia Leopold
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4128)


Writing irregular parallel algorithms with OpenMP has been rarely practised in the past. Yet it is possible, and in this paper we will use a simple breadth–first search application as an example to show a possible stepping stone and deficiency of the OpenMP specification: It is very difficult to cancel the threads in a parallel region. A way to work around the issue within the existing OpenMP specification is sketched, while our main contribution is a proposal for an extension of OpenMP to solve the issue in an easier way.


Parallel Region POSIX Thread OpenMP Programmer Irregular Application Nest Parallelism 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    OpenMP Architecture Review Board: OpenMP specifications (2005),
  2. 2.
    Mattson, T.G.: How good is OpenMP. Scientific Proramming 11, 81–93 (2003)Google Scholar
  3. 3.
    Hisley, D., Agrawal, G., Satyanarayana, P., Pollock, L.: Porting and performance evaluation of irregular codes using OpenMP. Concurrency: Practice and Experience (2000)Google Scholar
  4. 4.
    Dedu, E., Vialle, S., Timsit, C.: Comparison of OpenMP and classical multi-threading parallelization for regular and irregular algorithms. In: Fouchal, H., Lee, R.Y. (eds.) Software Engineering Applied to Networking Parallel/Distributed Computing (SNPD), Association for Computer and Information Science, pp. 53–60 (2000)Google Scholar
  5. 5.
    Nikolopoulos, D.S., Polychronopoulos, C.D., Ayguade, E.: Scaling irregular parallel codes with minimal programming effort. In: Supercomputing 2001: Proceedings of the 2001 ACM/IEEE Conference on Supercomputing (CDROM), ACM Press, New York (2001)Google Scholar
  6. 6.
    Dimakopoulos, V.V., Georgopoulos, A., Leontiadis, E., Tzoumas, G.: OMPi compiler homepage (2003),
  7. 7.
    Süß, M., Leopold, C.: Common mistakes in OpenMP and how to avoid them. In: Proceedings of the International Workshop on OpenMP - IWOMP 2006 (2006)Google Scholar
  8. 8.
    Sun Microsystems: Why Are Thread.stop, Thread.suspend, Thread.resume and Runtime.runFinalizersOnExit Deprecated (1999),
  9. 9.
    Bull, J.M., O’Neill, D.: A microbenchmark suite for OpenMP 2.0. SIGARCH Comput. Archit. News 29(5), 41–48 (2001)CrossRefGoogle Scholar
  10. 10.
    Süß, M.: University of Kassel OpenMP – UKOMP homepage (2005),

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Michael Süß
    • 1
  • Claudia Leopold
    • 1
  1. 1.Research Group Programming Languages / MethodologiesUniversity of KasselKasselGermany

Personalised recommendations