Por que sua próxima CPU poderia ser uma GPU
NotíciaTodo mundo está falando sobre supercomputação no desktop - e, em particular, se serão as GPUs que atingirão esse objetivo. Acreditamos que a computação de uso geral em GPUs (uma idéia conhecida como GPGPU) pode ser a tendência de computação mais importante nos próximos 10 anos..
Como as alegações vão, é um grande problema. Mas se você quiser provar a fé do setor no novo conceito, basta olhar para as empresas que querem uma fatia do bolo GPGPU: Nvidia, AMD, Intel, Microsoft, IBM, Apple e Toshiba, todas querem. E não é apenas especulação que está levando a um grande interesse: os sistemas GPGPU já superam os clusters somente de CPU em campos tão diversos quanto dinâmica molecular, traçado de raios, imagens médicas e correspondência de sequências.
A combinação de processamento paralelo de CPU e GPU usada para alcançar esses resultados é frequentemente chamada de “computação heterogênea”. O conceito GPGPU permite que a GPU seja luar como um coprocessador versátil. Como David Luebke, da Nvidia, sugeriu, os computadores não estão mais ficando mais rápidos; a mudança para processadores multicore significa que eles estão realmente ficando mais largos.
Essa é a ideia de que a computação GPGPU se encaixa. Ao transferir de maneira inteligente as tarefas de uso intensivo de dados da CPU para outros núcleos de processador (como as de uma placa gráfica), os desenvolvedores obtêm um melhor desempenho do aplicativo por meio do paralelismo.
O GPGPU dificilmente é uma ideia nova, no entanto. De acordo com o site www.gpgpu.org, a tecnologia GPU tem sido usada para processamento de dados desde 1978, quando a Ikonas desenvolveu um sistema de exibição de raster programável para instrumentação de cockpit..
De GPU para GPGPU
As GPUs modernas são coprocessadores ideais. Não só eles são baratos, eles também são incrivelmente rápidos, graças à presença de múltiplos núcleos de processador. Mais importante ainda, esses múltiplos núcleos são programáveis. Enquanto as CPUs são projetadas para processar threads sequencialmente, as GPUs são projetadas para gravar dados em paralelo.
A Nvidia GeForce GTX 280, por exemplo, é construída para velocidade. Como um componente de jogos, é capaz de fornecer visuais suaves de alta definição com efeitos de iluminação complexos, texturas e física em tempo real. Basta dar uma olhada Far Cry 2 em 1.920 x 1.200 pixels. Com 1,4 bilhão de transistores, a GeForce GTX 280 comanda 240 núcleos de sombreamento programáveis que podem fornecer 993 gigalops de potência de processamento.
A tecnologia gráfica da AMD é igualmente potente. Suas placas Radeon HD da série 4800 possuem 800 núcleos programáveis e memória GDDR5 para fornecer 1,2 teralops de capacidade de processamento. "Pipelining estrito de programas de GPU permite acesso eficiente a dados", diz Shankar Krishnan em laboratórios de pesquisa da AT & T. "Isso elimina a necessidade das extensas arquiteturas de cache necessárias nas CPUs tradicionais e permite uma densidade muito maior de unidades computacionais".
Claro, se você não está jogando Far Cry 2 ou Fallout 3 então todo esse potencial de processamento é apenas sentar sobre os polegares. GPGPUs nos permitirá ver o que acontecerá se outros aplicativos puderem usar os processadores em uma placa gráfica.
Processamento de fluxo
É por isso que a Nvidia e a AMD estão interessadas em aproveitar o potencial do GPGPU de seu hardware gráfico. O Supercomputador Pessoal Tesla da Nvidia, por exemplo, combina uma CPU de workstation quad-core tradicional com três ou quatro processadores Tesla C1060.
Um C1060 é efetivamente uma GeForce GTX 280 com 4 GB de memória GDDR3 e sem saída de vídeo. Cada C1060 é capaz de atingir 933 gigalops de desempenho de ponto flutuante de precisão única, de modo que o sistema S1070 de quatro GPUs de última geração da Nvidia oferece até 4,14 teralops de potência de processamento em cada rack. O Instituto de Tecnologia de Tóquio recentemente comprou 170 deles para dar um chute extra ao supercomputador Tsubame..
As GPUs fazem os trituradores de números ideais porque são projetados para trabalhar com 'fluxos' de dados e aplicar operações pré-programadas a cada peça. As GPUs funcionam melhor com grandes conjuntos de dados que exigem o mesmo cálculo. A empresa OpenGeoSolutions, baseada em Calgary, usa o hardware Tesla da Nvidia para melhorar sua modelagem sísmica através de uma técnica chamada decomposição espectral. O processo envolve a análise de freqüências eletromagnéticas de baixo nível (causadas por variações na massa rochosa) para construir uma visão estratigráfica da geologia da Terra..