| Grant number: | 19/04536-9 |
| Support Opportunities: | Scholarships in Brazil - Doctorate |
| Start date: | April 01, 2019 |
| End date: | December 31, 2022 |
| Field of knowledge: | Physical Sciences and Mathematics - Computer Science - Computer Systems |
| Principal Investigator: | Guido Costa Souza de Araújo |
| Grantee: | Bruno Chinelato Honorio |
| Host Institution: | Instituto de Computação (IC). Universidade Estadual de Campinas (UNICAMP). Campinas , SP, Brazil |
| Associated research grant: | 13/08293-7 - CCES - Center for Computational Engineering and Sciences, AP.CEPID |
Abstract Contemporary compilers implement various parallelization techniques, however, these techniques are usually restricted to loops that do not have dependencies and are simple to solve, such as reductions of arithmetic operations. These restrictions prevent the parallelization of loops that have dependencies. Loops with loop carry dependencies can present two scenarios: (i) the compiler identifies the dependency; (ii) the compiler can not prove that there is no dependency at compile time, even if no dependency manifests itself during execution time. Compilers of the state-of-the-art, such as LLVM and GCC, do not parallelize loops with loop carry dependencies automatically. To solve this problem, graduate students from the Institute of Computation at UNICAMP began to develop a new mechanism that, as you determine the sequential components of a loop, the programmer can apply a parallelization algorithm over the parallel part of the loop. This PhD work aims to make a series of modifications on this mechanism: to makeit completely independent of any application, facilitating the addition of new parallelization algorithms; modify the semantics of the mechanism, to facilitate its use; allow the mechanism to be used in a larger number of loops; and offer automations over the execution of the mechanism. Thus, with these modifications, developers can add new functionalities to it, as well as use the mechanism for a greater number of applications and loops. This mechanism will then be applied to a real chemistry problem: the calculation of the collision cross section, used to aid in the identification and characterization of an ion. This calculation is very expensive performance wise and some works have already created parallelization techniques to speed it up, but none aimed at gaining performance over the parallelization of loops with loop carry dependencies. Specifically, the mechanism will be applied in a software developed for the calculation of the collision cross section that offers new approaches to perform this calculationin a more efficient way. The goal of this work is summarized in the aggressive exploration of loops with loop carry dependencies and demonstrates, on top of a real problem, the performance gains that these loops may present once they are parallelized. (AU) | |
| News published in Agência FAPESP Newsletter about the scholarship: | |
| More itemsLess items | |
| TITULO | |
| Articles published in other media outlets ( ): | |
| More itemsLess items | |
| VEICULO: TITULO (DATA) | |
| VEICULO: TITULO (DATA) | |