FERRAMENTAS LINUX: A nova pilha OpenCL da Mesa "Rusticl" está se aproximando do suporte formal para o OpenCL 3.0

segunda-feira, 25 de abril de 2022

A nova pilha OpenCL da Mesa "Rusticl" está se aproximando do suporte formal para o OpenCL 3.0

 

Confira !!

O Rusticl do Mesa é uma implementação OpenCL ainda a ser mesclada para os drivers Mesa Gallium3D escritos na linguagem de programação Rust. O código mais recente agora pode passar no Khronos OpenCL 3.0 Conformance Test Suite!

Embora exista há muito tempo o rastreador de estado OpenCL Mesa Gallium3D "Clover", seu desenvolvimento está bastante estagnado. Este ano, Karol Herbst da Red Hat começou a escrever "Rusticl" como uma nova implementação OpenCL baseada em Rust para Mesa. No mês passado, escrevi sobre esse empolgante esforço Rusticl para o Mesa e seu objetivo de compatibilidade com OpenCL 3.0 e apenas ser mais focado no moderno.

Embora ainda não tenha sido mesclado ao Mesa, o código Rusticl mais recente desta semana agora é capaz de passar com sucesso no OpenCL 3.0 Conformance Test Suite (CTS). O Rusticl tem suporte a imagens OpenCL - uma reclamação de longa data para o rastreador de estado Clover - e suporte a printf, enquanto alguns recursos como o manuseio do FP16 ainda precisam ser escritos.




Karol Herbst, por sua vez, já procurou a Khronos para certificar esta implementação OpenCL 3.0 de código aberto. Esse código de passagem CTS do OpenCL 3.0 atualizado faz parte da solicitação de mesclagem do Mesa que está pendente.

Rusticl parece estar se unindo muito bem para OpenCL moderno com Mesa!

Karol Herbst está testando o código Rusticl com OpenCL 3.0 CTS passando usando gráficos Intel de 12ª geração. Ao testar com o driver Iris da Intel, o Rusticl deve funcionar para outros drivers Mesa que suportem a representação intermediária NIR.

O código Rusticl em sua forma atual tem pouco mais de 14k linhas de código novo. (Embora o Rusticl dependa do clc externo para compilar o código-fonte para o SPIR-V.) O Rusticl também está servindo como um experimento para lidar com o código Rust dentro do Mesa. Uma vez mesclado, o Rusticl pode ser ativado em tempo de compilação com " -Dgallium-rusticl=true -Dopencl-spirv=true -Dshader-cache=true -Dllvm=true " e envia um arquivo compatível com OpenCL ICD.

Vamos torcer para que Rusticl consiga pousar no Mesa 22.2! Parabéns a Karol e Red Hat por este marco. O Rusticl tem o potencial de tornar o suporte OpenCL 3.0 muito mais disponível no desktop Linux em comparação com o Radeon ROCm que não está bem empacotado na maioria das distribuições Linux e exige etapas extras e, da mesma forma, o Compute-Runtime da Intel não está amplamente empacotado por distribuições neste momento. Isso também ajuda a permitir OpenCL em muitos dos drivers Mesa Gallium3D menores.







Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário