Verificação de desempenho de algoritmos de ordenação utilizando a linguagem CUDA - Silva, J. S.; Gazoni, R. L. (Cadernos UniFOA, 2018)
A programação paralela é amplamente utilizada em softwares de simulação, onde busca-se verificar o comportamento de ambientes e materiais sem, no entanto, comprometer custos e vidas. A linguagem CUDA surge como uma proposta de melhoria de desempenho deste tipo de aplicação sendo de baixo custo e fazendo uso dos processadores das placas gráficas da família nVidia. Verifica-se também a utilização de processadores de mais de um núcleo em computadores, porém há ainda um número muito reduzido de aplicações que suportem esta evolução. Desta forma buscou-se verificar com este trabalho o funcionamento desta linguagem de programação para a realização de ordenação de cadeias de números com algoritmos já consagrados na teoria da computação, como Quicksort, Radixsort e Mergesort. Os algoritmos foram codificados inicialmente em Java e em seguida adaptados para a linguagem CUDA. Durante o desenvolvimento verificou-se inicialmente a dificuldade de se programar nesta linguagem, pois é um novo paradigma de programação. Vencido este obstáculo observou-se que, conforme já se imaginava, os resultados usando programação paralela para cadeias muito grandes de números têm-se uma sensível melhoria no tempo de resposta, entretanto, para cadeias pequenas de números a diferença de resultados é praticamente imperceptível. Um outro problema identificado é o fato da linguagem utilizada ser proprietária e só funcionar no hardware específico do fabricante da mesma. Trabalhos futuros poderão ser desenvolvidos, inclusive auxiliando pesquisas onde seja necessário realizar simulações que precisem utilizar de mais de um processador.