Falamos da versão 1.1 em junho de 2010; quase um ano e meio depois, a especificação OpenCL chegou agora à versão 1.2. Para quem não sabe, a Open Computing Language — do Khronos Group — é responsável por definir um padrão de programação que tira proveito de CPUs e GPUs no processamento de qualquer tipo de dado computacional.
Uma das novidades é o suporte para particionamento de dispositivo. Ele permite a criação de sub-dispositivos, atribuindo tarefas específicas para unidade computacional, a reserva de uma parte do dispositivo para tarefas sensíveis à latência ou até mesmo a utilização de recursos de hardware compartilhados como cache.
Também foram implementados suporte a DX9 Media Surface Sharing e DX11 Surface Sharing. O suporte para imagens ainda foi melhorado, e o processo agora permite a criação a partir de uma textura OpenGL 1D ou 2D. Além disso, compilações separadas e vinculação de objetos também foram implementados. Eles proporcionam a flexibilidade de compiladores tradicionais, permitindo a criação de biblioteca em programas OpenCL que podem ser linkados por outros aplicativos.
O framework inclui ainda uma linguagem para escrever kernels juntamente de APIs, a fim de controlá-los. Além disso, traz kernels embutidos para serem usados com hardware e firmware não programáveis. Toda a documentação da nova especificação pode ser encontrada no site do Khronos.
[via Electronista]