Cuda

Disponível somente no TrabalhosFeitos
  • Páginas : 5 (1009 palavras )
  • Download(s) : 0
  • Publicado : 17 de maio de 2012
Ler documento completo
Amostra do texto
CUDA
O que é:
Compute Unified Device Architecture (CUDA) é uma arquitetura de computação paralela desenvolvida pela Nvidia . CUDA é o motor de computação em Nvidia unidades de processamento gráfico (GPUs) que é acessível para desenvolvedores de software através de variantes de línguas de programação padrão da indústria (Está disponível gratuitamente, é multi-plataforma (Windows / Linux / Mac),já possui versão estável, é bem documentada e suportada pela nVidia.)
O hardware gráfico é famoso pelo alto poder computacional ao processar streams de dados. Até meados de 2004, estes streams eram apenas conjuntos de vértices, pontos ou pixels de jogos e ferramentas de visualização. Com a linguagem Cuda a nVidia tenta expandir seu público alvo, possibilitando o uso do hardware gráfico por outrosdesenvolvedores.
Cuda pode ser considerada uma API de baixo nível, pois expõe os tipos diferentes de memória da placa gráfica e exige que o desenvolvedor configure seus acessos a memória global, a cache e a quantidade e disposição das threads para atingir a melhor performance. Nada é automático. A placa gráfica é vista como um simples dispositivo operando como um co-processador, e aguardandoinstruções da aplicação cliente. O desenvolvedor é o responsável pelo escalonamento de atividades entre a CPU (Host) e a GPU.
O código que rodará na placa de vídeo é chamado de kernel , um único código que será executado sobre um grande conjunto de informações. As funções de um programa convencional, que são chamadas muitas vezes com entradas e saídas independentes, são as primeiras a setransformarem em kernels.
Por exemplo, uma operação que soma 1 em cada valor de um vetor com 1 GB de dados, pode facilmente ser transformada em um kernel, onde várias threads irão somar 1 e armazenar o valor na mesma posição. Nesse caso, não é necessário sincronia, nem comunicação entre as threads. Perfeito para a GPU.
No jogo de computador da indústria, além de renderização de gráficos, as GPUs são usados​​em cálculos de física do jogo (efeitos físicos como o fumo escombros, fogo, líquidos);
CUDA também tem sido utilizado para acelerar aplicações não-gráficas em biologia computacional , criptografia e outros campos por uma ordem de magnitude ou mais
Como funciona a CUDA:
GPU se torna mais apta para o trabalho de processamento paralelo por ter sido desenvolvida para atender à demanda deprocessos de computação 3D em alta resolução e em tempo real. Assim, com o passar do tempo, as GPUs modernas se tornaram muito eficientes ao manipular grandes blocos de informações.
O fluxo de processamento em CUDA não é tão complexo. Para começar, os dados são copiados da memória principal para a unidade de processamento gráfico. Depois disso, o processador aloca o processo para a GPU, que entãoexecuta as tarefas simultaneamente em seus núcleos. Depois disso, o resultado é copiado da memória da GPU para a memória principal.
O processamento na GPU é feito dentro dos núcelos CUDA (CUDA Cores), que podem ser comparados, grosso modo, com os núcleos de um processador comum. Por isso, quanto mais núcleos CUDA tiver a placa de vídeo, melhor.
-------------------------------------------------Vantagens:
-------------------------------------------------

-------------------------------------------------
CUDA tem várias vantagens sobre computação de propósito geral tradicional de GPUs (GPGPU) usando APIs gráficas:
* Espalhadas lê - código pode ler a partir de endereços arbitrários na memória
* Memória compartilhada - CUDA expõe uma rápida memória compartilhada região (até 48KB porMulti-Processor), que pode ser partilhado entre os tópicos. Isso pode ser usado como um cache de usuário gerenciado, permitindo maior largura de banda do que é possível usando pesquisas de textura. [12]
* Downloads mais rápidos e readbacks de e para a GPU
* Suporte total para operações com números inteiros e bit a bit, incluindo pesquisas de textura inteiros

Limitações da CUDA
Como...
tracking img