Páginas

Mostrando postagens com marcador CUDA. Mostrar todas as postagens
Mostrando postagens com marcador CUDA. Mostrar todas as postagens

sábado, 10 de dezembro de 2011

Mantendo Várias Versões do Mesmo Programa

Olá,

Neste post vou mostrar como, de uma maneira fácil, você poderá manter duas ou mais versões do mesmo programa em sua máquina Debian-like (Debian, Ubuntu, Mint e etc).

Usaremos uma ferramente nativa desses sistemas: o update-alternatives. Em poucas palavras podemos dizer: "update-alternatives creates, removes, maintains and  displays  information  about  the symbolic links comprising the Debian alternatives system." (retirado do própio manual)

E você deve estar se perguntando mas porque eu quero isso? Bom, no meu caso eu preciso ter a versão 4.4 do GCC senão não consigo compilar meus programas em CUDA, e por outro lado eu gosto de ter a a versão mais atualizada do mesmo para compilar outros programas que não sejam escritos em CUDA.

Então vamos lá, primeiro instale as versões desejadas dos seus programas, no meu caso:

$ sudo apt-get install gcc-4.4 gcc-4.6

Agora vamos criar os links simbólicos para as duas versões:

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 44

$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 46
onde o número no final é a prioridade do aplicativo, o maior será selecionado automaticamente.

E para selecionar qual versão do compilador iremos utilizar, basta:

$ sudo update-alternatives --config gcc

Simples assim!

domingo, 27 de novembro de 2011

Cuda na plataforma Optimus

Se você leu meu último post (http://compiladao.blogspot.com/2011/11/nvidia-e-intel-sandy-bridge-no-ubuntu.html) você viu que é possível fazer a sua placa Nvidia funcionar em computadores que tenha um processador Intel de segunda geração (com placa de vídeo "on chip").

Agora se você se interessa por programação e quer rodar programas em CUDA vamos ao que interessa.

Primeiramente certifique-se que sua placa Nvidia esteja funcionando de acordo com o post citado acima. Se tudo estiver correto, em um terminal faça:

$ sudo apt-get install build-essential gcc-4.4 g++-4.4 libxi-dev libxmu-dev freeglut3-dev mesa-utils

isso instalará as dependências do CUDA.


 Vá até o post (http://compiladao.blogspot.com/2011/01/instalando-os-drivers-nvidia-e-cuda.html)e faça o procedimento descrito na parte ++Instalando CUDA++, ou seja, acesse o site da Nvidia e baixe o Cuda Toolkt e o CUDA SDK e os instale.

Na hora de rodar o exemplo, em vez de:

./exemplo

faça:

optirun exemplo

É isso!

quinta-feira, 10 de março de 2011

CUDA para iniciantes

Olá pessoal,

Ao invés de fazer um post-tutorial eu achei melhor melhor fazer um post-indicativo, ou seja, em vez de elaborar algum material (que poderia ser falho ou incompleto) eu decidi expor à vocês vários links com conteúdo muito mais completo e explicativo do que eu poderia elaborar!

Se você possui uma placa Nvidia da série 8 ou maior (acesse aqui para saber se sua placa roda) você poderá rodar programas escrito na linguagem CUDA. Para isso você deve ter os drivers instalados.

Um boa fonte de aprendizado (foi aqui que comecei) sobre CUDA é o site CUDA Training da própria Nvidia, lá você encontra informações das mais básicas até as mais avançadas, como tutoriais e vídeo-aulas da universidade de Illinois e Stanford. Se você não sabe o que é CUDA assista o primeiro vídeo-aula das duas universidades, é um bom começo!

Outra fonte de aprendizado foram os livros: CUDA by Example: An Introduction to General-Purpose GPU Programming  e Programming Massively Parallel Processors: A Hands-on Approach.

A documentação que acompanha a instalação dos drivers do CUDA é outra fonte de informação que não deve ser dispensada, sempre consulto o CUDA C Programming Guide, a documentação está presente na pasta /usr/local/cuda/docs.

No site do Dr. Dobbs existe um série de artigos(parte 1 à parte 21), cada um deles é focado em um aspecto da linguagem. Depois de assistir as vídeo-aulas aconselho ler os artigos, neles você poderá por a mão na massa e implementar alguns códigos em CUDA.

E não deixe de ver também: gpuocelot, swan, adsm, hiCUDA, MAGMA, Thrust, CUSP

E é isso! Duvidas, criticas e/ou sugestões são bem vindas!



sexta-feira, 28 de janeiro de 2011

Instalando os drivers NVIDIA e CUDA

Como complemento ao posto anterior, PCSX2 a jornada: Parte 3, irei ensinar como instalar os drivers da NVIDIA no Ubuntu de duas forma distintas, a) o driver proprietário e b) o driver presente no repositório do Ubuntu! e de quebra se você possui uma placa da série 8 ou maior instalar os drivers do CUDA!


++Instalando o driver proprietários++


Vá ao site da NVIDIA e baixe o driver referente à sua placa e sua versão do SO.


Antes de começar a instalação você deve se certificar que nenhum pacote da nvidia presente no repositório esteja instalado em sua máquina, para isso execute:

$ sudo apt-get purge nvidia-*
Agora você deve editar o aquivo: /etc/modprobe.d/blacklist.conf e adicionao ao final dele:



blacklist vga16fb
blacklist nouveau
blacklist lbm-nouveau
blacklist nvidia-current
blacklist nvidiafb




isso fará com que o sistema não inicie tais módulos.


Agora você deve instalar os arquivos do kernel necessários para compilar o módulo do driver da NVIDA.

$ sudo apt-get install linux-headers-'uname -r'
Após isso estamos prontos para instalar o driver. Aperte Ctrl+Alt+F1 e logue com seu usuário e execute este comando:

$ sudo service gdm stop
Navegue até o local onde baixou o driver e:
$ sudo sh NVIDIA-Linux-<version>.run
siga as instruções e pronto. Agora você deve iniciar o modo gráfico novamente e já estará com seu driver NVIDIA instalado
$ sudo service gdm start


++Instalando o driver presente no repositório++


Este método é o mais fácil e indicado se você não se importar de não ter os drivers mais atualizados. Além de ser independente do método anterior, ou você decide usar este ou o anterior!


Simplesmente rode o comando:
$ sudo apt-get install nvidia-current nvidia-glx-185 nvidia-settings nvidia-185-libvdpau nvidia-185-modaliases
Ou então:
$ sudo apt-get install nvidia-*


++Instalando CUDA++


Se você possue uma placa da série 8 ou maior ela é habilitada a rodar programas escritos em CUDA. Para saber mais clique aqui.


Acesse o site e baixe o CUDA ToolKit e o GPU Computing SDK code samples.


Navegue até a pasta em que você os baixou e rode os comandos:
$ sudo sh cudatoolkit_<version>.run
Edite o seu bashrc:
$ vim ~/.bashrc
e adicione as seguintes linhas:


PATH=$PATH:/usr/local/cuda/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib:/usr/local/cuda/lib64:/    usr/local/cuda/cudaprof/bin:/usr/lib
CUDA_INSTALL_PATH=/usr/local/cuda
export PATH
export LD_LIBRARY_PATH
export CUDA_INSTALL_PATH





Com isso instalamos o compilador nvcc e as bibliotecas CUDA, agora vamos instalar o pacote SDK que contem exemplos de programas escritos em CUDA.
$ sh gpucomputingsdk_<version>.run
Precisamos instalar ainda alguns pacotes para satisfazer os dependências:
$ sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev libxi-dev libxmu-dev freeglut3 libmotif3 libegl1-mesa libxcb-glx0 libxcb-glx0-dev libgl1-mesa-dri-experimental mesa-utils glew-utils
Verifique se a biblioteca libGL está lincada corretamente: (execute este passo somente se você instalar o driver proprietário da NVIDIA senão pule direto para a parte da compilação dos exemplos)


cd /usr/lib
ls -la | grep libGL

e deveremos chegar se a libGL.so está apontando para a libGL.so.1 e a libGL.so.1 está apontando para a libGL.so.<version>


libGL.so -> libGL.so.1*
libGL.so.1 -> libGL.so.260.19.36*



senão:



$ sudo mv /usr/lib/libGL.so /usr/lib/libGL.so.bak
$ sudo mv /usr/lib/libGL.so.1 /usr/lib/libGL.so.1.bak
$ sudo ln -s libGL.so.<version> libGL.so.1
$ sudo ln -s libGL.so.1 libGL.so



Agora para testar se a instalação ocorreu com o esperado, ou seja, compilar os exemplos:
$ cd ~/NVIDIA_GPU_Computing_SDK/C
e
$ make
depois de compilado é hora de visualizar alguns exemplos:
$ cd ~/NVIDIA_GPU_Computing_SDK/C/bin/linux/release
$ ./fluidsGL
e sinta-se a vontade para explorar os outros exemplos.


Fonte: GPUBrasil

EDIT:

Um tópico do ubuntu forum excelente: http://ubuntuforum-br.org/index.php/topic,69789.0.html

Um site ensinando como instalar o último driver pelo repositório: http://www.webupd8.org/2010/06/how-to-install-nvidia-25635-display.html