Superando Limites no Multiparticionamento em GPU - Cordeiro, Michel B.; Zola, Wagner M. Nunan (Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD); 2025: Anais do XXVI Simpósio em Sistemas Computacionais de Alto DesempenhoDO - 10.5753/sscad.2025.16780, 2025)
Multiparticionamento é uma primitiva paralela de propósito geral que reorganiza os dados de entrada em bins (ou buckets) contíguos, sendo a função responsável por categorizar cada elemento em um bin definida pelo programador. O Multiparticionamento em GPU, embora considerado uma primitiva paralela em si, recebeu pouca atenção até o momento na literatura. As implementações estado da arte concentram-se em cenários com número reduzido de bins (até 256), impondo a restrição de que essa quantidade seja potência de 2. Este trabalho tem como objetivo apresentar implementações eficientes de Multiparticionamento em GPU, explorando diferentes estratégias otimizadas para diferentes quantidades de bins, permitindo que o algoritmo selecione, em tempo de execução, o nível de granularidade mais adequado. O algoritmo, denominado mrBin, é capaz de processar grandes quantidades de bins (até 12.288), sem impor restrições sobre esse número. Ou seja, mais bins, menos restrições. Nos experimentos realizados, o algoritmo mostrou-se capaz de superar o estado da arte para quantidades de bins maiores que 64, alcançando aceleração de até 2,2 vezes.