Download do Driver:O login do hiperlink está visível. Kit de Ferramentas CUDA:O login do hiperlink está visível. cuDNN:O login do hiperlink está visível.
O que é GPU?
O conceito de GPU foi proposto pela Nvidia em 1999. Uma GPU é um chip em uma placa de vídeo, assim como uma CPU é um chip em uma placa-mãe. Então não havia GPUs nas placas de vídeo antes de 1999? Claro que havia, mas ninguém a nomeou naquela época, e não atraía atenção suficiente das pessoas, e seu desenvolvimento foi relativamente lento.
Desde que a Nvidia propôs o conceito de GPU, as GPUs entraram em um período de rápido desenvolvimento. Em resumo, ele passou pelos seguintes estágios de desenvolvimento:
1. Somente para renderização gráfica, essa função é a intenção original das GPUs, o que pode ser visto pelo nome: Unidade de Processamento Gráfico;
2. Mais tarde, descobriu-se que era um desperdício excessivo para um dispositivo tão poderoso como uma GPU ser usado apenas para processamento gráfico, e deveria ser usado para realizar mais trabalho, como operações em ponto flutuante. Como fazer isso? Fornecer operações de ponto flutuante diretamente para a GPU não é possível porque ela só pode ser usada para processamento gráfico (naquele momento). A coisa mais fácil de pensar é processar operações de ponto flutuante, empacotá-las em tarefas de renderização gráfica e depois entregá-las para a GPU. Esse é o conceito de GPGPU (GPU de Uso Geral). No entanto, há uma desvantagem disso: você precisa ter algum conhecimento de gráficos, caso contrário não saberá como empacotar as coisas.
3. Portanto, para permitir que pessoas que não entendem gráficos experimentem o poder da computação por GPU, a Nvidia propôs o conceito de CUDA.
O que é CUDA?
CUDA (ComputeUnified Device Architecture) é uma plataforma de computação lançada pelo fabricante de placas de vídeo NVIDIA. CUDA é uma arquitetura de computação paralela de uso geral lançada pela NVIDIA. Ele contém a arquitetura do conjunto de instruções CUDA e um motor de computação paralela dentro da GPU. Você pode desenvolver programas CUDA usando uma linguagem CUDA C semelhante à linguagem C, o que facilita o uso do poderoso poder computacional da GPU, em vez de empacotar a tarefa de computação em uma tarefa de renderização gráfica e depois passar para a GPU processar.
Em outras palavras, o CUDA é um framework de computação paralela lançado pela NVIDIA para suas próprias GPUs, o que significa que o CUDA só pode rodar nas GPUs da NVIDIA, e só pode desempenhar o papel do CUDA quando o problema de computação a ser resolvido é que ele pode ser calculado em um grande número de cálculos paralelos.
Note que nem todas as GPUs suportam CUDA.
O que é CUDNN?
NVIDIA cuDNN é uma biblioteca acelerada por GPU para redes neurais profundas. Ele enfatiza desempenho, facilidade de uso e baixa sobrecarga de memória. O NVIDIA cuDNN pode ser integrado a frameworks de aprendizado de máquina de alto nível, como o Tensorflow do Google, o popular software caffe da UC Berkeley. O design simples de plug-ins permite que os desenvolvedores se concentrem no design e implementação de modelos de redes neurais, em vez de apenas ajustar o desempenho, ao mesmo tempo em que possibilita computação paralela moderna de alto desempenho em GPUs.
Se você quiser treinar um modelo com uma GPU, cuDNN não é obrigatório, mas geralmente é usado como uma biblioteca de aceleração.
Qual é a relação entre CUDA e CUDNN?
A CUDA é vista como uma bancada de trabalho com muitas ferramentas, como martelos, chaves de fenda, etc. cuDNN é uma biblioteca de aprendizado profundo acelerada por GPU baseada em CUDA, com a qual cálculos de aprendizado profundo podem ser realizados em GPUs. É equivalente a uma ferramenta para trabalho, por exemplo, é uma chave inglesa. Mas quando a bancada CUDA foi comprada, ela não forneceu uma chave inglesa. Para rodar uma rede neural profunda no CUDA, você precisa instalar o cuDNN, assim como quer parafusar uma porca e comprar uma chave inglesa de volta. Isso permite que a GPU opere em redes neurais profundas, o que é muito mais rápido do que as CPUs.
|