Mais Populares

1 de abril de 2015

O que é CUDA (NVIDIA)?

A tecnologia utilizada nos processadores gráficos são bem diferentes da tecnologia utilizadas na CPU, por uma diferença simples: CPU trabalha com fatores exatos, a GPU não, ela falha muito.

O risco de você ver uma falha em um vetor, não é tão importante quanto um cálculo errado de uma conta bancária ou uma correção de juros, e por isto a GPU nunca deve ser utilizada para programação; até o momento.

A NVIDIA há um bom tempo trabalha com processadores cuda, distribuídos sobre a sua GPU, e consegue eliminar estes erros de processamento aplicando tecnologias de correção de erro, reduzindo um pouco seu desempenho real, entretanto, ainda assim é muito mais rápida que uma CPU tradicional, mesmo tendo uma velocidade física entre 300 MHz e 1 GHz. Entenda mais sobre.



Entendendo sua função

A aplicabilidade da tecnologia CUDA se expande muito a cada dia, dentre elas, empresas desenvolvedoras de jogos, que passam utilizar a tecnologia para programar todas as ações nos jogos mas também para outros casos como pesquisas de doenças, análise do espaço pela NASA, pesquisa científica e até mesmo descoberta de doenças e probabilidades físicas.

Todos estes recursos, provavelmente, em um computador comum levaria dias, e com a GPU e a tecnologia CUDA, tudo isto foi extremamente reduzido.

Como pode uma GPU ser mais "rápida" que a CPU?

Não existe nenhuma mágica nesta questão, a realidade é que os chips de processamento da GPU conseguem trabalhar bem apenas de forma dividida, ao contrário da CPU que é totalmente sequencial (mas com o processamento paralelo, também vemos um outro segmento para a CPU tendendo utilizar o mesmo que as GPUs usam há muito tempo).

Uma CPU contém cerca de até 16 núcleos para o computador, seja físico ou virtual (tecnologia HT), dividindo as threads e podendo rodar mais programas juntos. Cada núcleo processa seu limite, mas outros estão lá para trabalhar paralelamente.

Uma GPU por sua vez, pode ter de 900 e até 5000 núcleos de processamento (GTX 660 ou GTX Titan Z, preços variam entre R$ 800,00 e R$ 14.000,00). Ou seja, se sua programação não conseguir dividir as threads em 1000 pedaços para rodar paralelamente, não terá ganhos de performance ao rodar sobre uma GPU.

De fato cada núcleo da GPU é bem mais lento que uma CPU, mas como consegue processar muitas informações paralelamente, consegue entregar muitas informações além da comum CPU, desde que a programação esteja alinhada para trabalhar de forma paralela, mas com as evoluções da CPU, muitos dos softwares já estão sendo programados para aproveitar estes recursos computacionais paralelos.

Quando surgiu?

A tecnologia entrou em desenvolvimento pela NVIDIA em 2006, beneficiando a astronomia, biologia, química, física, mineração de dados, manufatura, financeiro e outros itens de computação intensa que se beneficiam com a aceleração da GPU.

O que é NVIDIA Tesla?

De acordo com o site da NVIDIA, é o primeiro processador do mundo em ter 1 teraflop de computação baseado em vários cores de processador. É uma solução para entregar mais poder de processamento e usar os recursos elétricos de forma mais eficiente. Tesla é um processador para os maiores desafios computacionais existentes, rápido e sem erros.

OpenACC, o que vem a ser?

Esta é uma plataforma de desenvolvimento de softwares da NVIDIA, um padrão aberto para que programadores possam escrever códigos em linguagem C ou Fortran e que permite que o compilador produza um software compatível com o poder de processamento paralelo em uma GPU e ao mesmo tempo o torna compatível para ser executado em um sistema contendo apenas CPU.


Encontre mais informações sobre CUDA em:


Nenhum comentário :

Postar um comentário

Deixe seu comentário abaixo e curta Tutorial TI no facebook!