O que é a CUDA?

Tecnologia CUDA da Nvidia

Praticamente todas as placas de vídeo da Nvidia atuais têm um selo informando que ela é possui núcleos de processamento CUDA, algo muito procurado por programadores de aplicações de alto desempenho, mas que ao mesmo tempo confunde o resto dos usuários. Muitos entusiastas por carros reconhecem esse nome como sinônimo de "muscle cars" fabricados entre 1960 e 1970, mas o que essa sigla significa no mundo da informática?

Selo da Nvidia de placas de vídeo com tecnologia CUDA

Acrônimo de Compute Unified Device Architecture, o CUDA é uma engine de computação desenvolvida pela Nvidia para permitir que programadores utilizem todo o poder de processamento de suas placas de vídeo (GPUs) em algoritmos otimizados para utilizar recursos de computação paralela. Suportando várias linguagens de programação, como C, C++, Java, Fortran e Python, essa tecnologia não obriga o programador a aprender uma nova linguagem para criar seus programas, já que oferece uma camada de "tradução" entre a que ele já sabe (como Java, por exemplo) e faz o código uilizar os recursos da placa de vídeo através do uso de bibliotecas de linguagem.

Muitos podem se perguntar o motivo de programadores se darem o trabalho de otimizar seus algoritmos para utilizar computação paralela, já que o poder dos processadores atuais chegaram em um nível tão alto que é difícil imaginar algo que eles não consigam lidar. Algumas aplicações, como processamento de vídeo, análises sísmicas, simulações de dinâmica dos fluidos e previsão do tempo, possuem uma quantidade tão absurda de dados para serem processados que somente através desse recurso é possível conseguir o resultado desejado em um tempo hábil.

Nvidia GTX 680 com CUDA

Esses cálculos normalmente são simples e repetitivos, ideal para as placas de vídeo, visto que essas possuem uma quantidade muito maior de processadores ("apenas" 1536 em uma Nvidia GTX 680 contra 8 de um AMD Bulldozer FX-8150) e memórias muito mais velozes (atualmente os melhores modelos vem com chips GDDR5, versus DDR3).

Além disso, a utilização de GPUs para processar uma quantidade massiva de dados é mais vantajosa tanto do ponto de vista do consumo elétrico quanto na compra do equipamento utilizando como parâmetro.

Computação pararela com SLI triplo de Nvidias GTX 260

Tri-SLI... Muito muito poder de fogo

Com os exemplos de utilização descritos acima, fica difícil entender como um usuário comum pode tirar proveito dessa tecnologia, mas o fato é que ela não está tão longe de nós. Alguns programas, como o Arcsoft Totalmedia e o Xilisoft Video Converter já são otimizados para utilizar todos os núcleos CUDA disponíveis na GPU. Se você possui uma placa de vídeo Nvidia com esse recurso, vai observar uma grande diferença de performance no que deseja fazer.

Cluster de placas de vídeo Nvidia com CUDA

Possui uma placa Nvidia com a tecnologia CUDA? Então faça o download dos programas acima e manipule vídeos com muito mais facilidade!