• English
  • Deutsch
  • Log In
    Password Login
    or
  • Research Outputs
  • Projects
  • Researchers
  • Institutes
  • Statistics
Repository logo
Fraunhofer-Gesellschaft
  1. Home
  2. Fraunhofer-Gesellschaft
  3. Artikel
  4. Pure Functions in C: A Small Keyword for Automatic Parallelization
 
  • Details
  • Full
Options
2021
Journal Article
Titel

Pure Functions in C: A Small Keyword for Automatic Parallelization

Abstract
The need for parallel task execution has been steadily growing in recent years since manufacturers mainly improve processor performance by increasing the number of installed cores instead of scaling the processorâs frequency. To make use of this potential, an essential technique to increase the parallelism of a program is to parallelize loops. Several automatic loop nest parallelizers have been developed in the past such as PluTo. The main restriction of these tools is that the loops must be statically analyzable which, among other things, disallows function calls within the loops. In this article, we present a seemingly simple extension to the C programming language which marks functions without side-effects. These functions can then basically be ignored when the automatic parallelizer checks the parallelizability of loops. We integrated the approach into the GCC compiler toolchain and evaluated it by running several real-world applications. Our experiments show that the C extension helps to identify additional parallelization opportunities and, thus, to significantly increase the performance of applications.
Author(s)
Süß, T.
Nagel, L.
Vef, M.-A.
Brinkmann, A.
Feld, D.
Soddemann, T.
Zeitschrift
International journal of parallel programming
Thumbnail Image
DOI
10.1007/s10766-020-00660-4
Externer Link
Externer Link
Language
English
google-scholar
Fraunhofer-Institut für Algorithmen und Wissenschaftliches Rechnen SCAI
  • Cookie settings
  • Imprint
  • Privacy policy
  • Api
  • Send Feedback
© 2022