O Grupo Khronos publicou o OpenCL 3.0.12 como a versão mais recente dessa API para computação em plataformas heterogêneas, mas mais conhecida por computação de GPU.

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.
* Esclarecido comportamento para identificadores inválidos de enfileiramento do lado do dispositivo `clk_event_t`.
* 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.
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 do cl_khr_command_buffer de que os comandos gravados no buffer de comando são imutáveis ​​entre os enfileiramentos.

A extensão cl_khr_command_buffer separa a construção de comandos 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.

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 entradas e saídas para o kernel, bem como tamanhos e deslocamentos de itens de trabalho, sejam alterados sem ter que regravar toda a sequência de comandos em um novo buffer de comando.

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

Categories: IT Info