O Dilema da GPU Solitária
Então como eu havia falado estou começando a fazer experiências de programação com GPU (em uma nVidia 8200G M que tem um processador com 8 núcleos.) O meu objetivo não é processar imagens rapidamente, muito pelo contrário quero usar a GPU para rodar programas realmente demorados então o primeiro teste foi fazer uma multiplicação de matrizes da ordem 4000 (isso dá por volta de um milhão de operações de multiplicação e soma combinadas.)
Qual não foi minha surpresa quando o sistema operacional abortou o programa deliberadamente. Procurando nos fóruns descobri que se você só tem uma placa de vídeo (que é o caso do laptop por motivos óbvios) o sistema operacional não deixa um programa rodar na GPU por mais do que (aproximadamente) 5 segundos. Isso na prática é uma ótima restrição (embora tenha me atrapalhado muito) porque evita que as pessoas tenham que desligar suas máquinas na mão por ter algum erro em seus programas. As sugestões nos fóruns são bem orientadas a gambiarras. Porém uma chamou a minha atenção (e só é possível no linux) você pode carregar o driver de vídeo, abrir uma nova sessão em modo texto e aí será possível executar o seu programa.
A alternativa mais “correta” para o meu problema (que é executar um programa por um tempo indeterminado e sabidamente longo) é ter uma placa de vídeo (GPU) no sistema que não seja a placa de vídeo na qual o monitor está ligado. Assim você não tem essa limitação, fazendo uma rápida cotação, uma máquina dessas vai ficar um pouquinho cara então estou tentando fazer testes que apontem que o meu projeto vai funcionar, porque a pior coisa que tem é investir um dinheiro em um equipamento e no final não resolver o seu problema.


Leave a Reply