Ordenação Paralela com OpenMP e CUDA - Colichio, Heitor; Pimenta, Yago; Borges, Pedro; Menecucci, Matheus; Barros, Luiz; Guardia, Hélio (Anais da Escola Regional de Alto Desempenho de São Paulo (ERAD-SP); 2024: Anais da XV Escola Regional de Alto Desempenho de São Paulo, 2024)
Este artigo apresenta um estudo da paralelização do problema da ordenação de valores. Para tanto, parte-se de uma versão do algoritmo QuickSort e explora-se o particionamento dos dados para ordenação de listas parciais, com a consequente integração dos resultados, de maneira semelhante às estratégias do algoritmo MergeSort. Duas implementações são apresentadas, uma para ambiente multiprocessado com memória compartilhada, programado com OpenMP, e outra em GPU, utilizando CUDA. Os resultados obtidos mostram a viabilidade do uso do paralelismo neste problema, com speedups significativos.