Bolsa 19/04536-9 - Programação paralela, Análise de desempenho - BV FAPESP
Busca avançada
Ano de início
Entree

Melhorando o desempenho do cálculo da seção de choque transversal através de anotações de componentes

Processo: 19/04536-9
Modalidade de apoio:Bolsas no Brasil - Doutorado
Data de Início da vigência: 01 de abril de 2019
Data de Término da vigência: 31 de dezembro de 2022
Área de conhecimento:Ciências Exatas e da Terra - Ciência da Computação - Sistemas de Computação
Pesquisador responsável:Guido Costa Souza de Araújo
Beneficiário:Bruno Chinelato Honorio
Instituição Sede: Instituto de Computação (IC). Universidade Estadual de Campinas (UNICAMP). Campinas , SP, Brasil
Vinculado ao auxílio:13/08293-7 - CECC - Centro de Engenharia e Ciências Computacionais, AP.CEPID
Assunto(s):Programação paralela   Análise de desempenho
Palavra(s)-Chave do Pesquisador:Loop Carried Dependence | parallel programming | Perfomance and Debugging | Programação Paralela, Desempenho, Análise de dependência de Laços, Depuração

Resumo

Compiladores contemporâneos implementam várias técnicas de paralelização, porém, essas técnicas geralmente se restringem à laços que não possuem dependências, ou são dependências que são simples de resolver, como no caso de reduções de operações aritméticas. Essas restrições impedem a paralelização de laços que possuem dependências. Laços com dependência podem apresentar dois cenários: (i) o compilador identifica a dependência; (ii) o compilador não consegue provar que não existe dependência em tempo de compilação, mesmo que não se manifeste nenhuma dependência durante a execução. Compiladores do estado da arte e abrangentemente usados, como o LLVM e o GCC, não paralelizam laços com dependências automaticamente. Para resolver esse problema, estudantes de pós-graduação do Instituto de Computação da UNICAMP iniciaram o desenvolvimento de um novo mecanismo que, ao determinar os componentes sequenciais de um laço, o programador pode aplicar um algoritmo de paralelização sobre os componentes paralelizáveis do mesmo. Este trabalho de doutorado tem como objetivo realizar uma série de modificações sobre este mecanismo: torná-lo completamente independente de qualquer aplicação, facilitando a adição de novos algoritmos de paralelização; modificar a semântica do mecanismo, para facilitar a sua utilização; permitir que o mecanismo seja usado em um número maior de laços; e oferecer automatizações sobre a execução do mecanismo. Assim, com essa modificações, desenvolvedores podem adicionar novas funcionalidades ao mecanismo, assim como utilizar o mecanismo de maneira mais fácil e simples para um número maior de aplicações e laços. Esse mecanismo então será aplicado sobre um problema de química real: o cálculo da seção de choque transversal, utilizado para ajudar na identificação e caracterização de um íon. Este cálculo é bastante custoso e alguns trabalhos já criaram técnicas de paralelização para acelerá-lo, mas nenhum visando a aceleração de laços com dependências. Em particular, o mecanismo será aplicado em um software desenvolvido para o cálculo da seção de choque transversal que oferece novas abordagens para realizar este cálculo de maneira mais eficiente. Desta forma, o objetivo deste trabalho se resume em explorar agressivamente laços com dependências e demonstrar, em cima de um problema real, o potencial ganho de desempenho que esses laços podem apresentar. (AU)

Matéria(s) publicada(s) na Agência FAPESP sobre a bolsa:
Mais itensMenos itens
Matéria(s) publicada(s) em Outras Mídias ( ):
Mais itensMenos itens
VEICULO: TITULO (DATA)
VEICULO: TITULO (DATA)

Publicações científicas
(Referências obtidas automaticamente do Web of Science e do SciELO, por meio da informação sobre o financiamento pela FAPESP e o número do processo correspondente, incluída na publicação pelos autores)
HONORIO, BRUNO CHINELATO; DE CARVALHO, JOAO P. L.; SKAF, MUNIR; ARAUJO, GUIDO; MILFELD, K; DESUPINSKI, BR; KOESTERKE, L; KLINKENBERG, J. Using OpenMP to Detect and Speculate Dynamic DOALL Loops. OPENMP: PORTABLE MULTI-LEVEL PARALLELISM ON MODERN SYSTEMS, v. 12295, p. 16-pg., . (19/04536-9, 13/08293-7, 16/15337-9, 19/01110-0)
DE CARVALHO, JOAO P. L.; HONORIO, BRUNO C.; BALDASSIN, ALEXANDRO; ARAUJO, GUIDO; IEEE. Improving Transactional Code Generation via Variable Annotation and Barrier Elision. 2020 IEEE 34TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM IPDPS 2020, v. N/A, p. 10-pg., . (19/04536-9, 13/08293-7, 16/15337-9, 18/15519-5)
Publicações acadêmicas
(Referências obtidas automaticamente das Instituições de Ensino e Pesquisa do Estado de São Paulo)
HONORIO, Bruno Chinelato. Improving compiler-generated transactional code performance and programmability via language-level constructs. 2023. Tese de Doutorado - Universidade Estadual de Campinas (UNICAMP). Instituto de Computação Campinas, SP.