# DeepGEMM-Ascend cobre quantas operações no Ascend 950?

> Published 2026-10-17T01:31:56.725Z on https://www.crazystack.com.br/pt/p/deepgemm-ascend-cobre-quantas-operacoes-no-ascend-950/
> Source video: https://www.youtube.com/watch?v=BcPyOEzHYwY

O DeepGEMM-Ascend é a porta de entrada que a DeepSeek abriu para rodar kernels de multiplicação de matrizes no Huawei Ascend 950 sem escrever tudo do zero. Ele cobre formatos BF16, FP8 e FP4, com operações de atenção MQA e de mistura de especialistas. Ainda assim, parte das interfaces segue sem implementação, e o ambiente exige CANN 9.20 e torch_npu. O ganho real depende do seu workload.

## O que é o DeepGEMM-Ascend e o que ele resolve

O DeepGEMM-Ascend é uma biblioteca de kernels de multiplicação de matrizes publicada pela DeepSeek para o acelerador Huawei Ascend, com respositório aberto e validação documentada na série Ascend 950. Ele entrega implementações prontas de layout, movimentação de dados e empacotamento de fatores de escala que, sem a biblioteca, cada equipe teria de escrever do zero. O [DeepGEMM-Ascend](https://github.com/deepseek-ai/DeepGEMM-Ascend) foi anunciado em 30 de setembro de 2026 e é a versão para Ascend do DeepGEMM, biblioteca original de kernels CUDA da DeepSeek.

A promessa é simples de enunciar e trabalhosa de cumprir: manter a mesma chamada matemática e trocar toda a organização física dos dados. Quem já escreveu kernel para GPU sabe que a multiplicação de matrizes não muda entre chips. O que muda é onde cada número fica na memória e como ele chega até a unidade de cálculo.

O alcance da biblioteca é deliberadamente estreito. Ela cobre operações específicas de multiplicação e de atenção, não a aplicação inteira. Tratar a biblioteca como se ela movesse um modelo completo de plataforma é o erro de leitura mais comum desse tipo de lançamento.

Antes de qualquer comparação de desempenho, confirme que suas operações estão na lista suportada. Esse é o filtro que decide se a biblioteca ajuda ou apenas adiciona uma dependência ao seu projeto.

## O que muda de fato entre CUDA e o Huawei Ascend?

O que muda entre CUDA e o Huawei Ascend não é a aritmética, e sim o caminho dos dados pela hierarquia de memória. Segundo a documentação da Huawei, existe um compromisso entre capacidade de armazenamento e eficiência de acesso: quanto mais longe da unidade de cálculo, maior a capacidade e mais caro o acesso. O kernel precisa mover blocos da memória global para L1 e depois para L0 antes de multiplicar.

Nesse trajeto, os blocos mudam de arranjo. O código usa um layout fractal ao carregar em L1, o que significa que a posição de cada elemento na memória segue um padrão próprio do Ascend. A DeepSeek chama isso de plano de assento diferente, não de aritmética diferente, e a metáfora é justa.

Você não troca uma chamada por outra e segue a vida. A implementação precisa reorganizar o trabalho para este chip, e essa reorganização é o produto que a DeepGEMM-Ascend entrega.

## Fatores de escala FP8 e o formato UE8M0 no Ascend

Operações de baixa precisão no Ascend carregam fatores de escala, valores que definem a escala numérica dos dados armazenados, e o chip espera esses valores em formato empacotado. O helper de conversão empacota pares de fatores de escala em contêineres inteiros de 16 bits, arranjados no que o código chama de layout MN-major. Sem essa etapa, a multiplicação em FP8 não acontece com o resultado esperado.

O detalhe importa mais do que parece. Se o tensor já está no formato correto, o helper reaproveita o valor existente; caso contrário, ele dispara uma conversão. Essa decisão, reaproveitar ou converter, acontece a cada chamada e consome tempo quando a conversão é necessária.

É pouca coisa diante de uma troca de chip inteira, mas uma implementação compatível ainda precisa acertar esse passo. Erro de empacotamento em escala se transforma em resultado numérico errado, não em mensagem de erro.

## Reúso de operandos e pipelining na prática

Reúso de operandos e pipelining são as duas técnicas que evitam que a unidade de cálculo fique parada esperando memória. Com reúso de operandos, uma entrada permanece disponível para o próximo cálculo e não precisa ser buscada de novo. Com pipelining, um conjunto de blocos alimenta o cálculo enquanto outro estágio prepara os dados seguintes, usando buffers escalonados e requisições em voo.

A sobreposição tem limite. Um cálculo não pode usar dados que ainda não chegaram, então os estágios paralelos precisam de sincronização quando um depende do outro. Pense em um sinal de pronto em cada bandeja de trabalho.

A DeepSeek não publicou número de ganho de velocidade para essas duas técnicas, e você não deve inferir um. O que dá para afirmar é o trabalho evitado: transferências repetidas deixam de acontecer e a unidade de cálculo espera menos. Transformar essa observação em percentual exigiria medição do fornecedor ou reprodução independente.

## Cobertura de operações e a lacuna declarada no repositório

A cobertura da biblioteca inclui BF16 com 16 bits, FP8 com 8 bits e FP4 com 4 bits, além de MQA logits para pontuações de atenção em multi-query attention e de suporte a modelos de mistura de especialistas. O repositório, porém, marca explicitamente interfaces de multiplicação de matrizes agrupada com máscara como não implementadas. Essa lacuna é o ponto mais importante para quem planeja migrar.

Portas de entrada familiares ajudam no onboarding, mas não garantem que sua aplicação funcione. O próprio repositório registra que desenvolvimento e validação usam a série Ascend 950, com CANN 9.20 e torch_npu como requisitos. Essas condições vêm antes de qualquer discussão de desempenho.

Um nome de função conhecido faz um trabalho considerável de relações públicas. O código que chama enxerga uma porta reconhecível, o que facilita. Depois de atravessá-la, porém, são as preparações de dados, as operações suportadas e o software obrigatório que definem se sua aplicação consegue usar o que está do outro lado.

## DeepGEMM-Ascend ou CANN: qual comparação faz sentido

O CANN é a plataforma da Huawei que de fato se compara ao ecossistema CUDA, e não a DeepGEMM-Ascend. O CUDA reúne compiladores, runtime, interfaces de driver, bibliotecas matemáticas, ferramentas de depuração e profilers. O kernel de multiplicação de matrizes ocupa uma parte pequena desse conjunto. O [CANN](https://www.hiascend.com/en/software/cann) cobre a plataforma mais ampla do Ascend, com suporte de compilador, runtime, bibliotecas de operadores e comunicação e ferramentas de análise.

A DeepGEMM-Ascend vive dentro desse ambiente maior e fornece operações específicas que a aplicação pode chamar. Confundir as duas leva a conclusões erradas sobre o que o lançamento de setembro de 2026 prova.

Como desenvolvedor, você precisa de mais que um cálculo bem-sucedido. Você precisa compilar a aplicação, usar bibliotecas de apoio, investigar problemas e descobrir onde o tempo de execução vai embora. Compiladores, depuradores e profilers fazem esse trabalho ao redor do kernel.

Anos de engenharia se acumularam em torno do CUDA, com portes de aplicações, bibliotecas parceiras, integrações de linguagem e ferramentas de implantação. Trocar kernels pode ser só uma parte da mudança. A equipe talvez precise substituir integrações e aprender ferramentas diferentes. Essas fontes não dizem quanto trabalho cada equipe enfrentaria.

## O que o benchmark de 99,8% realmente mede

A DeepSeek relata resultados selecionados de multiplicação densa de matrizes que se aproximam do teto de hardware declarado, medidos em Ascend 950DT com CANN 9.20 e profiling de L2 frio. São números da própria DeepSeek, não medições reproduzidas de forma independente. A atribuição precisa andar junto com o número, sempre.

Leia esses resultados na escala que eles medem: kernels selecionados sob condições declaradas. Eles não estabelecem vitória equivalente contra um sistema NVIDIA, nem a vazão de um modelo inteiro. Uma comparação dessas exigiria medições que cobrissem todo o software envolvido.

Existe ainda uma distinção que costuma se perder. Quando um repositório acrescenta calibração ou correções que o artigo de origem não tinha, o delta precisa aparecer. Aqui, o número pertence à implementação da DeepSeek no Ascend, não a uma propriedade geral de kernels em nenhum chip.

Para julgar sua aplicação, meça o workload real com o software ao redor incluído. Tabela de benchmark não participa da sua reunião de integração.

## Como avaliar a migração para o Ascend, passo a passo

A avaliação começa pelo mapeamento das operações que sua aplicação chama, e não pelo desempenho. Siga esta ordem e você evita descobrir uma lacuna depois de semanas de trabalho.

1. Liste todas as operações de multiplicação, atenção e mistura de especialistas que o seu código invoca na prática.
2. Compare a lista com a cobertura da biblioteca, incluindo as interfaces marcadas como não implementadas no repositório.
3. Confirme os layouts esperados e os requisitos de software, como CANN 9.20 e torch_npu, no ambiente de destino.
4. Meça o workload que você realmente se importa, com as operações obrigatórias e o software ao redor, em condições que tornem a comparação significativa.
5. Decida o que permanece com implementação própria e o que a biblioteca cobre.

O ponto de partida é sempre o mesmo: a engenharia reutilizável é a parte promissora. Conversão de layout, reúso de operandos e carregamento coordenado não precisam virar projetos separados a cada vez. Uma implementação mantida cuida dessa máquina para as aplicações cujas operações ela cobre.

Adoção mais ampla ainda depende de cobertura, ferramentas confiáveis e desempenho medido na aplicação. A DeepGEMM-Ascend contribui para esse esforço dentro do ecossistema Ascend. O lançamento não estabelece uma camada universal para outros fabricantes de chip.

## Perguntas frequentes sobre DeepGEMM-Ascend

- **O que é o DeepGEMM-Ascend?** É uma biblioteca de kernels de multiplicação de matrizes da DeepSeek para o acelerador Huawei Ascend 950, anunciada em 30 de setembro de 2026. Ela entrega implementações de layout, movimentação de dados e empacotamento de fatores de escala para operações específicas. A versão original, DeepGEMM, é uma biblioteca de kernels CUDA.

- **A biblioteca substitui o CUDA por completo?** Não. Ela cobre operações específicas de multiplicação e atenção, enquanto CUDA reúne compiladores, runtime, drivers, bibliotecas matemáticas, depuração e profiling. A comparação adequada com o ecossistema CUDA é o CANN da Huawei, não a DeepGEMM-Ascend.

- **Quais são os requisitos de ambiente?** O repositório registra desenvolvimento e validação na série Ascend 950, com CANN 9.20 e torch_npu. Esses requisitos vêm antes de qualquer análise de desempenho e definem se a biblioteca roda no seu ambiente.

- **O benchmark de 99,8% prova que o Ascend supera a NVIDIA?** Não. São resultados relatados pela própria DeepSeek para kernels densos selecionados, em Ascend 950DT com CANN 9.20 e profiling de L2 frio. Eles medem kernels isolados, não a vazão de um modelo completo nem uma comparação equivalente.

- **Quais operações ficam de fora?** O repositório marca explicitamente interfaces de multiplicação de matrizes agrupada com máscara como não implementadas. Verifique quais operações a sua aplicação chama antes de planejar a migração.

## O que ainda falta para a adoção ampla

A engenharia reutilizável é a parte mais promissora do lançamento, e ela tem limites claros. Uma biblioteca de kernels reduz trabalho de migração para as operações que cobre. Ela não substitui a plataforma de compilação, depuração e profiling, nem resolve integrações ao redor.

Três condições decidem se a biblioteca ajuda no seu caso: as operações obrigatórias precisam estar cobertas, os dados precisam se encaixar na interface e o ambiente precisa ter o software exigido. Atendidas essas condições, o trabalho de migração pode cair. Quanto tempo uma equipe economiza, esse lançamento não estabelece.

Para o desenvolvedor que avalia o Huawei Ascend, a DeepGEMM-Ascend merece avaliação pelas operações que suporta. Julgue dentro da sua aplicação, onde a máquina reutilizável pode tirar trabalho do seu colo.

A pergunta que resta é específica: quais partes do seu workload ainda precisariam de implementação própria? Essa resposta vem do seu perfil de operações, não de uma tabela de benchmark.

[Source video](https://www.youtube.com/watch?v=BcPyOEzHYwY)
