socialgekon.com
  • Principal
  • Lucratividade E Eficiência
  • Eventos Coisas Para Fazer
  • Gestão De Engenharia
  • Design De Marca
Tecnologia

HSA para desenvolvedores: computação heterogênea para as massas

O que fabricantes de chips como AMD, ARM, Samsung, MediaTek, Qualcomm e Texas Instruments têm em comum? Bem, além das semelhanças óbvias entre esses gigantes fabricantes de chips, eles também são fundadores da Fundação HSA. O que é HSA e por que precisa de uma base apoiada por pesos pesados ​​do setor?

Nesta postagem, tentarei explicar por que HSA pode ser um grande negócio em um futuro próximo, então começarei com o básico: O que é HSA e por que você deve se preocupar ?

HSA significa Heterogeneous System Architecture, o que parece meio chato, mas acredite em mim, pode se tornar muito empolgante. HSA é essencialmente um conjunto de padrões e especificações projetados para permitir maior integração de CPUs e GPUs no mesmo barramento. Este não é um conceito totalmente novo; CPUs de desktop e SoCs móveis vêm empregando gráficos integrados e usando um único barramento há anos, mas a HSA leva isso para o próximo nível.



Mesma carga, arquiteturas diferentes: CPUs e GPUs se destacam em diferentes tarefas. O que acontece quando eles começam a compartilhar a carga, sem a entrada do desenvolvedor?

Mesma carga, arquiteturas diferentes: CPUs e GPUs se destacam em diferentes tarefas. O que acontece quando eles começam a compartilhar a carga, sem a entrada do desenvolvedor? Tweet

Em vez de simplesmente usar o mesmo barramento e memória compartilhada para a CPU e GPU, o HSA também permite que essas duas arquiteturas muito diferentes funcionem em conjunto e compartilhar tarefas . Pode não parecer grande coisa, mas se você der uma olhada mais de perto e examinar os efeitos potenciais de longo prazo dessa abordagem, ela começa a parecer muito “legal” no sentido técnico.

Ah não! Aqui está outro padrão bobo que os desenvolvedores devem implementar

Sim e não.

A ideia de compartilhar o mesmo barramento não é nova, e nem é a ideia de empregar GPUs altamente paralelizadas para certas tarefas de computação (que não envolvem renderização de headshots). Isso já foi feito antes, e acho que a maioria de nossos leitores já está familiarizada com os padrões GPGPU como MILAGRES e OpenCL.

No entanto, ao contrário da abordagem CUDA ou OpenCL, HSA iria efetivamente tirar o desenvolvedor da equação, pelo menos quando se trata de atribuir diferentes cargas a diferentes núcleos de processamento. O hardware decidiria quando descarregar cálculos da CPU para a GPU e vice-versa. O HSA não deve substituir as linguagens de programação GPGPU estabelecidas, como o OpenCL, pois elas também podem ser implementadas no hardware HSA.

Esse é o ponto principal da HSA: É suposto tornar todo o processo fácil, até mesmo perfeito. Os desenvolvedores não precisarão necessariamente pensar em transferir cálculos para a GPU. O hardware fará isso automaticamente.

Muitos grandes nomes suportam HSA. No entanto, os pesos pesados ​​da indústria Intel e Nvidia não estão na lista.

Muitos grandes nomes suportam HSA. No entanto, os pesos pesados ​​da indústria Intel e Nvidia não estão na lista. Tweet

Para conseguir isso, a HSA terá que contar com o suporte de vários fabricantes de chips e fornecedores de hardware. Embora a lista de apoiadores da HSA seja impressionante, a Intel está visivelmente ausente deste verdadeiro quem é quem da indústria de chips. Dada a participação de mercado da Intel nos mercados de processadores para desktop e servidor, este é um grande acordo. Outro nome que você não encontrará na lista é Nvidia, que é focada em CUDA e atualmente é líder no mercado de computação em GPU.

No entanto, o HSA não é projetado apenas para sistemas e aplicativos de alto desempenho, em hardware que geralmente apresenta um Intel Inside adesivo. O HSA também pode ser usado em dispositivos móveis com eficiência energética, onde a Intel tem uma participação de mercado insignificante.

Portanto, a HSA deve tornar a vida mais fácil, mas ainda é relevante? Será que vai pegar? Esta não é uma questão tecnológica, mas econômica. Vai depender da mão invisível do mercado. Então, antes de prosseguirmos, vamos começar dando uma olhada mais de perto em como as coisas estão agora e como chegamos aqui.

Desenvolvimento de HSA, problemas iniciais e preocupações de adoção

Como eu disse na introdução, HSA não é exatamente um conceito novo. Ele foi originalmente concebido pela Advanced Micro Devices (AMD), que tinha grande interesse em tirá-lo do papel. Uma década atrás, a AMD comprou a especialista em gráficos ATI e, desde então, a empresa vem tentando alavancar seu acesso à tecnologia de GPU de ponta para impulsionar as vendas gerais.

À primeira vista, a ideia era simples: a AMD não apenas continuaria desenvolvendo e fabricando GPUs discretas de ponta, mas também integraria a tecnologia de GPU da ATI em seus processadores. O departamento de marketing da AMD chamou a ideia de ‘Fusion’, e a HSA foi conhecida como Fusion System Architecture (FSA). Parece ótimo, certo? Conseguir um processador x86 decente com bons gráficos integrados parecia uma boa ideia, e era.

Infelizmente, a AMD encontrou vários problemas ao longo do caminho; Vou destacar alguns deles:

  • Qualquer boa ideia em tecnologia certamente será aproveitada pelos concorrentes, neste caso - a Intel.
  • A AMD perdeu a vantagem tecnológica para a Intel e achou cada vez mais difícil competir no mercado de CPU devido à liderança em tecnologia de fundição da Intel.
  • A execução da AMD foi problemática e muitos dos novos processadores chegaram atrasados ​​ao mercado. Outros foram descartados inteiramente.
  • O colapso econômico de 2008 e a revolução móvel subsequente não ajudaram.

Esses, e uma série de outros fatores, conspiraram para diminuir a vantagem da AMD e impedir a adoção de seus produtos e tecnologias pelo mercado. A AMD começou a lançar processadores com a nova geração de gráficos Radeon integrados em meados de 2011 e começou a chamá-los de Unidades de Processamento Acelerado (APUs) em vez de CPUs.

Além de marketing, a primeira geração de APUs da AMD (codinome Llano) foi um fracasso. Os chips estavam atrasados ​​e não conseguiam acompanhar as ofertas da Intel. Recursos sérios de HSA também não foram incluídos, mas a AMD começou a adicioná-los em sua plataforma de 2012 (Trinity, que foi essencialmente Llano feito da maneira certa). A próxima etapa veio em 2014, com a introdução das APUs Kaveri, que suportavam gerenciamento de memória heterogêneo (a GPU IOMMU e a CPU MMU compartilhavam o mesmo espaço de endereço). Kaveri também trouxe mais integração arquitetônica, permitindo memória coerente entre a CPU e GPU (a AMD chama HUMA , que significa Heterogeneous Unified Memory Access). A atualização subsequente do Carizzo adicionou ainda mais recursos HSA, permitindo ao processador alternar o contexto de tarefas de computação na GPU e fazer mais alguns truques.

A próxima arquitetura de CPU Zen e as APUs construídas sobre ela prometem oferecer ainda mais, se e quando aparecer no mercado.

Então qual é o problema?

A AMD não foi a única fabricante de chips a perceber o potencial das GPUs on-die. A Intel também começou a adicioná-los às suas CPUs Core, assim como os fabricantes de chips ARM, de modo que as GPUs integradas são usadas atualmente em praticamente todos os SoC de smartphones, além da grande maioria dos PCs / Macs. Nesse ínterim, a posição da AMD no mercado de CPU foi corroída. A queda na participação de mercado tornou as plataformas da AMD menos atraentes para desenvolvedores, empresas e até mesmo consumidores. Simplesmente não existem muitos PCs baseados em AMD no mercado, e a Apple não usa processadores AMD de forma alguma (embora tenha usado gráficos AMD, principalmente devido à compatibilidade com OpenCL).

A AMD não compete mais com a Intel no mercado de CPU topo de linha, mas mesmo se competisse, não faria muita diferença a esse respeito. As pessoas não compram estações de trabalho de US $ 2.000 ou PCs para jogos para usar gráficos integrados. Eles usam gráficos caros e discretos e não se importam muito com a eficiência energética.

Que tal alguns HSA para smartphones e tablets?

Mas espere. E quanto às plataformas móveis? A AMD não poderia simplesmente lançar soluções semelhantes para chips de smartphones e tablets? Bem, não, realmente não.

Veja, alguns anos após a aquisição da ATI, a AMD se viu em uma situação financeira difícil, agravada pela crise econômica, então decidiu vender sua divisão de GPU móvel Imageon para a Qualcomm. A Qualcomm renomeou os produtos como Adreno (anagrama de Radeon) e passou a se tornar o player dominante no mercado de processadores para smartphones, usando GPUs internas recém-repintadas.

Como alguns de vocês podem notar, vender um equipamento gráfico para smartphone no momento em que a revolução do smartphone estava para começar não parece um movimento comercial brilhante, mas acho que em retrospecto é sempre 20/20.

A HSA costumava ser associada apenas à AMD e seus processadores x86, mas não é mais o caso. Na verdade, se todos os membros da HSA Foundation começassem a enviar processadores de smartphone ARM habilitados para HSA, eles venderiam mais do que os processadores x86 da AMD, tanto em termos de receita quanto de unidades vendidas. Então o que acontece se eles fizerem isso? O que isso significaria para a indústria e os desenvolvedores?

Bem, para começar, os processadores de smartphone já dependem de computação heterogênea, mais ou menos. A computação heterogênea geralmente se refere ao conceito de uso de diferentes arquiteturas em um único chip e, considerando todos os componentes encontrados nos SoCs altamente integrados de hoje, esta poderia ser uma definição muito ampla. Como resultado, quase todo SoC pode ser considerado uma plataforma de computação heterogênea, dependendo de seus padrões. Às vezes, as pessoas até se referem a processadores diferentes com base no mesmo conjunto de instruções como uma plataforma heterogênea (por exemplo, chips móveis com núcleos ARM Cortex-A57 e A53, ambos baseados no conjunto de instruções ARMv8 de 64 bits).

Muitos observadores concordam que a maioria dos processadores baseados em ARM podem agora ser considerados plataformas heterogêneas, incluindo chips da série A da Apple, Samsung Exynos SoCs e processadores semelhantes de outros fornecedores, principalmente grandes players como Qualcomm e MediaTek.

Mas por que alguém iria precisar HSA em processadores de smartphone? Não é todo o objetivo de usar GPUs para computação geral para lidar com cargas de trabalho profissionais, não Angry Birds e Uber?

Sim, é, mas isso não significa que uma abordagem quase idêntica não possa ser usada para aumentar a eficiência, que é uma prioridade no design de processador móvel. Portanto, em vez de processar inúmeras tarefas paralelizadas em uma estação de trabalho de ponta, o HSA também poderia ser usado para tornar os processadores móveis mais eficientes e versáteis.

Poucas pessoas olham atentamente para esses processadores, eles geralmente verificam a folha de especificações quando estão comprando um novo telefone e é isso: eles olham para os números e marcas. Eles geralmente não olham para o SoC o em si, o que nos diz muito, e aqui está o porquê: GPUs em processadores de smartphone de última geração ocupam mais espaço de silício do que CPUs. Considerando que eles já estão lá, seria bom colocá-los em uma boa utilização em outros aplicativos além de jogos, não seria?

Um hipotético processador de smartphone totalmente compatível com HSA poderia permitir que os desenvolvedores explorassem esse potencial sem adicionar muito aos custos gerais de produção, implementar mais recursos e aumentar a eficiência.

Aqui está o que a HSA pode fazer pelos processadores de smartphone, pelo menos em teoria:

  • Melhore a eficiência transferindo tarefas adequadas para a GPU.
  • Aumente o desempenho descarregando a CPU em algumas situações.
  • Utilize o barramento de memória com mais eficácia.
  • Potencialmente, reduza os custos de fabricação de chips, aproveitando mais silício de uma vez.
  • Apresente novos recursos que não poderiam ser tratados pelos núcleos da CPU de maneira eficiente.
  • Simplifique o desenvolvimento em virtude da padronização.

Parece bom, especialmente quando você considera que os desenvolvedores provavelmente não perderão muito tempo com a implementação. Essa é a teoria, mas teremos que esperar para vê-la em ação, e isso pode demorar um pouco.

Como funciona o HSA?

Já esbocei o básico na introdução e estou hesitante em entrar em muitos detalhes por alguns motivos: ninguém gosta de novelas publicadas em um blog de tecnologia e as implementações de HSA podem ser diferentes.

Portanto, tentarei delinear o conceito em algumas centenas de palavras.

Em um sistema padrão, um aplicativo descarregaria cálculos da GPU transferindo os buffers para a GPU, o que envolveria uma chamada de CPU antes do enfileiramento. A CPU então agendava o trabalho e o passava para a GPU, que o passaria de volta para a CPU após a conclusão. Em seguida, o aplicativo obteria o buffer, que novamente teria que ser mapeado pela CPU antes de estar pronto. Como você pode ver, essa abordagem envolve muitas idas e vindas.

Diferentes arquiteturas em um barramento de memória. A racionalização é a essência da HSA.

Diferentes arquiteturas em um barramento de memória. A racionalização é a essência da HSA. Tweet

Em um sistema HSA, o aplicativo enfileiraria o trabalho, a CPU HSA assumiria, passaria para a GPU, receberia de volta e o levaria para o aplicativo. Feito.

Isso é possível compartilhando a memória do sistema diretamente entre a CPU e a GPU, embora outras unidades de computação também possam estar envolvidas (DSPs, por exemplo). Para atingir esse nível de integração de memória, o HSA emprega um espaço de endereço virtual para dispositivos de computação. Isso significa núcleos de CPU e GPU pode acessar a memória em termos iguais , desde que compartilhem tabelas de páginas, permitindo que diferentes dispositivos troquem dados por meio de ponteiros.

Isso é obviamente ótimo para eficiência, porque não é mais necessário alocar memória para a GPU e CPU usando memória virtual para cada um. Graças à memória virtual unificada, ambos podem acessar a memória do sistema de acordo com suas necessidades, garantindo uma utilização superior dos recursos e mais flexibilidade.

Imagine um sistema de baixo consumo de energia com 4 GB de RAM, 512 MB dos quais alocados para a GPU integrada. Este modelo geralmente não é flexível e você não pode alterar a quantidade de memória da GPU rapidamente. Você está preso com 256 MB ou 512 MB, e é isso. Com o HSA, você pode fazer o que quiser: se você descarregar muitas coisas na GPU e precisar de mais RAM para a GPU, o sistema pode alocá-la. Portanto, em aplicativos vinculados a gráficos, com muitos recursos de alta resolução, o sistema pode acabar alocando 1 GB ou mais de RAM para a GPU, sem problemas.

Todas as coisas sendo iguais, os sistemas HSA e não HSA irão compartilhar o mesma largura de banda de memória , tenha acesso ao mesma quantidade de memória , mas o sistema HSA pode acabar usando-o com muito mais eficiência, melhorando o desempenho e reduzindo o consumo de energia. É tudo uma questão de conseguir mais com menos.

Para que serve a computação heterogênea?

A resposta simples? A computação heterogênea, ou HSA como uma em suas implementações, deve ser uma boa escolha para todas as tarefas de computação mais adequadas para GPUs do que para CPUs. Mas o que faz este significa exatamente, no que as GPUs são boas?

GPUs modernas e integradas não são muito poderosas em comparação com gráficos discretos (especialmente placas gráficas de jogos de última geração e soluções de estação de trabalho), mas são muito mais poderosas do que seus predecessores.

Se você não está acompanhando, pode presumir que essas GPUs integradas são uma piada, e por anos elas foram apenas isso: gráficos para caixas de escritório e residências baratas. No entanto, isso começou a mudar na virada da década conforme as GPUs integradas mudaram do chipset para o pacote da CPU e morreram, tornando-se verdadeiramente integrado .

É assim que se parece um processador AMD hoje em dia. Ainda os chamamos de processadores, mas a GPU ocupa substancialmente mais espaço de silício do que a CPU.

É assim que se parece um processador AMD hoje em dia. Ainda os chamamos de processadores, mas a GPU ocupa substancialmente mais espaço de silício do que a CPU. Tweet

Embora ainda sejam lamentavelmente insuficientes em comparação com as GPUs carro-chefe, mesmo as GPUs integradas têm muito potencial. Como todas as GPUs, eles se destacam em cargas de instrução única, dados múltiplos (SIMD) e instrução única, threads múltiplas (SIMT). Se você precisa processar muitos números em cargas repetitivas e paralelizadas, as GPUs devem ajudar. As CPUs, por outro lado, ainda são melhores em cargas de trabalho pesadas e ramificadas.

É por isso que as CPUs têm menos núcleos, geralmente entre dois e oito, e os núcleos são otimizados para processamento serial sequencial. As GPUs tendem a ter dezenas, centenas e, nas principais placas de vídeo discretas, milhares de núcleos menores e mais eficientes. Os núcleos da GPU são projetados para lidar com várias tarefas simultaneamente, mas essas tarefas individuais são muito mais simples do que as feitas pela CPU. Por que sobrecarregar a CPU com tais cargas, se a GPU pode lidar com elas com eficiência e / ou desempenho superior?

Mas se as GPUs são tão boas nisso, por que não começamos a usá-las como dispositivos de computação geral anos atrás? Bem, a indústria tentou, mas o progresso foi lento e limitado a certos nichos. O conceito foi originalmente chamado Computação para fins gerais em unidades de processamento gráfico (GPGPU) . Antigamente, o potencial era limitado, mas o conceito de GPGPU era sólido e foi subsequentemente adotado e padronizado na forma de CUDA da Nvidia e OpenCL do Grupo Apple / Khronos.

CUDA e OpenCL fizeram uma grande diferença, pois permitiram que os programadores usassem GPUs de uma maneira diferente e muito mais eficaz. Eles eram, no entanto, específicos do fornecedor. Você poderia usar CUDA em hardware Nvidia, enquanto OpenCL era reservado para hardware ATI (e foi adotado pela Apple). A API DirectCompute da Microsoft foi lançada com DirectX 11 e permitia uma abordagem agnóstica de fornecedor limitada (mas estava limitada ao Windows).

Vamos resumir listando alguns aplicativos para computação GPU:

  • Computação tradicional de alto desempenho (HPC) na forma de clusters HPC, supercomputadores, clusters GPU para cargas de computação, computação GRID, balanceamento de carga.

  • Cargas que requerem física , que pode, mas não precisa, envolver jogos ou gráficos em geral. Eles também podem ser usados ​​para lidar com cálculos de dinâmica de fluidos, física estatística e algumas equações e algoritmos exóticos.

  • Geometria , quase tudo relacionado à geometria, incluindo cálculos de transparência, sombras, detecção de colisão e assim por diante.

  • Processamento de áudio , usando uma GPU em vez de DSPs, processamento de voz, processamento de sinal analógico e muito mais.

  • Processamento digital de imagens , é para o que as GPUs foram projetadas (obviamente), elas podem ser usadas para acelerar o pós-processamento e a decodificação de imagens e vídeos. Se você precisar decodificar um stream de vídeo e aplicar um filtro, até mesmo uma GPU básica irá limpar o chão com uma CPU.

  • Computação científica , incluindo pesquisa climática, astrofísica, mecânica quântica, modelagem molecular e assim por diante.

  • Outras tarefas de computação intensiva , ou seja, criptografia / descriptografia. Se você precisa “minerar” criptomoedas, criptografar ou descriptografar seus dados confidenciais, quebrar senhas ou detectar vírus, a GPU pode ajudar.

Esta não é uma lista completa de possíveis aplicativos de computação de GPU, mas leitores não familiarizados com o conceito devem ter uma ideia geral do que torna a computação de GPU diferente. Também deixei de fora aplicativos óbvios, como jogos e gráficos profissionais.

De qualquer forma, não existe uma lista abrangente porque a computação GPU pode ser usada para todos os tipos de coisas, desde finanças e imagens médicas até cargas de banco de dados e estatísticas. Você está limitado pela sua própria imaginação. A chamada visão computacional é outra aplicação emergente. Uma GPU capaz é uma boa coisa se você precisar “ensinar” um drone ou um carro sem motorista a evitar árvores, pedestres e outros veículos.

Sinta-se à vontade para inserir sua piada favorita de Lindsay Lohan aqui.

Desenvolvimento para HSA: hora de algumas más notícias

Esta pode ser minha opinião pessoal e não um fato, mas eu acredito na HSA. Acho que o conceito tem muito potencial, desde que seja implementado corretamente e ganhe suporte suficiente entre fabricantes de chips e desenvolvedores. No entanto, o progresso tem sido dolorosamente lento, ou talvez seja apenas meu sentimento, com uma pitada de desejo. Eu apenas gosto de ver novas tecnologias em ação, e sou tudo, menos um indivíduo paciente.

O problema com HSA é que é não está lá , ainda. Isso não significa que não vai decolar, mas pode demorar um pouco. Afinal, não estamos falando apenas de novas pilhas de software; HSA requer novo hardware para fazer sua mágica. O problema com isso é que muito desse hardware ainda está na prancheta, mas estamos chegando lá. Lentamente.

Infelizmente, a pilha de soluções HSA inclui mais do que o conjunto padrão de ferramentas de software. A computação heterogênea é uma simbiose de software e hardware.

Infelizmente, a pilha de soluções HSA inclui mais do que o conjunto padrão de ferramentas de software. A computação heterogênea é uma simbiose de software e hardware. Tweet

este não significa os desenvolvedores não estão trabalhando em projetos relacionados a HSA, mas não há muito interesse ou progresso nesse sentido. Aqui estão alguns recursos que você deve verificar se quiser dar uma chance à HSA:

  • HSA Foundation @ GitHub é, obviamente, o lugar para recursos relacionados à HSA. A HSA Foundation publica e mantém vários projetos no GitHub, incluindo depuradores, compiladores, vital Ferramentas HSAIL , e muito mais. A maioria dos recursos é projetada para hardware AMD.

  • Recursos HSAIL fornecidos pela AMD permite que você tenha uma ideia melhor das especificações do HSAIL. HSAIL significa HSA Intermediate Language e é basicamente a principal ferramenta para escritores de compiladores de back-end e escritores de bibliotecas que desejam visar dispositivos HSA.

  • Manual de Referência do Programador HSA (PDF) inclui as especificações HSAIL completas, além de uma explicação abrangente da linguagem intermediária.

  • Os recursos da HSA Foundation são limitados por enquanto e o Programa de Desenvolvedores da fundação está 'chegando em breve', mas há uma série de ferramentas de desenvolvimento check-out. Mais importante, eles darão uma boa ideia da pilha de que você precisará para começar.

  • o Blog oficial da AMD apresenta algum conteúdo HSA útil também.

Isso deve ser o suficiente para você começar, desde que você seja do tipo curioso. A verdadeira questão é se você deve ou não se preocupar para começar.

O futuro da HSA e da computação GPU

Sempre que cobrimos uma tecnologia emergente, somos confrontados com o mesmo dilema: Devemos dizer aos leitores para gastar tempo e recursos com isso, ou manter distância, adotando a abordagem do esperar para ver?

Já deixei claro que sou um tanto tendencioso porque gosto do conceito geral de computação em GPU, mas a maioria dos desenvolvedores pode viver sem ele, por enquanto. Mesmo se decolar, a HSA terá apelo limitado e não preocupará a maioria dos desenvolvedores. No entanto, pode ser importante no futuro. Infelizmente para a AMD, é improvável que seja uma virada de jogo no mercado de processadores x86, mas pode ser mais importante em processadores móveis baseados em ARM. Pode ter sido ideia da AMD, mas empresas como a Qualcomm e MediaTek estão melhor posicionadas para levar hardware habilitado para HSA a centenas de milhões de usuários.

Tem que ser uma simbiose perfeita de software e hardware. Se os fabricantes de chips móveis enlouquecerem com a HSA, será um grande negócio. Uma nova geração de chips HSA confundiria a linha entre os núcleos da CPU e da GPU. Eles compartilhariam o mesmo barramento de memória em termos iguais e acho que as empresas começarão a comercializá-los de forma diferente. Por exemplo, a AMD já está comercializando seus APUs como “dispositivos de computação” compostos por diferentes “núcleos de computação” (CPUs e GPUs).

Os chips móveis podem acabar usando uma abordagem semelhante. Em vez de comercializar um chip com oito ou dez núcleos de CPU, e tal e tal GPU, os fabricantes de chips poderiam começar a falar sobre clusters, módulos e unidades. Portanto, um processador com quatro núcleos de CPU pequenos e quatro grandes seria um processador de “cluster duplo” ou “módulo duplo”, ou um design de “tri-cluster” ou “quádruplo-cluster”, se levarem em consideração os núcleos de GPU . Muitas especificações técnicas tendem a perder o sentido com o tempo, por exemplo, o DPI da impressora do escritório ou a contagem de megapixels da câmera barata do smartphone.

O HSA permite que diferentes arquiteturas trabalhem com seu próprio peso e lidem com cargas totalmente diferentes com maior eficiência.

O HSA permite que diferentes arquiteturas trabalhem com seu próprio peso e lidem com cargas totalmente diferentes com maior eficiência. Tweet

Porém, não é apenas marketing. Se as GPUs se tornam tão flexíveis quanto os núcleos da CPU e capazes de acessar os recursos do sistema em termos iguais aos da CPU, por que deveríamos nos importar em chamá-las pelo nome real? Duas décadas atrás, a indústria parou de usar coprocessadores matemáticos (FPUs) dedicados quando eles se tornaram um componente obrigatório de cada CPU. Apenas alguns ciclos de produto depois, esquecemos que eles existiram.

Lembre-se de que HSA não é a única maneira de usar GPUs para computação.

Intel e Nvidia não estão a bordo, e sua abordagem é diferente. A Intel aumentou silenciosamente o investimento em P&D da GPU nos últimos anos e suas soluções gráficas integradas mais recentes são muito boas. À medida que as GPUs on-die se tornam mais poderosas e ocupam mais espaço de silício, a Intel terá que encontrar maneiras mais engenhosas de usá-las para computação em geral.

A Nvidia, por outro lado, saiu do mercado de gráficos integrados anos atrás (quando parou de produzir chipsets para PC), mas tentou a sorte no mercado de processadores ARM com seus processadores da série Tegra. Eles não foram um grande sucesso, mas ainda são usados ​​em alguns hardwares, e a Nvidia está concentrando seus esforços em sistemas embarcados, principalmente automotivos. Nesse cenário, a GPU integrada tem seu próprio peso, pois pode ser usada para detecção de colisão, navegação interna, mapeamento 3D e assim por diante. Lembre-se do Google Projeto Tango ? Parte do hardware era baseado em chips Tegra, permitindo a detecção de profundidade e alguns outros truques interessantes. No lado oposto do espectro, a linha de produtos Tesla da Nvidia cobre o mercado de computação de GPU de ponta e garante o domínio da Nvidia neste nicho nos próximos anos.

Resultado? No papel, a computação em GPU é um ótimo conceito com muito potencial, mas o estado atual da tecnologia deixa muito a desejar. A HSA deve percorrer um longo caminho para resolver a maioria desses problemas. Além do mais, não é suportado por todos participantes da indústria, o que deve retardar ainda mais a adoção.

Pode levar alguns anos, mas estou confiante de que as GPUs irão eventualmente subir para ocupar seu lugar de direito na área de computação em geral, mesmo em chips móveis. A tecnologia está quase pronta e a economia fará o resto. Como? Bem, aqui está um exemplo simples. Os processadores Atom da atual geração da Intel apresentam 12 a 16 GPU Execution Units (EUs), enquanto seus predecessores tinham apenas quatro EUs, com base em uma arquitetura mais antiga. À medida que as GPUs integradas se tornam maiores e mais poderosas e à medida que sua área de matriz aumenta, os fabricantes de chips não terão escolha a não ser usá-las para melhorar o desempenho e a eficiência gerais. Não fazer isso seria ruim para as margens e os acionistas.

Não se preocupe, você ainda poderá desfrutar de jogos ocasionais nesta nova geração de GPU. No entanto, mesmo quando você não está jogando, a GPU fará muitas coisas em segundo plano, descarregando a CPU para aumentar o desempenho e a eficiência.

Acho que todos podemos concordar que isso seria um grande negócio, especialmente em dispositivos móveis baratos.

Relacionado: Uma breve visão geral da API Vulkan

Padrões de design Python: para código elegante e moderno

Processo Interno

Padrões de design Python: para código elegante e moderno
Como fazer um vídeo de lapso de tempo original com seu iPhone

Como fazer um vídeo de lapso de tempo original com seu iPhone

Filmagem

Publicações Populares
Como tirar fotos abstratas criativas com seu iPhone
Como tirar fotos abstratas criativas com seu iPhone
Construindo um aplicativo MVC com Spring Framework: um tutorial para iniciantes
Construindo um aplicativo MVC com Spring Framework: um tutorial para iniciantes
The Pearls Of Wisdom - As melhores cartas de acionistas que ninguém lê
The Pearls Of Wisdom - As melhores cartas de acionistas que ninguém lê
Novas diretrizes do Taleban geram medo sobre o futuro da liberdade de imprensa
Novas diretrizes do Taleban geram medo sobre o futuro da liberdade de imprensa
Conheça Phoenix: uma estrutura semelhante a Rails para aplicativos da Web modernos no Elixir
Conheça Phoenix: uma estrutura semelhante a Rails para aplicativos da Web modernos no Elixir
 
Otimizando o futuro dos esforços humanitários globais
Otimizando o futuro dos esforços humanitários globais
Não dê ouvidos aos clientes - Por que a pesquisa do usuário é importante
Não dê ouvidos aos clientes - Por que a pesquisa do usuário é importante
Veterinário do Texas despedido por matar gato com arco e flecha
Veterinário do Texas despedido por matar gato com arco e flecha
Explicação da entropia de software: causas, efeitos e soluções
Explicação da entropia de software: causas, efeitos e soluções
Na oferta de fiança, advogados defendem o casamento de Ghislaine Maxwell
Na oferta de fiança, advogados defendem o casamento de Ghislaine Maxwell
Categorias
África Do Oriente MédioAscensão Do RemotoPessoas E Equipes De ProdutoCiência De Dados E Bancos De DadosWeb Front-EndKpis E AnálisesDesign De IuInovaçãoArmazenandoFerramentas E Tutoriais

© 2023 | Todos Os Direitos Reservados

socialgekon.com