Na X.Org Developers‘ Conference (XDC 2024) realizada em Montreal, Karol Herbst, da Red Hat, apresentou o progresso contínuo do Rusticl, uma implementação de OpenCL escrita em Rust, integrada ao Mesa para drivers Gallium3D.
Crescimento do Rusticl em 2024
O Rusticl continua avançando e já oferece uma implementação compatível com o OpenCL 3.0 nos drivers Zink e Asahi, com o último sendo ativado por padrão na versão Mesa 24.3. Isso proporciona aos dispositivos Apple Silicon M1/M2 suporte nativo ao OpenCL. O driver V3D, utilizado em dispositivos como o Raspberry Pi, também está sendo trabalhado para integrar suporte ao Rusticl.
Novos recursos e extensões do Rusticl
Karol Herbst detalhou durante sua apresentação vários novos recursos do OpenCL que foram implementados recentemente. Entre eles, destacam-se:
- Imagens de leitura e escrita em OpenCL C
- Suporte ao compartilhamento OpenCL e OpenGL (cl_khr_gl_sharing)
- Tamanho sugerido de trabalho local (cl_khr_suggested_local_work_size)
Outros recursos como variantes de kernel e despachos maiores estão agora disponíveis, além de várias reformulações e correções de bugs no núcleo do Rusticl.
Projetos em andamento
O desenvolvimento continua para implementar mais funcionalidades, como:
- Suporte a imagens de profundidade (cl_khr_depth_images)
- Compartilhamento de imagens MSAA (cl_khr_gl_msaa_sharing)
- Extensão de endereço de dispositivo de buffer (cl_ext_buffer_device_address)
Suporte à memória virtual compartilhada (SVM)
Um dos pontos mais empolgantes em desenvolvimento é o suporte à Memória Virtual Compartilhada (SVM). Essa funcionalidade está sendo trabalhada com foco nos drivers Intel Iris e AMD RadeonSI, visando uma operação eficiente em vários drivers de hardware. No entanto, o suporte à memória de múltiplos dispositivos (multi-GPU) ainda precisa de ajustes, pois está atualmente com falhas.
Além disso, os drivers Etnaviv para gráficos Vivante e Freedreno para Qualcomm Adreno também estão recebendo melhorias para suportar o Rusticl.
Aqueles interessados no progresso do Rusticl podem acessar a atualização completa apresentada por Karol Herbst, incluindo os slides em PDF disponíveis online.