OpenCL 3.0.12 vem com Buffers de Comando Mutable Dispatch Extension

Aprendizado de máquina com Etnaviv e OpenCL
OpenCL 3.0.12 vem com Buffers de Comando Mutable Dispatch Extension

O Khronos Group publicou o OpenCL 3.0.12 como a versão mais recente dessa API para computação de GPU. A principal novidade é que o OpenCL 3.0.12 vem com Buffers de Comando Mutable Dispatch Extension.

As mudanças observadas com o OpenCL 3.0.12 são:

  • Adicionada uma definição para um objeto válido e requisitos para teste de objetos válidos.
  • Adicionado um limite máximo para o número de argumentos suportados por um kernel.
  • Requisitos esclarecidos para comparabilidade e exclusividade de manipuladores de objetos.
  • Comportamento esclarecido para alças `clk_event_t` de enfileiramento do lado do dispositivo inválidas.
  • Esclarecidas as interações `cl_khr_command_buffer` com outras extensões.
  • Comportamento de erro especificado quando um buffer de comando é finalizado várias vezes.
  • O mais notável, porém, é a introdução de uma nova extensão para despacho mutável com buffers de comando. 
  • O cl_khr_command_buffer_mutable_dispatch é novo no OpenCL 3.0.12 e está sendo introduzido de forma provisória. 
  • A extensão cl_khr_command_buffer_mutable_dispatch permite modificar a configuração dos comandos de execução do kernel entre os enfileiramentos do buffer de comando.

OpenCL 3.0.12 vem com Buffers de Comando Mutable Dispatch Extension

A extensão cl_khr_command_buffer_mutable_dispatch foi trabalhada por engenheiros da Codeplay, Qualcomm, Arm, Intel, Tempere University, NVIDIA e Google para superar a limitação de cl_khr_command_buffer que os comandos gravados no buffer de comando são imutáveis ??entre enfileiramentos.

A extensão cl_khr_command_buffer separa a construção do comando do enfileiramento, fornecendo um mecanismo para gravar um conjunto de comandos que podem ser enfileirados repetidamente. No entanto, os comandos gravados no buffer de comando são imutáveis ??entre os enfileiramentos.

O cl_khr_command_buffer_mutable_dispatch remove esta restrição, em particular, esta extensão permite que a configuração de um comando de execução do kernel em um buffer de comando, chamado mutable-dispatch, seja modificado. Isso permite que as entradas e saídas do kernel, bem como os tamanhos e deslocamentos dos itens de trabalho, sejam alterados sem ter que regravar toda a sequência de comandos em um novo buffer de comando.

A documentação oficial do OpenCL 3.0.12 pode ser baixada do GitHub.

Acesse a versão completa
Sair da versão mobile