13 papers · ranked by Valyu relevance
Cristian Ramon-Cortes, Ramon Amela, Jorge Ejarque, Philippe Clauss + 1 more
'Rosa Badia'] Abstract—The last improvements in programming languages, programming models, and frameworks have focused on abstracting the users from many programming issues. Among others, recent programming frameworks include simpler syntax, automatic memory management and garbage collection, which simplifies code…
Alcides Fonseca, Bruno Cabral, João Rafael, Ivo Correia
This work proposes a new approach for achieving such goal. We created a new parallelizing compiler that analyses the read and write instructions, and control-flow modifications in programs to identify a set of dependencies between the instructions in the program. Afterwards, the compiler, based on the generated…
Tal Kadosh, Niranjan Hasabnis, Prema Soundararajan, Vy A. Vo + 4 more
Compilation Authors: ['Tal Kadosh' 'Niranjan Hasabnis' 'Prema Soundararajan' 'Vy A. Vo' 'Mihai Capotă' 'Nesreen K. Ahmed' 'Yuval Pinter' 'Gal Oren'] Manual parallelization of code remains a significant challenge due to the complexities of modern software systems and the widespread adoption of multi-core architectures.…
Peter Kraft, Amos Waterland, Daniel Y. Fu, Anitha Gollamudi + 2 more
'Shai Szulanski' 'Margo Seltzer'] Prior work on Automatically Scalable Computation (ASC) suggests that it is possible to parallelize sequential computation by building a model of whole-program execution, using that model to predict future computations, and then speculatively executing those future computations.…
Idan Mosseri, Lee-or Alon, Re’em Harel, Gal Oren
Parallelization schemes are essential in order to exploit the full benefits of multi-core architectures, which have become widespread in recent years. In shared-memory architectures, the most comprehensive parallelization API is OpenMP. However, the introduction of correct and optimal OpenMP parallelization to…
Krzysztof Stuglik, Piotr Listkiewicz, Mateusz Kulczyk, Marcin Pietroń
'Marcin Pietroń'] Manual translation of the algorithms from sequential version to its parallel counterpart is time consuming and can be done only with the specific knowledge of hardware accelerator architecture, parallel programming or programming environment. The automation of this process makes porting the code much…
Gal Oren, Yehuda Ganan, G. Malamud
OpenMP is a cross-platform API that extends C, C++ and Fortran and provides shared-memory parallelism platform for those languages. The use of many cores and HPC technologies for scientific computing has been spread since the 1990's, and now takes part in many fields of research. The relative ease of implementing…
Garip Kusoglu, Bérenger Bramas, Stéphane Genaud
Currently, multi/many-core CPUs are considered standard in most types of computers including, mobile phones, PCs or supercomputers. However, the parallelization of applications as well as refactoring/design of applications for efficient hardware usage remains restricted to experts who have advanced technical knowledge…
Michael Schaarschmidt, Dominik Grewe, Dimitrios Vytiniotis, Adam Paszke + 7 more
'Adam Paszke' 'Georg Stefan Schmid' 'Tamara Norman' 'James Molloy' 'Jonathan Godwin' 'Norman A. Rink' 'Vinod Nair' 'Dan Belov'] | Michael Schaarschmidt ∗ | | Dominik Grewe | | Dimitrios Vytiniotis | Tamara Norman | | --- | --- | --- | --- | --- | --- | | James Molloy | Jonathan Godwin | | Norman A. Rink DeepMind |…
Clément Aubert, Thomas Rubiano, Neea Rusch, Thomas Seiller
This work explores an unexpected application of Implicit Computational Complexity (ICC) to parallelize loops in imperative programs. Thanks to a lightweight dependency analysis, our algorithm allows splitting a loop into multiple loops that can be run in parallel, resulting in gains in terms of execution time similar…
Parinaz Barakhshan, Rudolf Eigenmann
We compare automatically and manually parallelized NAS Benchmarks in order to identify code sections that differ. We discuss opportunities for advancing automatic parallelizers. We find ten patterns that pose challenges for current parallelization technology. We also measure the potential impact of advanced techniques…
Pavel Telegin, Anton Baranov, B. M. Shabanov, Artem Tikhomirov
Usage of multiprocessor and multicore computers implies parallel programming. Tools for preparing parallel programs include parallel languages and libraries as well as parallelizing compilers and convertors that can perform automatic parallelization. The basic approach for parallelism detection is analysis of data…
Gang Liao, Si-hui Qin, Longfei Ma, Qi Sun
In this paper, we focus on the need for two approaches to optimize producer and consumer synchronization for autoparallelizing compiler. Emphasis is placed on the construction of a criterion model by which the compiler reduce the number of synchronization operations needed to synchronize the dependence in a loop and…