Além do compilador AOCC para CPUs Zen, outro LLVM/Clang downstream mantido pela AMD é o compilador AOMP, onde eles hospedam seus vários patches ainda não combinados em torno do suporte de offloading Radeon OpenMP. Esta semana marcou o lançamento do AOMP 13.0-5 como seu trabalho mais recente nessa frente para os mais novos recursos de descarregamento de GPU OpenMP.
Assim, o AOMP 13.0-5 é a versão mais recente deste compilador atualmente baseado no estado LLVM upstream em abril com vários patches AMD no topo para o que ainda não foi revisado ou desenvolvido para LLVM upstream. Esta nova versão apresenta uma nova biblioteca chamada libLLVMOffloadArch.
Esta versão começa a descontinuar o uso de mygpu em favor do offload-arch. Uma nova versão do mygpu chama offload-arch. As tabelas usadas para conduzir o mygpu foram excluídas. Todas as tabelas de pci-id para identificação de descarregamento estão agora na biblioteca llvm OffloadArch.
Adicionada uma nova opção de linha de comando -offload-usm que ativa o pragma OpenMP, requer unified_shared_memory e define os sinalizadores do conjunto de ferramentas de forma adequada. Isso evita a necessidade de alterar todos os arquivos de origem para ativar a memória compartilhada unificada.
AMD lança compilador AOMP 13.0-5 Radeon OpenMP
Os engenheiros da AMD resumem o trabalho 13,0-5 como:
Esta versão inclui uma demonstração de uma nova biblioteca LLVM chamada libLLVMOffloadArch.cpp.
A ferramenta offload-arch clang agora é construída com esta biblioteca.
O tempo de execução libomptarget não chama mais o binário “offload-arch -c” e intercepta o stdout.
Em vez disso, uma chamada de biblioteca é feita para libLLVMOffloadArch.cpp para determinar os recursos atuais.
A ferramenta offload-arch ainda é criada com a compilação llvm e os códigos-fonte estão em llvm-project /llvm/lib/ OffloadArch/offload-arch.
As atualizações foram feitas para que o offload-arch retorne o primeiro gpu VISIBLE que pode ser o resultado da configuração de ROCM_VISIBLE_DEVICES para amdgpus.
Esta versão começa a descontinuar o uso de mygpu em favor do offload-arch.
Uma nova versão do mygpu chama offload-arch.
As tabelas usadas para conduzir o mygpu foram excluídas.
Todas as tabelas de pci-id para identificação de descarregamento estão agora na biblioteca llvm OffloadArch.Adicionada uma nova opção de linha de comando -offload-usm que ativa o pragma OpenMP, requer unified_shared_memory e define os sinalizadores do conjunto de ferramentas de forma adequada. Isso evita a necessidade de alterar todos os arquivos de origem para ativar a memória compartilhada unificada.
Onde baixar
O AOMP 13.0-5 pode ser baixado do GitHub junto com os binários para CentOS / RHEL 7 e 8, SUSE Linux Enterprise 15 e Ubuntu 18.04/20.04. O AOMP acompanha sua pilha Radeon Open eCosystem (ROCm) para habilitar os recursos de computação da GPU no Linux.