All Rights ReservedView Non-AMP Version
Preprod IT Forum
  • Homepage
  • Notícias
Categories: Notícias

Fusion IV: Afinal, o que é Fusion?

Escalar x vetorial

Nas colunas anteriores desta série foram discutidos alguns aspectos pertinentes ao processamento gráfico, distinguindo-o daquilo que classificamos como “processamento de dados”, ou seja, o processamento executado, por exemplo, por um editor de textos ou programa de banco de dados. Mas em nenhum momento nos referimos à diferença essencial entre eles.

As melhores notícias de tecnologia B2B
Acompanhe todas as novidades diretamente na sua caixa de entrada

Então, vamos procurar estabelecê-la agora. Tentarei fazê-lo da forma menos formal possível, mas me perdoem os que, ainda assim, acharem o assunto demasiadamente técnico. É que há limites que impedem de simplificar demasiadamente sem o risco de tornar o tema ininteligível.

Tanto em um caso quanto em outro, o processamento consiste em efetuar transformações. E estas transformações muitas vezes abrangem um grande conjunto de dados situados em posições contiguas da memória principal (o que, em linguagem técnica, caracteriza um “vetor” que, em linguagem ainda mais técnica, corresponde a uma matriz de uma só dimensão).

No processamento de dados que não envolve gráficos, a ocorrência de operações sobre vetores não é predominante. Ciclos sucessivos envolvem, portanto, distintas operações sobre dados diferentes que podem estar armazenados em posições não contiguas da memória. Este tipo de processamento denomina-se “escalar” e os processadores a ele destinados denominam-se “processadores escalares”. São nossas velhas conhecidas UCPs.

Ocorre que mesmo os processadores escalares precisam, vez ou outra, operar sobre vetores. E quando isto ocorre eles operam sobre um dado (ou “elemento” do vetor) de cada vez. E se for preciso fazer a mesma operação em mil elementos de certo vetor ? o que gerará um novo vetor de mil elementos transformados ? o processador “aponta” para a posição de memória ocupada por um elemento do primeiro vetor, copia o valor ali armazenado em um dos registradores da UCP, efetua as devidas operações e transfere o resultado para a posição de memória equivalente no trecho de memória destinado ao segundo vetor. Em seguida “incrementa os ponteiros” (ou seja, “aponta” para as posições de memória subsequentes do primeiro e do segundo vetor), repete a operação e prossegue, contando, até completar mil ciclos.

O que torna processadores escalares particularmente ineficientes para este tipo de operação é o fato de que o tempo gasto para gerenciar os ponteiros, executar a contagem dos ciclos e demais operações auxiliares costuma ser muito maior do que o gasto para executar o processamento propriamente dito, ou seja, as mil transformações dos elementos do vetor. Mas este é o comportamento típico de um processador escalar, ou UCP.

Já uma UGP funciona de forma diferente. Como ela se destina principalmente a processar gráficos e os arquivos gráficos se caracterizam por um enorme número de dados similares em posições contiguas da memória principal (pense, por exemplo, em uma foto de uma pessoa sentada sobre um gramado em um dia de céu com poucas nuvens e veja quantos pixels ela contém com tons similares de verde, na faixa inferior, e de azul, na superior), a imensa maioria das operações a serem por ela executadas têm como objeto os vetores. E por isto é otimizada para trabalhar em conjunto com todos os elementos de um vetor. Em razão disto as UGPs adotam uma arquitetura radicalmente diferente das UCPs.

Este tipo de processador se distingue por sua grande capacidade de executar cálculos simultâneos sobre um conjunto de dados. No interior das UGPs mais avançadas há dezenas, por vezes centenas de unidades especificamente dedicadas a cálculos, capazes de operar simultaneamente (veja figura). Por esta razão, quando é necessário efetuar certa operação sobre todos os, digamos, mil elementos de um vetor, e a UGP dispõe de, por exemplo, cem unidades capazes de efetuar cálculos, as mil operações são distribuídas pelas cem unidades internas e todo o trabalho é cumprido em um décimo do tempo gasto para efetuar a mesma transformação usando uma UCP. E, justamente por serem concebidas para operarem principalmente sobre vetores, as UGPs são classificadas como “processadores vetoriais”.

É claro que os processadores vetoriais não operam exclusivamente sobre vetores. E também é claro que a grande melhoria no desempenho que eles proporcionam somente é alcançada quando são solicitados a executarem repetidamente operações iguais sobre vetores de grande número de elementos. Para operações escalares ou mesmo para operações vetoriais sobre vetores de pequeno número de elementos, pode-se perder mais tempo distribuindo os elementos pelas diversas unidades internas e gerenciando sua operação simultânea do que executando as transformações propriamente ditas.

Então, há casos e casos. Para processar determinados algoritmos, melhor usar processadores escalares. Para outros, processadores vetoriais. Pois nada impede que um processador vetorial, justamente aquele que conhecemos por UGP por sua otimização para processar gráficos, seja usado para realizar outros tipos de operações que não envolvam gráficos.

Page: 1 2 3 4

Next Fusion IV: Afinal, o que é Fusion? »
Previous « Fusion IV: Afinal, o que é Fusion?
Share
Published by
Editorial IT Forum 365
15 anos ago

    Related Post

  • Novos executivos da semana: Uncover, Tech for Humans, Diebold Nixdorf, Unico e mais
  • Se o Brasil não organizar seus dados culturais, outro fará isso por nós, alerta Jorge Brivilati
  • CBYK nomeia Maurício Matsuda como novo CEO

Recent Posts

  • Notícias

IA muda entrevistas para programadores e força revisão dos processos de contratação

A popularização de ferramentas de inteligência artificial (IA) voltadas à programação está provocando uma transformação…

1 semana ago
  • Notícias

Golpe do álbum da Copa de 2026 usa nuvem legítima e Pix para ampliar fraudes, aponta relatório

O aumento de golpes envolvendo o álbum da Copa do Mundo FIFA 2026 expôs uma…

1 semana ago
  • Notícias

Cyber Horizon Group anuncia centro de hacking defensivo em São Paulo

A Cyber Horizon Group abre em dezembro seu segundo Centro de Hacking Defensivo, em São…

1 semana ago
  • Notícias

Anthropic levanta US$ 65 bilhões e ultrapassa OpenAI em valor de mercado

A Anthropic anunciou uma nova rodada de financiamento de US$ 65 bilhões que elevou seu…

1 semana ago
  • Notícias

CBYK nomeia Maurício Matsuda como novo CEO

Maurício Matsuda é o novo CEO da CBYK. A empresa de tecnologia especializada em cloud,…

1 semana ago
  • Notícias

IBM aposta US$ 5 bilhões para proteger código aberto da nova geração de ameaças de IA

A IBM anunciou investimento de US$ 5 bilhões em uma iniciativa voltada à proteção de…

1 semana ago
All Rights ReservedView Non-AMP Version
  • L