FERRAMENTAS LINUX: O trabalho está em andamento para o upstream do CUDA Toolchain do LLVM Clang para AMDGPU / HIP

sexta-feira, 6 de abril de 2018

O trabalho está em andamento para o upstream do CUDA Toolchain do LLVM Clang para AMDGPU / HIP



Confira!!


Uma ferramenta disponível há muito tempo tem sido o ROCm HIP da AMD, que permite converter código CUDA em código C ++ portátil, que por sua vez pode ser executado em GPUs Radeon. Agora há um trabalho em obter o suporte ao conjunto de ferramentas CUDA do compilador LLVM Clang do upstream para também suportar o HIP.

A ferramenta hipify do HIP pode converter o código CUDA em HIP para execução em GPUs NVIDIA / AMD. O HIP também consiste em uma linguagem C ++ portátil para execução em fornecedores de GPU. Aqueles que não estão familiarizados com o HIP podem aprender mais através do repositório de ferramentas do ROCm .

O que inicialmente me fez cavar o trabalho de upstreaming do LLVM / Clang foi na quinta-feira: [CUDA] Add amdgpu sub archs. O código CUDA da Clang agora não apenas lista as micro-arquiteturas da GPU NVIDIA, mas também as gerações de GPUs da Radeon apoiadas pelo back-end do compilador LLVM AMDGPU.

O HIP / HIP-ify já fez uso do LLVM / Clang, mas se baseou em mudanças fora da árvore.

Rastreando as coisas, é parte de um esforço contínuo para permitir que o conjunto de ferramentas CUDA do LLVM Clang suporte o modo de linguagem HIP e o suporte ao dispositivo AMDGPU. Há essa parte de revisão de código do processo. Seu resumo:
Este patch permite que o toolchain CUDA suporte o modo de linguagem HIP. Inclui:

Adicionar quadril de tipo de arquivo para toolchain.

Crie tarefas específicas do compilador para o HIP.

Escolha um cabeçalho / biblioteca específica para o HIP.

Use o clang-offload-bindler para criar o binário para o ISA do dispositivo.

Espero que isso ajude a adoção do HIP com a obtenção deste suporte upstreamed no código LLVM Clang CUDA, embora não esteja tudo fundido ainda. Este é o trabalho oficial da AMD com os patches LLVM sendo liderados pelo Yaxun Liu, da AMD.








É ótimo ver mais do código AMD / ROCm sendo upstreamed, especialmente agora no lado do Clang. Com o Linux, o 4.17 também é a grande peça para o suporte inicial ao dGPU no driver de kernel do AMDKFD para permitir que o ROCm - incluindo o ROCm OpenCL - comece a trabalhar com um kernel upstream não modificado. Com mais peças no upstream, a implantação do ROCm em diferentes distribuições de Linux se tornará muito mais fácil.


Fonte

Até a próxima!

Nenhum comentário:

Postar um comentário