← Últimos artigos
🤖 machine learning

DCC: Data-Centric Compilation of Machine Learning Kernels for Processing-In-Memory Architectures

Este artigo apresenta o DCC, o primeiro compilador centrado em dados para sistemas de Processamento em Memória (PIM) que otimiza conjuntamente rearranjos de dados e código de computação para superar incompatibilidades de acesso à memória, alcançando acelerações significativas em kernels de aprendizado de máquina e inferência de modelos de linguagem grandes em diversas arquiteturas PIM.

Autores originais: Peiming Yang, Sankeerth Durvasula, Ivan Fernandez, Mohammad Sadrosadati, Onur Mutlu, Gennady Pekhimenko, Christina Giannoula

Publicado 2026-05-25
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Peiming Yang, Sankeerth Durvasula, Ivan Fernandez, Mohammad Sadrosadati, Onur Mutlu, Gennady Pekhimenko, Christina Giannoula

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você está gerenciando uma biblioteca massiva (um modelo de Aprendizado de Máquina) onde precisa encontrar livros específicos (dados) para responder perguntas.

O Problema: Dois Estilos Diferentes de Bibliotecários
Em um computador tradicional, você tem um bibliotecário super-rápido (a GPU) que trabalha em um grande escritório central. Para trabalhar rápido, esse bibliotecário precisa que os livros estejam organizados de uma maneira específica: o Livro 1, o Livro 2 e o Livro 3 devem estar em prateleiras diferentes para que o bibliotecário possa pegá-los todos ao mesmo tempo em corredores distintos.

No entanto, você também tem um novo assistente super-eficiente (o dispositivo PIM) que trabalha bem ao lado das prateleiras. Esse assistente é incrivelmente rápido na leitura, mas só consegue alcançar os livros em sua própria prateleira específica. Se os livros estiverem espalhados por corredores diferentes, o assistente precisa correr de um lado para o outro, o que é lento.

Para usar esse novo assistente, você precisa pegar os livros, reorganizá-los para que os Livros 1, 2 e 3 estejam todos na mesma prateleira para o assistente, deixá-lo realizar o trabalho e, em seguida, reorganizar os livros novamente para colocá-los de volta no formato do escritório central para o bibliotecário principal.

O Jeito Antigo: Fazendo Manualmente
Anteriormente, os programadores tinham que descobrir manualmente a melhor maneira de embaralhar esses livros. Eles tinham que adivinhar: "Devo colocar 10 livros nesta prateleira? Ou 20?" Se adivinhassem errado, o assistente gastava mais tempo embaralhando livros do que realmente lendo-os. Isso era como tentar organizar uma biblioteca à mão enquanto o relógio corria — era lento, propenso a erros e bibliotecas diferentes (hardware diferente) exigiam regras de embaralhamento completamente distintas.

A Solução: DCC (O Assistente do Bibliotecário Inteligente)
O artigo apresenta o DCC, um novo "sistema inteligente" que atua como um planejador mestre para essa biblioteca. Em vez de apenas dizer ao assistente o que ler, o DCC descobre a melhor maneira de organizar os livros e a melhor maneira de instruir o assistente a lê-los, tudo ao mesmo tempo.

Veja como o DCC funciona, usando metáforas simples:

  1. O Tradutor Universal (Abstração Multicamada):
    Bibliotecas diferentes têm layouts diferentes (algumas têm 4 corredores, outras têm 8). O DCC fala uma linguagem universal. Não importa se você está usando uma biblioteca da Samsung ou uma biblioteca da SK Hynix; ele traduz as "regras de organização de livros" para um formato que entende, para que possa funcionar com qualquer hardware.

  2. O Simulador "E Se..." (Gerador de Cronogramas Centrados em Dados):
    Em vez de adivinhar, o DCC executa milhares de simulações em sua mente. Ele pergunta: "E se colocarmos 4 livros na Prateleira A? E se colocarmos 8?". Ele analisa o processo inteiro — o tempo de embaralhamento mais o tempo de leitura.

    • O Jeito Antigo: "Vamos fazer a leitura super-rápida!" (Ignorando que o embaralhamento leva uma eternidade).
    • O Jeito do DCC: "Se mudarmos o plano de leitura ligeiramente, podemos cortar o tempo de embaralhamento pela metade. Esse é o verdadeiro vencedor." Ele encontra o equilíbrio perfeito entre mover livros e lê-los.
  3. O Preditor de Velocidade (Preditor de Desempenho Acoplado):
    O DCC é como um treinador experiente que assistiu a milhares de jogos. Ele não precisa executar cada simulação individual para saber qual vencerá. Ele usa um "modelo de aprendizado" para prever instantaneamente o plano mais rápido. Isso significa que ele não perde tempo testando ideias ruins.

  4. O Controlador de Tráfego (Otimizador de Código):
    Uma vez que o DCC escolhe o melhor plano, ele organiza o tráfego. Ele garante que, quando o assistente pegar os livros, ele os pegue em lotes perfeitos (como pegar uma pilha inteira de livros de uma vez) para que nenhum tempo seja desperdiçado esperando pelo próximo livro.

Os Resultados: Quão Mais Rápido?
O artigo testou esse sistema em tarefas do mundo real, como executar Modelos de Linguagem Grandes (a IA que escreve texto ou responde perguntas).

  • O Impulso de Velocidade: Em um tipo de hardware (AttAcc), o DCC tornou a IA 13 vezes mais rápida do que usar apenas o computador principal (GPU). Em outro tipo (HBM-PIM), foi 7,7 vezes mais rápido.
  • O Teste do Mundo Real: Ao executar uma conversa completa com uma IA (como GPT-3 ou LLaMA-2), o DCC tornou todo o processo 4,5 vezes mais rápido em média.
  • O Truque "Mágico": A maior surpresa foi que os métodos antigos focavam apenas em tornar a parte de "leitura" rápida. O DCC percebeu que a parte de "embaralhamento" era, na verdade, o gargalo. Ao corrigir o embaralhamento e a leitura juntos, ele desbloqueou ganhos massivos de velocidade.

Em Resumo
Pense no DCC como o controlador de tráfego definitivo para uma cidade movimentada. Antes, os semáforos eram configurados com base apenas na velocidade com que os carros podiam dirigir, ignorando os engarrafamentos nos cruzamentos. O DCC olha para o mapa inteiro, percebe que os engarrafamentos são o problema e altera o tempo dos semáforos e o layout das ruas simultaneamente para fazer toda a cidade se mover muito mais rápido.

O artigo afirma que este é o primeiro sistema a realizar essa "otimização conjunta" para tarefas de IA nesses novos dispositivos de memória, tornando-os práticos e incrivelmente rápidos para o futuro da IA.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →