Pesquisa personalizada

sexta-feira, 21 de novembro de 2008

AMD Fusion: CPU + GPU na Computação Acelerada

Teoricamente, quando mais núcleos tem uma CPU, maior o número de transístores e por conseqüência, melhor a performance. Mas a AMD, Intel, IBM e outros fabricantes sabem muito bem que não funciona assim por um motivo: o software está anos atrás do hardware.

Hoje em dia, uma CPU com 4 núcleos chega a perder em alguns benchmarks, games principalmente, porque os mesmos são otimizados para dois núcleos. Programação em paralelo para 4 núcleos significa 4 vezes mais problemas e um detalhe: os compiladores simplesmente não estão otimizados o suficiente para fazer o uso do paralelismo.

O resultado é frustração. Uma aplicação numa CPU Quad Core não roda 4 vezes mais rápido, mesmo tendo 4 vezes mais transístores e os fabricantes sabem disso. A AMD apresentou sua visão para resolver esse problema através do Fusion e outras mudanças arquiteturais nas CPUs.

A arquitetura Fusion, que deve entrar no mercado em 2009, é uma proposta diferente. Uma CPU heterogênea, composta de aceleradores específicos dentro dela. Por exemplo, ao invés de ter 4 núcleos "genéricos", seria melhor ter 2 núcleos construídos como uma GPU, com vários processadores "shader" internos. A vantagem é poder processar vídeo dentro do mesmo núcleo, assim como efeitos de física, cálculos matemáticos, entre outros.

O conceito do Cell da IBM vem em mente. Mas ao invés de células de processamento genéricas reprogramáveis, a AMD propõe integrar várias arquiteturas, dividindo o trabalho com núcleos dedicados. CPUs genéricas são péssimas para vídeo e gráficos 3D. Uma chip dedicado a som faz o trabalho melhor que a CPU também. E talvez processamento de sinais de rede. Ao invés de um Octocore genéricos, ineficiente porque o software não consegue fazer uso, um processador com várias divisões internas deixaria tudo mais rápido, usando a base de código atual e com menor consumo de energia.

Um processador como esse poderia executar mais ações em paralelo com redução de tráfego de informações em barramentos, usando a área de cache comum e acesso direto a memória. Além disso, a arquitetura de GPUs mostrou-se ótima para aplicações científicas, como desdobramento de proteí nas, usado em pesquisas contra o câncer.

Achei a idéia bem interessante, porque um único chip com vários núcleos heterogêneos vai aumentar a vida útil de baterias e reduzir ainda mais o tamanho do hardware necessário em portáteis. Estou torcendo para que a AMD possa mostrar o Fusion funcionando e não seja um vaporware.