• English
  • Deutsch
  • Log In
    Password Login
    Research Outputs
    Fundings & Projects
    Researchers
    Institutes
    Statistics
Repository logo
Fraunhofer-Gesellschaft
  1. Home
  2. Fraunhofer-Gesellschaft
  3. Konferenzschrift
  4. Pure functions in C: A small keyword for automatic parallelization
 
  • Details
  • Full
Options
2017
Conference Paper
Title

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 scaling the number of installed cores instead of the frequency of processors. To make use of this potential, an essential technique to increase the parallelism of a program is to parallelize loops. However, a main restriction of available tools for automatic loop parallelization is that the loops often have to be 'polyhedral' and that it is, e.g., not allowed to call functions from within the loops. In this paper, 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 checking the parallelization opportunities for polyhedral loops. We extended the GCC compiler toolchain accordingly and evaluated several real-world applications showing that our extension helps to identify additional parallelization chances and, thus, to significantly enhance the performance of applications.
Author(s)
Süß, Tim
Nagel, Lars  
Vef, Marc-Andre
Brinkmann, Andre
Feld, Dustin
Soddemann, Thomas  
Mainwork
IEEE International Conference on Cluster Computing, CLUSTER 2017. Proceedings  
Project(s)
FAST
Funder
Bundesministerium für Bildung und Forschung BMBF (Deutschland)  
Conference
International Conference on Cluster Computing (CLUSTER) 2017  
Open Access
DOI
10.1109/CLUSTER.2017.32
Language
English
Fraunhofer-Institut für Algorithmen und Wissenschaftliches Rechnen SCAI  
  • Cookie settings
  • Imprint
  • Privacy policy
  • Api
  • Contact
© 2024