O Dilema da GPU Solitária 2 – A Revanche
Então eu estava incomodado com não poder testar meus programas (que ainda nem estão prontos) na minha própria máquina e estava aqui curioso para saber como resolver isso.
Fui no site oficial do opensuse (que é a distribuição linux que eu uso) para ver como fazer isso e encontrei a seguinte dica:
Ctrl + Alt + F2 – abre uma sessão de terminal em modo texto
Ctrl + Alt + F7 – volta para a sessão em modo gráfico
Aí para não ter nenhum susto eu compilei minha multiplicação para executar 10 mil repetições, fechei todos os programas e abri o terminal em modo texto, o programa todou em 33 segundos (ok eu acho que ficou muito lento, mas isso é outro problema.) Aí resolvi abusar, voltei para o modo gráfico abri o Amarok, coloquei uma música para tocar, abri o Netbeans 6.7, modifiquei o programa para executar 100 mil repetições e voltei para o modo gráfico (a única coisa que eu fiz de especial foi minimizar os programas.) Coloquei o programa para executar pensando “não vai dar certo,” pois não é que rodou direito e executou durante 5 minutos sem problemas e com a música tocando ?
No final voltei para o modo gráfico e tudo estava lá, sem janelas corrompidas nem instabilidade no sistema.
É claro que se você quer executar um programa em GPU que vai ter um efeito visual vai ter que executar dentro do modo gráfico e aí a solução tem que ser outra, mas se a ideia é executar uma aplicação paralela que vai apenas gerar resultados (que é o meu caso) então esta solução foi ótima! Já posso continuar meus testes, o único problema é que nesse ponto voltamos para a idade da pedra na pesquisa, todas as anotações de resultados que aparecerem na tela tem que ser copiadas no papel porque não tem como copiar e colar
(ok ok você pode mandar o seu programa gravar em disco, mas eu não queria perder a piada.)


Que bom que voce achou uma solucao! Agora executa o teste sem outros processos (amarok etc) mas numa outra sessao deixa o vmstat jogando a utilizacao de CPU pra um arquivo texto a cada 5 segundos (i.e. vmstat 5 > vmstat.out) – desse jeito voce pode confirmar que a execucao esta se dando na GPU e nao na CPU. Se tudo estiver correto a CPU vai estar 99% idle. Eu descobri que so os modelos mais novos de GPU da nVidia (200+) conseguem dizer a GPU usage, a minha 9800GT nao consegue. As ATI sao melhores, pelo menos nesse sentido…