CUDA

CUDA/ GUS
Desenvolvedor NVIDIA Corporation
Plataforma GPU Nvidia
Versão estável 11.4.0 (29 de junho de 2021)
Sistema operativo Windows XP e superior, Mac OS X e Linux
Licença Freeware
Estado do desenvolvimento Ativo
Página oficial developer.nvidia.com/cuda-zone

CUDA (anteriormente conhecido como Compute Unified Device Architecture ou Arquitetura de Dispositivo de Computação Unificada) é uma API destinada a computação paralela, GPGPU, e computação heterogênea, criada pela Nvidia.[1] destinada a placas gráficas que suportem a API (normalmente placas gráficas com chipset da Nvidia). A plataforma CUDA dá acesso ao conjunto de instruções virtuais da GPU e a elementos de computação paralela, para a execução de núcleos de computação.[2]

A API inclui um conjunto de instruções CUDA ISA's (Instruction Set Architecture) e o mecanismo de computação paralela na GPU. Ele expõe os diferentes tipos de memória da placa e obriga que o desenvolvedor configure os acessos da memória global, a cache, a quantidade e a disposição das threads. O desenvolvedor também será responsável por escalonar as atividades entre a GPU e o CPU. A plataforma CUDA é desenhada para trabalhar com linguagem de programação como C, C++ e Fortran. Isto torna acessível a especialistas em programação paralela o uso dos recursos do GPU. APIs anteriores como DirectX e OpenGL, permitem também o uso de GPGPU. Contudo a programação deste tipo de instruções nestas placas gráficas é mais exigente, uma vez que todo o código tem de ser convertido de e para instruções de cálculo vectorial, passíveis de serem calculadas pela placa gráfica. A API suporta, frameworks e APIs opensource, desenvolvidas pelo Khronos Group, como é o caso de OpenACC e OpenCL.[2] Quando foi introduzida pela primeira vez pela Nvidia, o nome CUDA era um acrónimo de “Compute Unified Device Architecure”,[3] apesar de a NVIDA ter abandonado o uso deste acrónimo.

O propósito inicial da API destinava-se a propriedades físicas em jogos, identificar placas ocultas em artérias, analisar fluxo do tráfego aéreo e visualização de moléculas. No entanto, não tardaria a que a API fosse usada para outros fins, como por exemplo, Inteligência artificial (de notar que o framework de Python da Google TensorFlow, tira proveito da API), assim como renderização gráfica (a partir de programas como o Octane Render), actividades de foro criptográfico (existem toda uma série de ferramentas, desde ferramentas para exploração de falhas de segurança, a aplicações para blockchain baseadas em APIs como CUDA; OpenCL, e SYCL, que tiram proveito da API). Actualmente, a plataforma CUDA, é das plataformas, de GPGPU mais robustas, e maduras que existem, o que pode ser muitas vezes usado como argumento para validar o preço mais alto de placas gráficas da Nvidia, quando comparado com as concorrentes directas da AMD. Em versões antigas do CUDA Toolkit, era possível desenvolver mesmo sem ter o hardware necessário, usando um emulador, mas a partir da versão 3.0, essa funcionalidade não é mais suportada.[4]

  1. Nvidia CUDA Home Page
  2. a b Abi-Chahla, Fedy (18 de junho de 2008). «Nvidia's CUDA: The End of the CPU?». Tom's Hardware. Consultado em 17 de maio de 2015 
  3. Shimpi, Anand Lal; Wilson, Derek (8 de novembro de 2006). «Nvidia's GeForce 8800 (G80): GPUs Re-architected for DirectX 10». AnandTech. Consultado em 16 de maio de 2015 
  4. CUDA Toolkit 3.0 - release highlights (em inglês)

From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Tubidy