.NET

4 jul, 2011

Programação em CUDA Parte 3: Instalação do NVIDIA GPU Computing SDK

Publicidade

Olá, pessoal!

Neste artigo, continuaremos com a série que mostra como programar em CUDA e obter o processamento paralelo de alto desempenho com as mais novas placas de vídeo da nVIDIA.

Abordaremos a instalação do terceiro e último componente necessário para a programação em CUDA: o NVIDIA GPU Computing SDK 4.0. Recomendo a todos que confiram a primeira e a segunda parte desta série de artigos que aborda a motivação para a programação paralela neste ambiente e a instalação do driver da placa nVidia Geoforce 480 GTX.

A instalação do NVIDIA GPU Computing SDK no ambiente descrito para testes nesta série de artigos é realizada pelo arquivo gpucomputingsdk_4.0.17_win_64.exe. Como estamos lidando com um computador com o Windows em 64 bits, é preciso sempre procurar a versão de 64 bits de cada software, incluindo drivers, toolkits e tudo mais. Neste caso, o arquivo possui 466 MB e pode ser obtido diretamente no site do fabricante clicando aqui.

Vale a pena notar que é neste SDK que encontraremos diversos exemplos de programação em CUDA e também a integração com o DirectX, o OpenGL e MPI. Contudo, para a integração com o DirectX, é preciso instalar o DirectX SDK e, para a integração de CUDA com o MPI, é preciso a instalação do Microsoft HPC Pack SDK.

Para o uso de OpenGL, não é necessário a instalação de nenhum pacote adicional, pois a bibliotecas já são instaladas com o GPU Computing SDK. Como esta série de artigos abordará a instalação e a construção básica de programas em CUDA, não abordarei o uso do DirectX e nem de MPI.

O primeiro passo do instalador  traz a janela de boas-vindas do assistente.

Figura 1. Janela de boas-vindas do instalador do NVIDIA GPU Computing SDK.

Em seguida, é preciso aceitar o EULA (End User License Agreement) do NVIDIA GPU Computing SDK. Mais uma vez, este SDK não está mais em beta, como é o caso do driver da placa.
 
Figura 2. Tela de EULA do CUDA Toolkit 4.0

A próxima tela permitirá a inscrição no programa de desenvolvimento da nVIDIA chamado NVIDIA Developer Tools de forma idêntica à que foi vista na instalação do NVIDA CUDA Toolkit. A filiação deste programa é opcional, porém para quem vai trabalhar com esta tecnologia é uma boa idéia fazer a inscrição neste programa, principalmente porque a NVIDIA envia diversos e-mails informando sobre novos produtos e atualizações das ferramentas.

A figura abaixo mostra como se inscrever no programa (é preciso escolher a primeira opção do checkbox para concretizar a inscrição).
 
Figura 3. Tela de inscrição no programa de desenvolvedores da NVIDIA.

A próxima tela do instalador perguntará qual é o usuário cuja pasta será utilizada para a cópia dos arquivos. Neste exemplo, utilizei a opção Current User que fez referência ao usuário Mauro do Windows.
 
Figura 4. Janela que permite escolher sob as configurações de qual usuário o pacote será instalado.

A próxima tela do instalador permitirá escolher qual a pasta (caminho) será utilizada para a instalação dos arquivos. A pasta sugerida é determinada pelo usuário escolhido na janela anterior. É importante lembrar qual é esta pasta, pois toda a documentação, bibliotecas, exemplos, projetos e demais arquivos deste pacote vão ser instalados sob esta pasta.

Podemos notar que a sugestão foge do padrão, que é instalar os programas na pasta Arquivos de Programas (Program Files) ou equivalente. No exemplo, escolhi o seguinte caminho: C:UsersmauroAppDataLocalNVIDIA CorporationNVIDIA GPU Computing SDK 4.0. A Figura 6 mostra a última tela do instalador antes da cópia e configuração dos arquivos.

 
Figura 5. Tela do instalador que permite a escolha da pasta da instalação.


Figura 6. Tela que indica o início do processo de cópia e configuração dos arquivos.

O processo de cópia e instalação pode demorar um pouco, dependendo da configuração da máquina.


Figura 7. Janela do instalador indicando o progresso da instalação.

Por fim, temos a tela que indica se a instalação foi realizada com sucesso. É importante lembrar que a documentação oficial de instalação dos componentes CUDA, o CUDA_C_Getting_Started_Windows.pdf, sugere alguns passos adicionais à instalação que serão apresentados em seguida.

 
Figura 8. Término da instalação do NVIDIA GPU Computing SDK 4.0.

Agora, o primeiro passo a ser realizado após a instalação do NVIDIA GPU Computing SDK 4.0 é verificar se houve algum problema nas instalações realizadas. O manual recomenda executar o programa bandwidthTest.exe, que já vem compilado e foi armazenado na seguinte pasta: C:UsersmauroAppDataLocalNVIDIA CorporationNVIDIA GPU Computing SDK 4.0Cbinwin64Release. E também indica que é recomendado testar o compilador da NVIDIA, o nvcc, através da compilação do projeto deste pequeno executável.

Neste caso, o projeto, isto é, o arquivos necessários para abrir o projeto no Visual Studio.NET, estavam localizados em C:UsersmauroAppDataLocalNVIDIA CorporationNVIDIA GPU Computing SDK 4.0CsrcbandwidthTest.

A propósito, quem pretende trabalhar com a CUDA no Visual Studio.NET deve se familiarizar com as diversas opções de projeto que foram configuradas, tais como: caminhos para os arquivos include, bibliotecas, tarefa de compilação customizada e outros.

Quando fui testar o programa bandwidthTeste.exe, percebi que após o término da instalação tive um erro: o programa rodou, mas não conseguiu se conectar à placa (que é tratada como um device na documentação e nos programas). Precisei instalar uma versão mais atualizada do driver e depois disso tudo funcionou corretamente. A Figura 9 mostrará o resultado da execução do programa bandwidthTeste.exe que faz um pequeno diagnóstico do device e mostra alguns dados interessantes a respeito da capacidade de comunicação entre a CPU e a GPU.
 
Figura 9. Resultado da execução do programa bandwidthTest.exe

Para finalizar, a verificação da instalação o manual recomenda executar um programa que tem uma saída visual chamado particles.exe. No meu ambiente, este programa estava armazenado na mesma pasta do arquivo bandwidth.exe, ou seja, em C:UsersmauroAppDataLocalNVIDIA CorporationNVIDIA GPU Computing SDK 4.0Cbinwin64Release.

Notem que é possível compilar este programa, pois o projeto dele está armazenado em C:UsersmauroAppDataLocalNVIDIA CorporationNVIDIA GPU Computing SDK 4.0Csrcparticles. O que este programa faz é apresentar a manipulação de partículas através da CPU. O resultado é a movimentação de pequenas partículas dentro de um cubo, como pode ser visto na Figura 10, que mostra a incrível quantidade de 26.563,4 fps (vinte e seis mil quinhentos e sessenta e três vírgula quatro frames por segundo) obtidos em uma animação simples de partículas. Esta quantidade de quadros por segundo não é fixa, pois, conforme a animação é executada, ela varia, mais no meu ambiente ficou sempre em torno de 26.000 fps.

Figura 10. Programa CUDA Particles rodando a 26.563,4 fps

Com isso, terminamos a parte de instalação necessária para o ambiente CUDA. As próximas partes desta série de artigos abordarão como é realizada a programação em C/C++ em CUDA.

Até.