Mojo Academy · Aula

Reduzindo o tráfego de memória

Mantenha os dados próximos da computação.

Aula 3 de 413 etapas

Reduzindo o tráfego de memória é uma aula grátis de Mojo Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Mojo Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Mojo Academy inclui 4 aulas no total.

Por Que a Memória Importa

As CPUs modernas calculam muito mais rápido do que conseguem buscar dados. Muitas vezes, um kernel espera pela memória, não pelos cálculos.

O Que É Tráfego de Memória?

O tráfego de memória é o total de bytes que seu kernel lê e grava. Menos tráfego por resultado geralmente significa um kernel mais rápido.

Toque nos Dados uma Vez

Ler o mesmo valor muitas vezes desperdiça largura de banda. Carregue-o uma vez, faça todo o trabalho e depois reutilize-o a partir de um registrador.

var x = a[i]
var y = x * x + x

Funda seus Loops

Dois loops separados sobre o mesmo vetor o leem duas vezes. Fundir os dois em uma única passagem faz com que cada elemento seja lido apenas uma vez.

for i in range(n):
    out[i] = a[i] * 2 + a[i]

Mantenha os Valores nos Registradores

Um valor mantido em um registrador da CPU não precisa acessar a memória. Reutilize resultados intermediários em vez de gravá-los e lê-los novamente.

Evite Buffers Temporários

Vetores temporários extras acrescentam tanto gravações quanto leituras. Evite-os quando puder e calcule diretamente na saída final.

Transmita Sequencialmente

Ler a memória em ordem permite que a CPU faça pré-busca. Saltar de um ponto para outro impede a pré-busca e faz o loop esperar.

for i in range(n):
    total += a[i]

As Linhas de Cache Viajam Juntas

A memória chega em linhas de cache de tamanho fixo. Usar cada byte de uma linha que foi buscada fornece dados já carregados sem custo adicional.

Faça Mais Computação por Byte

A intensidade aritmética é o trabalho realizado por byte carregado. Aumentá-la significa que cada valor buscado gera mais computação antes de o processamento prosseguir.

Escreva uma Vez, se Puder

As gravações também consomem largura de banda. Acumule em uma variável local e escreva o resultado final uma vez, em vez de atualizar a memória repetidamente.

var acc = Float32(0)
for i in range(n):
    acc += a[i]
out[0] = acc

Menos Tráfego, Mais Velocidade

Quando o kernel espera pelos dados, reduzir leituras e gravações é o maior ganho, muitas vezes superando ajustes inteligentes na aritmética.

Verificação Rápida

Seu kernel lê o mesmo vetor em dois loops separados. Que mudança única reduz mais o tráfego de memória?

Recapitulação

Reduza o tráfego de memória tocando nos dados uma vez, fundindo loops, reutilizando registradores, transmitindo em ordem e gravando os resultados apenas uma vez. 💾

Grátis para começar

Aprenda Mojo com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Reduzindo o tráfego de memória” é grátis?

Sim — o texto completo de “Reduzindo o tráfego de memória” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Mojo Academy, atualize para CoddyKit PRO. O curso de Mojo Academy inclui 4 aulas no total.

O que vou aprender em “Reduzindo o tráfego de memória”?

Mantenha os dados próximos da computação. Você pratica Mojo Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Mojo Academy?

Nenhuma experiência prévia é necessária. Mojo Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Reduzindo o tráfego de memória”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Mojo Academy?

Sim. Cada aula de Mojo Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Anatomia de um núcleo de computação
  2. Combinando SIMD com laços
  3. Reduzindo o tráfego de memória
  4. Ladrilhamento para localidade de cache
← Voltar para Mojo Academy