Faça mais com gráficos ligados ao GPGPU
NotíciaA revolução do GPGPU é mais como um giro lento.
Se você é um usuário doméstico médio, o que o GPGPU já fez por você além de fornecer outro ponto de destaque na caixa de um fabricante de placa gráfica?
A verdade é que a computação profissional de alto desempenho oferecida via GPGPU é um grande negócio. Cerca de um quarto do faturamento de US $ 1 bilhão da Nvidia vem de serviços "profissionais", se você sabe o que queremos dizer. E nós queremos dizer super computação. Para aplicações específicas - muitas vezes, renderização 3D e modelagem científica - os farms de renderização em rede da GPGPU fornecem uma maneira econômica de fornecer grande poder computacional.
- O passado, presente e futuro da tecnologia multi-GPU
Em tempos passados, se você quisesse teraflops de poder de processamento, você passaria para as marcas da IBM ou da Cray com o seu talão de cheques aberto, e deixaria que isso acontecesse com a criação de sistemas de supercomputador feitos sob medida com resfriamento criogênico. Hoje, os componentes prontos para uso podem fazer o mesmo trabalho graças a soluções de software sob medida.
Todo esse trabalho de desenvolvimento difícil, eventualmente, escorre para os usuários individuais humildes como você e eu.
A má notícia, dependendo do seu ponto de vista, é que, mesmo depois de ser gotejada, as ferramentas GPGPU tendem a ser fortemente influenciadas pela matemática. Ótimo se você ama matemática, mas quem?
Faça as contas
Matemática não é uma coisa ruim; em última análise, os jogos 3D são matemáticos na forma de transformações matriciais. É só que qualquer função GPGPU precisa trabalhar em um nível similar. Isso limita as aplicações até que a ramificação condicional se torne mainstream, o que está acontecendo, mas lentamente.
Da outra direção, a maioria dos programas GPGPU suportam todos os cartões. Com a exceção de construções dedicadas Nvidia CUDA, a principal diferença é a quantidade de trabalho que a placa é capaz e, portanto, sua velocidade máxima. Em alguns casos, é bem possível que uma placa de vídeo mais antiga possa ser superada por um processador mais moderno, mesmo que nossos testes com codificação ainda tenham visto uma Nvidia 6600 GT relativamente fraca fazendo relativamente bem..
Então, quais programas você pode encontrar para aproveitar os seus shaders de GPU preguiçosos e inúteis? Bem, para começar, o WinZip oferece aceleração OpenCL para compactar e descompactar arquivos com um aumento de 20-30% na velocidade.
Um dos usos originais, e um que permanece forte, está quebrando criptografia e senhas. Dê uma olhada no CRARk. Um jogo inteligente no Crack RAR, este programa de linha de comando de aparência não amigável é, na verdade, um cracker de senhas RAR, que usa o GPGPU para aumentar em 20 vezes as velocidades de ataque. Usando seu modo de benchmark, a verificação de senha saltou de 283 por segundo para 4.281 por segundo. Duvidamos que seja particularmente útil, mas é um exemplo real do que pode ser alcançado. Se você quiser algo um pouco mais fácil de usar, tente Recuperação Paralela.
Outra oldie mas goodie é Folding @ Home. Esta foi - e ainda é - uma das aplicações mais conhecidas do GPGPU, que ficou ainda mais famosa ao tirar proveito do processador PlayStation 3 Cell. Igualmente inteligente é o sistema de modelagem distribuída que distribui tarefas de trabalho para sistemas individuais. No entanto, apesar de sua esperteza e do fato de que poderia estar ajudando a humanidade a avançar, o Folding @ Home não faz nada prático.
Usos práticos
O primeiro programa verdadeiramente útil é o Musemage, um processador de imagem escrito a partir do zero em torno da aceleração do GPGPU. Isso faz com que seja muito rápido e permite aplicar filtros, efeitos e manipulações de imagens em tempo real. É um pacote impressionantemente rápido, e é interessante como uma pequena carga na GPU contribui para um grande ganho no desempenho do programa. Por exemplo, o ajuste dos níveis de desfoque adiciona apenas um carregamento de 5% de GPGPU.
O mesmo está chegando ao GIMP através de uma tecnologia chamada GEGL, mas isso não deve ser totalmente implementado até a versão 2.10. Falou-se de ser parcialmente implementado em certos filtros para 2.8 RC1, mas que parece estar indisponível por enquanto.