Vitor Pamplona

Innovation on Vision: Imaging , Enhancement and Simulation

Instalar o Cuda no Ubuntu e Configurar o Ambiente de Dev

Colocar o Cuda para rodar e configurar o ambiente de desenvolvimento no Ubuntu é bem simples. Primeiramente, remova o driver da nVidia que você está usando, seja ele compilado, instalado pelo apt-get / synaptic ou pelo Env.

Vá até a página de download do Cuda, selecione uma versão de sistema operacional e em seguida a sua distribuição linux. Se você usa um Ubuntu 8.04 ou 8.10, pode baixar a versão para Ubuntu 7.10 que funcionará sem problemas. Baixe o driver, o toolkit e o SDK.  

Numa shell, dê permissão de execução para os três arquivos. run baixados:  

chmod 777 <nome do arquivo>

Instalando o Driver

Saia do X (Ctrl + Alt + F1) e logue-se como root (ou logue-se com o seu usuário e torne-se root através do comando su).

Derrube o GDM ou KDM:

killall gdm  

e execute o arquivo de driver baixado:

sh NVIDIA-Linux-x86-177.73-pkg1.run

Siga as instruções (Sim para todas as opções) e reiniciar.

Instalando o Toolkit  

Logue-se como root e instale o toolkit para desenvolvimento:

sh NVIDIA_CUDA_Toolkit_2.0_ubuntu7.10_x86.run

O programa irá te perguntar onde você deseja instalar, grave este diretório, pois será necessário na instalação do SDK.  

Instalando o SDK

Atenção, este passo não deve ser feito como root. Abra um terminal e execute o arquivo com o seu usuário normal. O SDK deverá ser instalado preferencialmente em seu diretório de usuário.

sh NVIDIA_CUDA_SDK_2.02.0807.1535_linux.run

Você pode escolher outro diretório, mas eu não recomendo alterar. Durante os próximos passos usarei NVIDIA_CUDA_SDK para me referir a raiz da instalação do SDK. Depois da instalação concluída, entre no diretório do SDK e execute:

make 

Ele irá compilar todos os demos que estarão disponíveis na pasta:

~/NVIDIA_CUDA_SDK/bin/linux/release  

Pronto, você pode testar a instalação executando os exemplos. Alguns interessantes:  

~/NVIDIA_CUDA_SDK/bin/linux/release/nbody
~/NVIDIA_CUDA_SDK/bin/linux/release/particles
~/NVIDIA_CUDA_SDK/bin/linux/release/oceanFFT

Se as animações estiverem pulando ou travando pode ser problema de sincronia (seu frame rate é diferente do refresh rate do monitor). Para corrigir, instale o nVidia Settings:

sudo apt-get install nvidia-settings 

Execute com super usuário:  

sudo nvidia-settings  

E ligue a opção Sync to VBlank

X Screen Y -> OpenGL Settings -> Sync to VBlank

Criando um Projeto de Desenvolvimento Cuda

Numa seção de shell vá para a pasta:

cd ~/NVIDIA_CUDA_SDK/projects/ 

E copie o projeto template, mantendo a nova pasta dentro do diretório projects. Como você irá usar algumas facilidades do SDK, é necessário que o seu projeto fique dentro do SDK.

cp -r template/ myproject

Altere o nome do executável editando o Makefile:  

cd myproject
gedit Makefile

Modifique a linha

EXECUTABLE    := template
para
EXECUTABLE    := myproject

Agora basta compilar

make

E executar

~/NVIDIA_CUDA_SDK/bin/linux/release/myproject 

Configurando Eclipse

Se você utiliza o Eclipse CDT para compilar programas em C + +, pode usá-lo também para compilar programas Cuda. O único problema é que você precisa manter o projeto dentro da pasta projects do SDK. Nesse caso você pode criar um link no SO para dentro do seu workspace ou importar diretamente o projeto no Eclipse. Para criar um projeto novo, vá em:

New -> C++ Project 

Desmarque Use default location . Configure a localização para:

/home/yourusername/NVIDIA_CUDA_SDK/projects/foobar 

E selecione Project types : Executable e Empty Project.

Clique em Next. Desmarque a opção Debug . Selecione Release, clique em Advanced Settings e em C / C + + build . Na tab Builder Settings desmarque Generate Makefiles . Configure o Build Directory para:

${workspace_loc:/foobar} 

Na tab Behaviour , no item Build (incremental build) remova o all. Em

C/C++ build -> Environment 

Adicione uma variável com o nome PATH e valor

/usr/local/cuda/bin 

E clique em OK. Selecione o PATH, clique em Edit e modifique o valor (repare no ponto e vírgula.) de

;/usr/local/cuda/bin 

para

:/usr/local/cuda/bin 
Clique em Ok e Finish.

Para configurar a execução do projeto por dentro do Eclipse vá em

Run -> Run Configurations -> C/C++ Local Application -> New launch configuration
Informe o nome da configuração: Foobar Release . Informe o projeto: Foobar. E o diretório para o binário:
/home/yourusername/NVIDIA_CUDA_SDK/bin/linux/release/foobar
Clique em Apply e Close. Para ativar o Syntax Highlighting:
Window -> Preferences -> C/C++ -> File Types

Clique em New, informe *. cu como extensão e selecione C + + Source File. Pronto. Basta compilar, rodar e brincar a vontade.  

Posted in Dec 14, 2008 by Vitor Pamplona - Edit - History

Showing Comments

teste

- - 228

- - Posted in Nov 6, 2008 by 208.99.75.32

teste

- - 706

- - Posted in Nov 7, 2008 by 208.99.75.32

Tudo bem por aí?

- - Vitor Pamplona

- - Posted in Nov 7, 2008 by 143.54.13.191

tengo un problema cuando quiero correr el ejemplo

root @ cristian-laptop: ~ / NVIDIA_CUDA_SDK # ~ / NVIDIA_CUDA_SDK / bin / linux / release / myproject
/ home / cristian / NVIDIA_CUDA_SDK / bin / linux / release / myproject: error while loading shared libraries: libcudart.so.2: cannot open shared object file: No such file or directory

soy nuevo en ubuntu y la verdad no tengo idea a q se debe este error
alguna ayuda porfavor?



- - Cristian

- - Posted in Nov 20, 2008 by 201.230.28.188

Hum.. yeah... you should create links in / usr / lib pointing to every file inside the lib directories in the Toolkit and SDK root path.

cd / usr / lib /
sudo ln - s < SDK_HOME | TOOLKIT_HOME > / lib / XXX.so XXX.so

I'll update the post as soon as possible.

Thanks

- - Posted in Nov 20, 2008 by Vitor Pamplona

Olá,

Estou com problemas na hora de instalar o driver da nvidia.. esta dando erro no Kernel XEN... não sei o que seria isso... tipo, quanto instalo pelo env ou pelo synaptic ele instala corretamente.. poderia me ajudar?

- - Giovani

- - Posted in Feb 11, 2009 by 143.106.93.54

Oi Vitor,

Estou tendo problemas para executar os samples do toolkit. Quando tento executar deviceQuery, a seguinte mensagem aparece:
/ usr / local / cuda / bin / linux / release / deviceQuery: error while loading shared libraries: libcudart.so.2: cannot open shared object file: No such file or directory
Tentei fazer o que vc disse acima, mas nao da certo:
fpalhano @ epithelium: / usr / lib$ sudo ln - s < / usr / local / cuda > / lib / XXX.so XXX.so
tcsh: / lib / XXX.so: Permission non accordée
Nao entendo quase nada de linux (estou usando Ubuntu 8.04.2), e é a primeira vez que estou tentando usar CUDA. Se você puder me ajudar...
Obridada


- - Fernanda

- - Posted in Feb 25, 2009 by 131.254.13.248

Oi Fernanda

Aparentemente você não tem permissão para criar esses links. Tente fazer o mesmo com um super usuário.

Você deve criar um link simbólico para cada. so dentro do diretório lib do cuda. Lembre-se de tirar os sinais <> e remover os espaços entre as barras.

- - Vitor Pamplona

- - Posted in Feb 25, 2009 by 143.54.13.191

Oi Vitor,

não estou achando o diretório / home / yourusername / NVIDIA_CUDA_SDK / bin / linux / release / foobar.
Eu devo criar um dentro do home? Ou seria o bin do CUDA (/ usr / local / cuda / bin)?

Estou utilizando MAC OS X 10.5.6, mas acredito que o procedimento seja bem parecido com o Ubuntu... pelo menos consegui realizar todos os passos anteriores... mas me perdi nessa última parte...

Obrigada!

Muito bom o seu post!

Patrícia

- - Patrícia

- - Posted in Mar 31, 2009 by 201.83.245.169

Olá Patrícia,

para que esta pasta seja criada, basta compilar os projetos (comando make no terminal). No MAC OS X, irá aparecer a pasta NVIDIA_CUDA_SDK / bin / darwin / release ao invés de NVIDIA_CUDA_SDK / bin / linux / release.

Espero ter ajudado.

- - André

- - Posted in Apr 8, 2009 by 200.190.102.242

Add New Comment

Your Name:


Write the code showed above on the text below.