FERRAMENTAS LINUX: O modelo de programação do Intel AMX chega ao compilador LLVM

quinta-feira, 10 de dezembro de 2020

O modelo de programação do Intel AMX chega ao compilador LLVM

 


Confira !!


Um dos grandes recursos que podemos esperar com o Xeon "Sapphire Rapids" da Intel é a introdução do AMX como Advanced Matrix Extensions. Embora o Sapphire Rapids pareça ainda ter pelo menos um ano, os engenheiros do compilador de código aberto da empresa já trabalharam arduamente no suporte à infraestrutura de software.

O AMX é o novo paradigma de programação da Intel com foco em melhor desempenho de IA tanto para treinamento quanto para inferência. AMX é construído em torno do conceito de "tiles" como um conjunto de registros bidimensionais para representar uma imagem de memória maior e aceleradores que podem operar em tais tiles. Os recursos iniciais do AMX são para BFloat16, TILE e INT8, enquanto o design é extensível para novos aceleradores a serem adicionados posteriormente.

Desde julho A Intel 'O suporte AMX começa a aparecer para os compiladores LLVM e GCC . Novas instruções em torno do AMX foram adicionadas inicialmente junto com peças relacionadas, como o suporte do montador .

Sendo hoje incorporado ao LLVM 12, porém, é o modelo de programação AMX inicial para este compilador de código aberto. O modelo de programação AMX foi discutido por um tempo na lista de discussão do LLVM e consiste em novos intrínsecos para a representação intermediária do LLVM, a interface C exposta ao usuário (desenvolvedor), diminuindo de intrínsecos AMX para pseudo instruções, alocação de registro para o bloco AMX registradores, transformando os tamanhos de carga / armazenamento apropriados para intrínsecos AMX e suporte para transformação de instruções psueudo AMX em instruções AMX reais.

O modelo de programação AMX foi fundido hoje, enquanto mais detalhes podem ser encontrados através da discussão da lista de discussão que vem ocorrendo nos últimos meses em torno de todos os aspectos do modelo, desde o uso de C até a representação interna do LLVM.

Separadamente, os engenheiros da Intel também têm trabalhado no suporte do kernel Linux em torno do AMX e outras mudanças para garantir que as Advanced Matrix Extensions sejam bem suportadas pelo ecossistema de software de código aberto quando o Sapphire Rapids estiver pronto para ser lançado

Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário