Arquivo

Arquivo para a categoria ‘Uncategorized’

Dicas instalação do SDK CUDA 2.3 no UBUNTU 9.10

11 11UTC novembro 11UTC 2009 losferreira Deixe um comentário

PROBLEMA: erro ao compilar o SDK no UBUNTU 9.10 por causa da versão do gcc

SOLUÇÃO:
1) sudo apt-get install libc6-dev-i386
2) sudo apt-get install build-essential libglut3-dev gcc-4.3 g++-4.3 -y
3) sudo update-alternatives –install /usr/bin/gcc gcc /usr/bin/gcc-4.3 60 –slave /usr/bin/g++ g++ /usr/bin/g++-4.3

Mude o link para que o compilador default do sistema seja o gcc-4.3:
sudo rm -d /usr/bin/gcc
sudo ln -s /usr/bin/gcc-4.3 /usr/bin/gcc
Se precisar voltar para o gcc-4.4, basta trocar 4.3 por 4.4 no comando acima.

CategoriasUncategorized

Vídeo: tecnologia GPU

4 04UTC novembro 04UTC 2009 Labaki Deixe um comentário

Ótimo vídeo mostrando as principais ferramentas da tecnologia GPGPU. Trata-se da palestra de abertura da GPU Technology Conference, que aconteceu em San Jose de 30 de setembro a 2 de outubro deste ano.

Download: http://www.nvidia.com/content/GTC/videos/GTC09-1412.flv

Palestrante: Will Ramey, gerente de produto da NVidia.

Conteúdo postado por Luís Ramirez na lista GPUBrasil.

CategoriasUncategorized

Programando CUDA pelo NetBeans

2 02UTC outubro 02UTC 2009 Labaki 2 comentários

Introdução

A plataforma CUDA (Compute Unified Device Architecture), da NVIDIA, é uma plataforma integrada software-hardware para desenvolvimento de aplicações de computação de uso geral utilizando os processadores gráficos (GPUs) da NVIDIA como co-processadores para processamento paralelo de longas cadeias de dados de elevada intensidade aritmética, casos em que há significativo ganho de desempenho com relação às CPUs. Essa plataforma funciona com todas as GPUs a partir da série G80 (Por exemplo: GeForce 8300, GeForce 8600GT, GeForce 8800GTX, GT260, GT280, GT295, etc. Ver lista completa no site da NVIDIA).

O software CUDA pode ser livremente baixado do site da NVIDIA, disponível para as plataformas Windows, OSX e Linux.

Na plataforma Windows, o software deve ser usado integrado ao MS Visual Studio 2005 (Obs: o MS Visual Studio 2008 não funciona bem com a CUDA). Infelizmente o software não funciona com a versão grátis do MSVS, o Visual Studio Express.

Nos sistemas Linux o software CUDA funciona bem se utilizado com terminais de texto, na linha-de-comando, mas alguns usuários ressentem-se da ausência de um ambiente gráfico de desenvolvimento. Os dois principais ambientes gráficos disponíveis são o ECLIPSE e o NetBeans. Apresentarei a seguir um guia passo-a-passo para a configuração do Netbeans 6.5.1 para o desenvolvimento de aplicações para a plataforma CUDA.

Supondo que o interessado já tem o software CUDA instalado na sua máquina, na distribuição Linux Ubuntu 8.10 (senão, veja como).

Instalação do Netbeans 6.5.1

1. Instalar o JDK (Java Development Kit) versão 6 ou superior (site da Sun Microsystems). No ubuntu basta usar o instalador Synaptic.

2. Instalar o Netbeans 6.5.1.

3. Rodar o Netbeans e configurá-lo como descrito a seguir (texto original).

Fazendo o editor reconhecer a extensão .cu

1. Navegue até

Menu->Ferramentas->Opções

2. Clique no botão “Miscelânea”;

3. Selecione a aba “Arquivos”;

4. Clique no botão “Novo…”;

5. Abrir-se-á uma janela com um campo intitulado “Extensão de arquivo:”;

6. Digite “cu” (sem as aspas) no espaço em branco e clique no botão “OK”;

7. Em seguida escolha a opção “Arquivos C (text/x-c)” (sem as aspas) na lista intitulada “Tipo de arquivo associado (MIME)”;

8. Clique no botão “OK”.

Fazendo o editor utilizar o compilador nvcc

1. Navegue até

Menu->Ferramentas->Opções

2. Clique no botão “C/C++”;

3. Seleciona a aba “Outro”;

4. Clique o botão “Editar” ao lado da lista “Extensões arquivo C:”;

5. Abrir-se-á uma janela intitulada “Lista de extensões”;

6. Digite “cu” (sem as aspas) no campo intitulado “Extensão” e clique no botão “Adicionar”;

7. Em seguida clique no botão “OK”.

8. Navegue até

Menu->Ferramentas->Opções

9. Clique no botão “C/C++”;

10. Selecione a aba “Ferramentas de construção”;

11. Clique no botão “Adicionar” da lista “Grupo de ferramentas”

Abrir-se-á uma janela intitulada “Adicionar nova coleção de ferramentas”

12. Clique no botão “Procurar” e navegue até a pasta onde o nvcc está instalado:

/usr/local/cuda/Bin

13. Selecione “GNU” na lista intitulada “Família do grupo de ferramentas”

14. Digite “nvcc” (sem as aspas) no campo intitulado “Nome do grupo de ferramentas”.

15. Clique no botão “OK”, fechando a janela “Adicionar nova coleção de ferramentas”.

16. Clique no botão “OK”, fechando a janela “Opções”.

Abrindo e configurando um projeto CUDA

1. Navegue até

Menu->Arquivo->Novo projeto

Abrir-se-á a janela intitulada “Novo Projeto”;

2. Selecione a opção “C/C++” da lista “Categorias:” e a opção “Projeto C/C++ a partir de código existente” na lista “Projetos”;

3. Clique o botão “Próximo>”;

4. A janela se alterará, aparecendo o campo intitulado “Ferramenta de construção” com a pergunta “Como você constrói o código?”;

5. Selecione a opção “Usando um makefile existente”;

6. Em seguida dê um clique no botão “Procurar…”;

7. Navegue até a pasta de um projeto do NVIDIA_CUDA_SDK. Por exemplo,

/home/seu-nome/NVIDIA_CUDA_SDK/projects/clock,

selecione o arquivo “Makefile” e clique no botão “Selecionar”, voltando à janela anterior;

8. Clique no botão “Próximo>”;

9. A janela se alterará, aparecendo o campo intitulado “Ações de construção”.

10. No campo “Diretório de trabalho:” deve estar o caminho para o diretório onde está o arquivo “Makefile” do projeto. Pode-se tanto digitar o caminho diretamente no campo apropriado quanto navegar até o diretório dando-se um clique no botão “Procurar…”.

11. No campo “Comando Construir:” deve estar o comando que invoca o compilador. O sistema inclui automaticamente a linha de comando “make -f Makefile“, que compila o programa no modo “release” usando o Makefile do projeto. Caso se deseje utilizar o emulador de GPU deve-se substituir a linha de comando por “make emu=1 -f Makefile“.

12. No campo “Comando Limpar:” deve estar o comando “make -f Makefile clean“.

13. No campo “Resultado da construção:” deve estar o caminho do arquivo executável a ser gerado pelo compilador. Pode-se digitar o caminho ou utilizar o botão “Procurar” para navegar até a pasta do programa-objeto, e então digitar o nome do arquivo executável no campo “File name:”, clicando no botão “Selecionar” em seguida;

14. Clique então no botão “Proximo >”;

15. A janela se alterará, aparecendo o campo intitulado “Arquivos de código-fonte”;

16. Abra a lista intitulada “Tipos de arquivo a ser adicionado ao projeto:” e selecione o penúltimo item, que deve conter uma lista semelhante a:

.cpp .cc .c++ .cxx .C .mm .c .i .m .cu .h .H .hpp .hxx .SUNWCCh .tcc .f .F .f90 .F90 .f95 .F95 .f03 .F03 .for .il .mod

Nota: observe que a extensão “.cu” faz parte da lista;

17. Clique então no botão “Proximo >”;

18. A janela se alterará, aparecendo o campo intitulado “Configuração da assistência a código”;

19. Selecione a opção “Configuração automática”;

20. Clique então no botão “Proximo >”;

21. A janela se alterará, aparecendo o campo intitulado “Nome e local do projeto”.

22. Deixe como estão os campos “Nome do projeto:”, “Localização do projeto:” e “Pasta do projeto:”;

23. Ative a seleção “Definir como projeto principal.”.

24. Clique então no botão “Finalizar”.

Seu projeto aparecerá então como uma árvore de diretórios na janela à esquerda do Netbeans;

25. Clique com o botão direito do mouse no nome do projeto (clock_1) e selecione a opção “Propriedades”, que é a mais de  baixo.

26. Abrir-se-á a janela intitulada “Propriedades do projeto -clock_1″;

27. Clique a opção “Construir” da janela “Categorias”, à esquerda;

28. Agora selecione “nvcc” na lista intitulada “Coleção de ferramentas”, do lado direito;

29. Abra a opção “Construir” da árvore de Categorias, clicando na seta à esquerda da palavra “Construir”;

30. Agora clique na palavra “Make” abaixo da palavra “Construir”, e ao lado direito aparecerão as opções de Diretório de trabalho, Comando construir, Comando limpar, e Resultado da construção, já vistos na configuração inicial do projeto. Você poderá, por exemplo, alterar a linha de comando de Construir para que possa ou gerar o código final, ou usar o emulador, ou usar o debug, etc., como convenha;

31. Clique agora a palavra “Executar” na lista de “Categorias”;

32. No campo “Executar diretório” deverá haver o caminho completo para o arquivo executável a ser gerado pelo Make.

33. No campo “Ambiente” deverão ser incluidas as variáveis PATH e LD_LIBRARY_PATH da seguinte forma:

a. Clique no botão “…” à direita da opção “Ambiente”. Abrir-se-á uma janela intitulada “Default – Ambiente”;

b. Clique uma vez no botão “Adicionar”. Aparecerá uma linha vazia na tabela com as colunas “Nome” e “Valor”;

c. Digite “PATH” (sem aspas) no campo “Nome” e “$PATH:/usr/local/cuda/lib” no campo “Valor”;

d. Clique novamente no botão “Adicionar” para acrescentar nova linha à tabela e preencha-a da seguinte forma:

e. Digite “LD_LIBRARY_PATH” (sem aspas) no campo “Nome” e “$LD_LIBRARY_PATH:/usr/local/cuda/lib” no campo “Valor” e clique no botão “OK”;

34. A opção “Construir primeiro” deve estar selecionada;

35. No campo “Tipo de console”, selecione a opção “Terminal externo”;

36. No campo “Tipo de terminal”, selecione a opção “Gnome Terminal”.

37. Clique no botão “OK”.

38. Pressione a tecla F6 para construir e executar o projeto “clock”;

39. Deve abrir-se uma janela de texto e aparecer as seguintes mensagens:

==============================================

Test PASSED

time = 810000

Press ENTER to exit…

==============================================

40. Ao se pressionar a tecla ENTER deve aparecer a seguinte mensagem:

[Pressione Enter para fechar a janela]

41. Pressione a tecla ENTER novamente e a janela se fechará.

Parabéns!!! Você acaba de configurar seu IDE Netbeans para compilar e executar programas CUDA.

Nota

Ao criar um novo projeto, siga a recomendação da NVIDIA: Copie o conteúdo do diretório “template” que está no diretório “projects” do NVIDIA_CUDA_SDK num novo diretório criado para o novo projeto. Em seguida troque os nomes dos arquivos e edite o conteúdo do “Makefile” para adequá-los ao novo projeto.

O que ainda pode ser feito

Configurar o sistema para gerar automaticamente o Makefile dos novos projetos

Parte ou todo esse roteiro não funcionou pra você? Deixe comentário!

CategoriasUncategorized