Misturando processos
Ou seja: embora os processadores vetoriais modernos tenham sido concebidos para processamento gráfico, há muitas situações em que eles podem acelerar consideravelmente a execução de certos algoritmos que nada têm a ver com gráficos mas cujos dados se apresentam sob a forma de vetores (lembre-se: um vetor nada mais é que uma matriz unidimensional, ou seja, uma longa “fila” de dados correlatos, em geral armazenados na memória principal em posições contiguas). E estas situações têm se apresentado com cada vez maior frequência na computação moderna. Por exemplo: vasculhar grandes bancos de dados em busca de configurações capazes de reconhecer uma impressão digital, uma fisionomia (que, como se verá adiante, tanto em um caso quanto em outro, não são tratadas como figuras, mas como um conjunto de dados numéricos), a interpretação do significado de uma sentença, o reconhecimento de voz, a detecção de uma anomalia em uma “chapa” de Raios-X e mais um monte de outras tarefas que, embora não envolvam o traçado de gráficos e a manipulação de imagens, exigem pesado processamento vetorial.
[singlepic id=3076 w=320 h=240 float=]
Veja a impressão digital exibida na figura. Nela, são marcados determinados pontos característicos. Toda impressão digital pode ser representada apenas pela determinação de alguns destes pontos e pela codificação da relação espacial entre eles. Note que esta codificação não é feita sob a forma de uma imagem, mas de uma representação numérica que nada tem a ver com a geração de um gráfico. Centenas de milhares destas representações formam um vetor. Comparar este tipo de codificação de uma impressão digital obtida “no campo” com as centenas de milhares de outras contidas no banco de dados definitivamente não é um procedimento que envolve gráficos, mas ainda assim exige uma imensa capacidade de processamento vetorial. O mesmo pode ser dito do reconhecimento de fisionomias, onde os rostos são codificados não por suas imagens gráficas, mas numericamente, através da relação espacial entre pontos característicos de cada fisionomia, como posições dos cantos da boca, dos olhos, e outros tantos elementos.
Em casos como estes, embora não se trate de manejo de imagens, as arquiteturas e ferramentas de programação convencionais, otimizadas para processamento escalar, estão longe de serem as mais eficientes. Como estas operações, embora nada tenham a ver com o processamento gráfico, envolvem transformações ou comparações entre vetores e recorrem pesadamente a processamento paralelo em múltiplas “threads“, o ideal para efetuá-las é usar um processador vetorial (“thread” é o nome técnico em inglês usado para denominar os processos individuais em que pode ser subdividida uma tarefa de processamento e que podem ser executados independente e simultaneamente por diferentes núcleos ou componentes internos do mesmo processador).
Os especialistas chamam a tecnologia usada no processamento vetorial de SIMD (“Single Instruction Multiple Data” ou única instrução, muitos dados) por sua capacidade de fazer a mesma instrução atuar simultaneamente sobre todos os elementos de um vetor, enquanto a tecnologia usada no processamento escalar recebe o nome de “SISD” (“Single Instruction Single Data” ou única instrução, único dado) por razões evidentes. Há anos trava-se um debate acirrado sobre qual delas é mais eficiente. Hoje se sabe que ambos os lados estão certos e que não se trata de escolher entre uma ou outra, mas de usar ambas, cada uma na ocasião devida. Assim, há problemas que fazem uso intensivo de cálculo numérico e que são melhor atendidos pelo processamento paralelo usando a tecnologia SIMD e outros que resultam em um desempenho mais eficiente recorrendo à tecnologia SISD. O que leva à inevitável conclusão de que, caso o processador use apenas uma delas, será extremamente eficiente em algumas ocasiões e bastante ineficiente em outras.
Para que a eficiência seja mantida sempre no mesmo patamar, a unidade de processamento deve poder recorrer a ambas as tecnologias, usando a mais eficiente conforme a tarefa.
O iFood confirmou nesta terça-feira (03) o vazamento de dados cadastrais de aproximadamente 1,2 milhão…
O CEO da OpenAI, Sam Altman, participará da cúpula do G7 na França em junho,…
A segurança digital passou a ocupar posição central na decisão dos brasileiros ao escolher uma…
A terceirização das operações de segurança cibernética vem se consolidando como estratégia predominante entre as…
Por Danilo Nunes O ECA Digital (Lei 15.211/2025) é uma atualização legislativa que estende ao…
O vice-presidente sênior e diretor-geral de Segurança da Cisco, Peter Bailey, não esquiva da pergunta…