CUDA
(Compute Unified Device Architecture)
Marcelo Barbosa da Cruz
(2012.10.11.50)
O que é exatamente?
“NVIDIA® CUDA™ é uma arquitetura de computação paralela de propósito geral que tira proveito do mecanismo de computação paralela das unidades de processamento gráfico (GPUs) NVIDIA para resolver muitos problemas computacionais complexos em uma fração do tempo necessário em uma
CPU.”
Funções
CUDA estende a linguagem C através de kernels
Kernels equivalem a funções, que serão executadas N vezes em paralelo
N é o número de threads
Mapeamento de Thread
Hierarquia de Memória
Tempos de Execução
Ganho de Desempenho
Programação CUDA
Um programa da GPU chama-se kernel.
A Programação de um kernel exige:
Reservar espaço na memória da placa gráfica. Copiar dados para a memória da placa.
Chamar o código a ser executado na GPU.
Copiar os resultados de volta da GPU
CUDA no Brasil
UFRJ se torna Centro de Estudos e Pesquisa em CUDA
A NVIDIA acaba de conceder as chancelas de CUDA Research e CUDA Teaching
Center à Universidade Federal do Rio de Janeiro. A universidade, conhecida como uma das melhores instituições da América Latina, é a primeira do Brasil a conquistar os dois títulos simultaneamente. A arquitetura CUDA, desenvolvida pela
NVIDIA, permite aos alunos e pesquisadores desenharem aplicativos usando todo o potencial do processamento de uma GPU (unidade de processamento gráfico).
Referências
http://www.blogplus.com.br/?p=3801
http://adrenaline.uol.com.br/tecnologia/noticias/1204/arquitetura-cuda-apresenta-novidades-para-desenvolvedores.html
http://www.youtube.com/watch?v=Ek1PA6xlx4Q
http://www.lume.ufrgs.br/bitstream/handle/10183/18536/000730588.pdf?sequence=1
http://www.astro.iag.usp.br/~carciofi/WCCA/ricardo_wcca.pdf
http://johntortugo.wordpress.com/tag/cuda/