por Dustin Sklavos - 2009/11/20
por Dustin Sklavos
Uma das principais tecnologias vibra agora é o que é chamado de "computação heterogênea" ou "General Purpose GPU" computação. A idéia básica por trás desses termos estranhos é que o hardware de gráficos tornou-se tão poderosa e flexível que você pode usá-lo para fazer mais do que jogos funcionam. Na verdade, seu laptop placa gráfica (GPU) pode realmente aumentar e correr ao lado do CPU para melhorar substancialmente o desempenho do sistema em determinados casos. A Microsoft já começou a alavancar gráficos de energia do processador um pouco com a interface Aero do Windows Vista, mas eu estou falando de ir além tarefas imediatamente visuais.
Nvidia tem sido um dos principais proponentes de usar a GPU para lidar com outras tarefas, e têm investido muito tempo e comercialização em computação GPU ... especificamente com seu próprio hardware. ATI foi jogar um pouco de ficar em segundo plano aqui, com seu software Fluxo de baixo desempenho em relação ao CUDA da Nvidia e em nenhum lugar perto de alcançar a penetração de mercado ainda limitada. Isto está a mudar graças ao Windows 7 e do lançamento de mais um software que tira proveito de Stream.
Então, por que isso é relevante para você? Essa é uma boa pergunta. A resposta é simples: velocidade. Ao fazer o seu trabalho GPU em conjunto com o seu CPU para tarefas gerais que você pode realizar essas tarefas em uma fração do tempo que leva para a CPU do seu laptop para fazer isso sozinho.
O fato é que enquanto os usuários de ambos os desktops e notebooks têm a beneficiar com esta tecnologia, o poder de processamento de notebook ainda está um pouco de um prémio, provavelmente mais do que tem sido em algum momento. Intel é atualmente a fabricante de processadores apenas para oferecer móveis quad-core, mas estes quads ainda chamar muita energia e geram muito calor, tornando-os impróprios para a implementação notebook geral e deixando de lado os a máquinas maiores de substituição de desktop. Para o usuário móvel, sendo capaz de alavancar um pouco do poder de processamento de uma GPU que normalmente fica ocioso poderia ser uma melhoria bem-vinda.
GPU computing não é generalizada ainda, mas ele está vindo ... pelo menos se a Nvidia ea AMD tem nada a dizer sobre isso.
O trabalho de base
Antes do Windows Vista e DirectX 10, foi em grande parte do hardware de gráficos de função fixa e realmente útil apenas para renderização de gráficos 3D. Sem entrar em muitos detalhes técnicos sobre o que as partes do GPU fez, podemos simplesmente dizer que não foi hardware dedicado para lidar com pixel shaders, hardware dedicado para lidar com vertex shaders e hardware dedicado para lidar com texturização.
Mesmo que o Windows Vista e DirectX 10 podem ser considerados falhas marginais (DirectX 10 viu a penetração de mercado lamentavelmente mínimo), o salto tecnológico que o DirectX 10 predicado não pode ser subestimada. DX10 hardware de classe tinha de passar a usar hardware de sombreamento unificada, shaders que poderia lidar com pixel, vértice, ou os shaders nova geometria. Este salto teve duas conseqüências principais.
O primeiro impacto foi a uma imediata: Agora que pixel shaders e vertex são tratados pelo mesmo hardware, recursos de GPU poderia ser mais adequadamente equilibrado e usado em jogos, o que resulta em melhor desempenho e menor potencial inexplorado no GPU em si. Anterior para DX10, ATI, em particular tinha vindo a desempenhar um ato de equilíbrio tentar descobrir se ou não um GPU deve ter shaders mais pixels do que vértice, e quantos mais. Com DX10, este tornou-se irrelevante.
O segundo é o impacto mais abrangente: O shader hardware em si tornou-se substancialmente mais programáveis para o ponto onde ele poderia ser usado agora para a computação mais generalizada e de cálculo em vez de apenas gráficos. Embora esta mudança tem muito poucas aplicações imediatas, ele está se propagando gradualmente.
Isso deu origem a "General Purpose GPU" computação ... e ela está mudando o futuro de computadores.
O Presente: CUDA e STREAM
Agora, a computação GPU é bastante limitada. Tanto quanto o consumidor médio está em causa não são, basicamente, dois tipos de opções de computação GPU no mercado: CUDA da Nvidia e ATI Stream de.
Nvidia tem pressionado sua plataforma CUDA de forma muito agressiva, mas os seus padrões proprietários não tenho dúvida de seu apelo limitado. Eu admito a ter um viés para a ATI e AMD, e grande parte disso é porque, enquanto a Nvidia lançou uma quantidade substancial de base para GPU computação em geral, eles mantiveram integralmente proprietário com CUDA e tendem a ser bastante agressivo sobre o bloqueio de fora da competição. Ainda assim, não se pode subestimar os esforços da Nvidia para conscientizar os consumidores de computação GPU.
Uma das maiores vitórias da Nvidia com CUDA tem sido o software Badaboom Elemental transcodificação de vídeo, que é capaz de usar os shaders unificados em gráficos Nvidia dedicados para acelerar substancialmente a codificação de vídeo. Tradução: Você pode transferir um arquivo de vídeo em massa a partir do seu computador para o iPod em questão de segundos, em vez de uma questão de minutos.
ATI tem uma aplicação semelhante com seu codificador AVIVO próprio (parte da tecnologia ATI Stream), mas os testes modernos têm mostrado que ATI Stream produz resultados finais um pouco inferior ao CUDA da Nvidia. Ainda assim, a codificação de vídeo é uma tarefa que pode levar uma quantidade substancial de tempo e poder de processamento, e com mais pessoas de transcodificação de vídeos baixados na internet para uso em iPhones, PSPs, Zunes, e assim por diante, é uma aplicação útil da tecnologia.
A outra vitória importante ao nível do consumidor Nvidia teve com CUDA tem sido o seu middleware PhysX, anteriormente PhysX da AGEIA. PhysX é usado para acelerar cálculos de física em jogos que o suportam (jogos como borda do espelho e Batman: Arkham Asylum) e pode produzir uma experiência de jogo nomeadamente melhorada. O ponto chave aqui é que, enquanto a tecnologia está sendo usada em um jogo, a GPU em si também é realmente lidar com cálculos de física-primas (tradicionalmente apenas manipulados pela CPU).
Isso tudo é ignorar as incursões principais Nvidia CUDA e fizeram na empresa e sectores da educação, onde o hardware da Nvidia é usado para acelerar todos os tipos de cálculos diferentes. Esses aplicativos não são tão relevantes para você, mas eles existem como prova de conceito.
Fluxo AMD / ATI 's tem visto adoção um pouco menos, mas o marketing nunca foi o ponto forte da AMD. Eu os amo muito, mas que os benefícios do córrego simplesmente não estão ficando imprensa tanto quanto CUDA. Atualmente eu só posso citar o medíocre em casa vídeo AVIVO codificador e ArcSoft TotalMedia Theatre como o software que usa Stream, e TotalMedia Theatre também pode utilizar CUDA para as mesmas tarefas.
O que você acabar com uma espécie tênue de situação em que a Nvidia fez uma batelada de footwork na tentativa de padronizar a computação GPU, e enquanto a sua cabeça está no lugar certo, o seu coração não é. Nvidia é mais ou menos bloqueio PhysX para chips Nvidia CUDA e empurrando como um padrão proprietário ao invés de tentar desenvolver algo que será executado em todos os computadores. Este tipo de abordagem tende a ser míope e ameaça colocar um fim ao que de outra forma seria uma tecnologia popular novo.
O Futuro: OpenCL e DirectCompute
Claro, ainda há muito potencial para computação GPU. Dois padrões abertos se materializaram e estão gradualmente sendo aceito ... normas que serão executados em qualquer hardware compatível da ATI ou nVidia: OpenCL e DirectCompute.
OpenCL é tratado pelo Khronos Group, a parceria mesmo que (des) lida com a plataforma OpenGL, OpenCL, mas foi integrado na versão mais recente do Mac OS X da Apple, o Snow Leopard. ATI ou Nvidia hardware gráfico pode executar código OpenCL, e não há nenhuma razão para acreditar que o OpenCL não será utilizado. OpenCL é também mais agnóstico, plataforma e de código OpenCL pode correr em Linux ou Windows, além do Mac OS X.
O outro padrão é DirectCompute, que vem parte e parcela com DirectX 11, que por sua vez vem com o Windows 7 (e estará disponível no Windows Vista também). Como parte do pacote DirectX 11, DirectCompute tem o benefício de maior visibilidade para programadores em ambiente Windows e permite alguns cálculos adicionais impressionantes, mesmo dentro de jogos, semelhante ao PhysX, mas com maior flexibilidade.
A coisa mais importante a se notar é que agora há duas independente de fornecedor normas em vigor para a computação GPU que esperamos levar ao uso generalizado de computação GPU em notebooks em 2010. Orçamento usuários de notebooks, em particular, pode querer tomar nota: se você já se estava tudo bem para comprar um laptop com gráficos integrados da Intel você pode finalmente ter uma razão para comprar um notebook com placa de vídeo dedicada.
Conclusão
Em tudo isso, o grande takeaway é que o hardware de gráficos está crescendo além do seu propósito original. A GPU está se transformando em um co-processador utilidade capaz de fazer algumas muito impressionante levantamento pesado. Isso serve para aproveitar melhor o hardware disponível em notebooks modernos. GPU computação tem o potencial de fornecer um outro grande salto no desempenho global e reforçar "laptops", como estações de trabalho móveis que valem a pena ... independentemente de se você está usando um notebook mais velho jogo de 17 polegadas ou um novo ultraportátil de 12 polegadas com entrada de nível de gráficos discretos.
A melhor parte é o preço. Os usuários que já possuem o equipamento na mão capaz de usar OpenCL (Nvidia série 8 e mais recente, a ATI Radeon HD série 4000 e mais recente) ou DirectCompute (Nvidia série 8 e mais recente, a ATI Radeon HD 2000-series e mais recentes) irá desfrutar esta funcionalidade aumentada simplesmente atualizando seus drivers de vídeo.
Durante o próximo ano ou assim que você pode esperar para ver o software que tira proveito de aceleração GPU gradualmente saindo da toca ... mais uma razão para comprar notebooks com gráficos discretos.
Sem comentários:
Enviar um comentário