Tesis
CUDA-Parttree : estratégia paralela em GPU para alinhamento múltiplo heurístico de milhares de sequências
Fecha
2020-04-09Registro en:
RAZZOLINI, Cainã Felipe Bento. CUDA-Parttree: estratégia paralela em GPU para alinhamento múltiplo heurístico de milhares de sequências. 2019. xi, 68 f., il. Dissertação (Mestrado em Informática)—Universidade de Brasília, Brasília, 2019.
Autor
Razzolini, Cainã Felipe Bento
Institución
Resumen
O alinhamento de sequências biológicas é uma operação muito importante na Bioinformática e pode ser feito entre duas (alinhamento par-a-par) ou mais sequências (alinhamento múltiplo). O alinhamento múltiplo de sequências é um problema NP-completo e o algoritmo de programação dinâmica que obtém o alinhamento ótimo só é utilizado para conjuntos com poucas sequências (até 30). Por isso, são utilizados algoritmos heurísticos, que obtém alinhamento com acurácia aceitável em tempo hábil. Para conjuntos com dezenas de milhares de sequências são necessários algoritmos especificamente criados para esse fim. O Parttree é um algoritmo heurístico de alinhamento múltiplo de sequências para conjuntos com dezenas de milhares de sequências. Nessa dissertação de mestrado, propomos e avaliamos o CUDA-Parttree, uma estratégia de paralela que executa a primeira fase do Parttree (cálculo da matriz de distâncias com contagem de 6mers) parcialmente em GPU. Com essa estratégia, conseguimos reduzir consideravelmente o tempo de execução do cálculo das distâncias entre as sequências quando comparado ao Parttree. O CUDAParttree foi usado no alinhamento de 6 conjuntos de sequências reais de proteínas, como tamanho variando de 25.534 a 151.443 sequências, e 4 conjuntos de sequências sintéticas, variando de 10.000 a 100.000. O CUDA-Parttree conseguiu um speedup de 6,10x no cálculo da matriz de distâncias para o conjunto Cyclodex_gly_tran (50.280 sequências), reduzindo o tempo de execução de 33,94s para 5,57s. Contudo, as transformações de dados necessárias para o cálculo em GPU e para retornar a matriz de distâncias para o Parttree reduziram o speedup para 2,58x mais rápido que a versão em CPU. Com um conjunto de sequências sintéticas com 100.000 sequências, conseguimos um speedup de 4,46x, reduzindo o tempo de execução do cálculo de distâncias de 209,54s para 47,00s.