FERRAMENTAS LINUX: O LLVM 16 está habilitando a vetorização escalável por padrão para o RISC-V

domingo, 31 de julho de 2022

O LLVM 16 está habilitando a vetorização escalável por padrão para o RISC-V

 

Confira !!

Com o LLVM 15 ramificado e principal agora aberto para o LLVM 16, uma das primeiras mudanças para este próximo ciclo de lançamento do compilador é habilitar a vetorização escalável por padrão para RISC-V com destinos suportados para instruções de vetor RISC-V.

O desenvolvedor do LLVM, Philip Reames, ativou a vetorização escalável por padrão para destinos RISC-V suportados com extensões Zve ou V. Ele explicou com a mudança:

Essa alteração habilita a vetorização (usando apenas vetorização escalável, vetores fixos ainda não estão habilitados) para RISCV quando instruções vetoriais estão disponíveis para a configuração de destino.

Neste ponto, a configuração resultante deve ser estável (por exemplo, sem falhas) e lucrativa (ou seja, poucos casos em que os loops escalares vencem os vetoriais), mas não será particularmente bem ajustado (ou seja, emitimos o melhor loop vetorial possível) . O objetivo dessa mudança é alinhar os testes entre as organizações e garantir que a configuração padrão corresponda ao que os downstreams estão usando o mais próximo possível. 
Isso expõe uma grande quantidade de código que não estava ativado por padrão e, portanto, pode não ter sido totalmente exercido. Dado isso, ter problemas não é inesperado. Se você encontrar problemas, inclua o máximo de informações possível ao reverter essa alteração.

Dois dias se passaram e até agora nenhuma reversão, então espero que esteja bem. Mais detalhes para os interessados ​​em reviews.llvm.org . Com essa mudança no início do ciclo de desenvolvimento do LLVM 16, ainda há muito tempo para melhorar o suporte à vetorização RISC-V do compilador antes do lançamento estável, não até março.

O RISC-V "V" é a extensão matemática vetorial completa para essa arquitetura de CPU livre de royalties, enquanto o Zve é um subconjunto "modesto" destinado a núcleos menores em dispositivos incorporados e microcontroladores. O Vector Extension 1.0 do RISC-V foi congelado desde o ano passado e considerado estável o suficiente para iniciar o trabalho do software. A especificação RISC-V V 1.0 para os interessados ​​pode ser encontrada via GitHub.






Fonte

Até a próxima !! .

Nenhum comentário:

Postar um comentário