Xlera8Name

Núcleos SiFive RISC-V escolhidos para nós de computação de IA do Google

A empresa de chips RISC-V SiFive diz que seus processadores estão sendo usados ​​para gerenciar cargas de trabalho de IA até certo ponto nos datacenters do Google.

Segundo SiFive, o processador em questão é o seu Intelligence X280, um design RISC-V de vários núcleos com extensões vetoriais, otimizado para aplicativos de IA/ML no datacenter. Quando combinado com as unidades de multiplicação de matrizes (MXU) retiradas das unidades de processamento de tensor do Google (TPU), alega-se que isso oferece maior flexibilidade para programar cargas de trabalho de aprendizado de máquina.

Essencialmente, os núcleos RV280 de uso geral do X64 no processador executam o código que gerencia o dispositivo e alimenta os cálculos de aprendizado de máquina nos MXUs do Google conforme necessário para concluir os trabalhos. O X280 também inclui sua própria unidade matemática vetorial que pode lidar com operações que as unidades aceleradoras não podem.

SiFive e Google foram um pouco tímidos, talvez por razões comerciais, sobre exatamente como isso é empacotado e usado, embora pareça para nós que o Google colocou suas unidades de aceleração personalizadas em um sistema em chip X280 multi-core, conectando o Blocos MXU projetados pelo Google diretamente para o complexo principal RISC-V. Esses chips são usados ​​nos datacenters do Google, em “hosts de computação de IA” de acordo com SiFive, para acelerar o trabalho de aprendizado de máquina.

Imaginamos que, se forem usados ​​em produção, esses chips estão lidando com tarefas dentro dos serviços. Observamos que você não pode alugar esse hardware diretamente no Google Cloud, que oferece máquinas virtuais otimizadas para IA com tecnologia tradicional x86, Arm, TPU e GPU.

Os detalhes foram divulgados no AI Hardware Summit no Vale do Silício no início deste mês, em uma palestra do cofundador e arquiteto-chefe da SiFive, Krste Asanović, e do arquiteto TPU do Google Cliff Young, e em um Postagem do blog SiFive esta semana.

De acordo com a SiFive, notou que, após a introdução do X280, alguns clientes começaram a usá-lo como um núcleo complementar ao lado de um acelerador, a fim de lidar com todas as tarefas de limpeza e processamento de uso geral que o acelerador não foi projetado para executar.

Muitos descobriram que uma pilha de software completa era necessária para gerenciar o acelerador, diz o chip biz, e os clientes perceberam que poderiam resolver isso com um complexo de núcleo X280 ao lado de seu grande acelerador, os núcleos de CPU RISC-V lidando com toda a manutenção e código de operações, realizando operações matemáticas que o grande acelerador não pode e fornecendo várias outras funções. Essencialmente, o X280 pode servir como uma espécie de nó de gerenciamento para o acelerador.

Para capitalizar isso, a SiFive trabalhou com clientes como o Google para desenvolver o que chama de Vector Coprocessor Interface eXtension (VCIX), que permite aos clientes vincular um acelerador diretamente ao arquivo de registro vetorial do X280, proporcionando maior desempenho e mais dados largura de banda.

De acordo com Asanović, o benefício é que os clientes podem trazer seu próprio coprocessador para o ecossistema RISC-V e executar uma pilha de software e um ambiente de programação completos, com a capacidade de inicializar o Linux com memória virtual completa e suporte coerente ao cache, em um chip contendo um mistura de núcleos de CPU de uso geral e unidades de aceleração.

Do ponto de vista do Google, ele queria se concentrar em melhorar sua família de tecnologias de TPU e não perder tempo criando seu próprio processador de aplicativos do zero, e assim emparelhar essas funções de aceleração com um processador de uso geral pronto parecia o caminho certo para ir, de acordo com Young.

O VCIX basicamente cola os MXUs aos núcleos RISC-V com baixa latência, ignorando a necessidade de gastar muitos ciclos esperando para transferir dados entre a CPU e a unidade de aceleração via memória, cache ou PCIe. Em vez disso, nos dizem, são apenas dezenas de ciclos através do acesso ao registro vetorial. Isso também sugere que tudo – o complexo de CPU RISC-V e os aceleradores personalizados – estão todos no mesmo molde, empacotados como um sistema em chip.

O código do aplicativo é executado nos núcleos RISC-V de uso geral, e qualquer trabalho que possa ser acelerado pelo MXU é transmitido pelo VCIX. Segundo Young, há outras vantagens dessa abordagem além da eficiência. O modelo de programação é simplificado, resultando em um único programa com instruções escalares, vetoriais e de co-processador intercaladas, e permitindo uma única cadeia de ferramentas de software onde os desenvolvedores podem codificar em C/C++ ou assembler como preferir.

“Com núcleos de uso geral baseados em SiFive VCIX 'hibridizados' com Google MXUs, você pode construir uma máquina que permite 'comer seu bolo e comê-lo também', aproveitando ao máximo todo o desempenho do MXU e a programabilidade de um CPU, bem como o desempenho vetorial do processador X280”, disse Young.

A capacidade de fazer um chip personalizado como esse provavelmente permanecerá no domínio dos hiperescaladores como o Google, ou daqueles com requisitos de nicho e bolsos profundos, mas demonstra o que pode ser alcançado graças à flexibilidade do modelo RISC-V de ecossistema aberto .

Essa flexibilidade e abertura parecem ser suficientes para atrair o Google – um defensor de longa data do RISC-V, com núcleos RV usados ​​em alguns de seus outros produtos – a usar a arquitetura nova em vez de colocar seus coprocessadores personalizados em chips x86 ou Arm -projetos licenciados. ®

PS: Lembra quando o Google era brincando com o uso da arquitetura POWER CPU em seus datacenters?

Fale Conosco

Olá! Como posso ajudá-lo?