A IBM está trabalhando para estender a arquitetura MMA do Power10 com um novo recurso para “matemática densa” que deve estrear com os futuros processadores IBM Power. Então, a IBM envia patches iniciais para suporte “Dense Math” com futuras CPUs Power.
No passado, a IBM trabalhou no suporte de novo compilador para futuras iterações de processadores Power no início do compilador GCC. Antes de anunciar os processadores de próxima geração, a IBM trabalhou no suporte ao Power10 como um novo alvo chamado “futuro” dentro do GCC. Agora eles estão novamente preparando o mesmo para o que presumivelmente pode ser lançado como Power11.
IBM envia patches iniciais para suporte “Dense Math” com futuras CPUs Power
O patch da IBM o chama de “novo recurso em potencial” e novamente introduz o -mcpu=futurealvo. Existem todas as ressalvas sobre os novos recursos “potenciais”, mas se seus engenheiros já estiverem trabalhando no suporte do lado do compilador, isso já está mais do que provável. De qualquer forma, eles começaram agora essa apresentação do “futuro” para o que pode ser o Power11.
Com ele, eles introduzem um novo recurso chamado PowerPC Dense Math. Com o IBM Power S1024, eles também falaram de uma microarquitetura “dense math engine” (DME) para acelerar o aprendizado de máquina, inferência de IA e computação cognitiva. Mas se este suporte PowerPC Dense Math é o mesmo que o Dense Math Engine do S1024, não está claro por que eles estão rotulando-o como “futuro” quando o DME foi mencionado nos documentos da IBM desde este verão.
O IBM PowerPC Dense Math é descrito na série de patches como:
Este patch é um suporte muito preliminar para um novo recurso potencial para o PowerPC que estende a atual arquitetura power10 MMA. Esse recurso pode ou não estar presente em qualquer processador PowerPC futuro específico.No atual subsistema MMA para Power10, existem 8.512 registradores de acumulador de -bit. Esses acumuladores estão vinculados a conjuntos de 4 registradores FPR.
Quando você emite uma instrução prime, ele garante que o acumulador seja uma cópia dos 4 registradores FPR aos quais o acumulador está vinculado. ele garante que o conteúdo de dados do acumulador seja copiado logicamente para o registrador FPR correspondente.
No sistema matemático denso potencial, os acumuladores são movidos para registros separados chamados registros matemáticos densos (registros DM ou DMR). Os DMRs são então estendidos para 1.024 bits e novas instruções serão adicionadas para lidar com todos os 1.024 bits dos DMRs.Se você pegar o código MMA existente, ele funcionará desde que você não faça nada com acumuladores e siga as regras da documentação do ISA 3.1 para usar o subsistema MMA.
Esses patches adicionam suporte para os acumuladores de 512 bits dentro do sistema matemático denso e para alocação dos DMRs de 1.024 bits. Neste momento, nenhuma função incorporada adicional será executada para suportar quaisquer recursos matemáticos densos além da movimentação de dados entre os DMRs e os registradores VSX. Antes de podermos adicionar qualquer novo suporte matemático denso, além da movimentação de dados, precisamos que o compilador GCC seja capaz de alocar e usar esses DMRs.
Se isso for para o Power11, espere que mais patches além desse trabalho do PowerPC Dense Math continuem sendo lançados. Veja esta série de patches para o trabalho inicial até agora em torno do PowerPC Dense Math para GCC e a adição do destino -mcpu=future.