Novo OpenCL 3.0 anunciado pelo Khronos Group
Para quem não conhece o que é OpenCL, trata-se de uma linguagem de programação aberta, assim como o OpenGL, para escrever programas que funcionam em plataformas diferentes equipadas com CPUs, GPUs e outros processadores distintos.
A OpenCL inclui uma linguagem (baseada em “C”) para escrever kernels (funções executadas em dispositivos OpenCL), além de APIs que são usadas para definir e depois controlar as plataformas heterogênea. OpenCL permite programação paralela usando, tanto o paralelismo de tarefas, como de dados.
O OpenCL 1.2 é baseado na linguagem de programação C “puro”, considerado pelos desenvolvedores um código mais limpo, sem grandes adições. É uma API de computação paralela de baixo nível, que atende diferentes necessidades, podendo ser usadas desde dispositivos incorporados até as GPUs mais robustas, até supercomputadores.
Ela foi adotada para controladores de placas gráficas AMD ATI e pela Nvidia, que oferece também OpenCL como a escolha para sua arquitetura CUDA nos seus controladores. A OpenCL compartilha uma série de interfaces computacionais, tanto com CUDA, como com a concorrente DirectCompute da Microsoft.
Recentemente, o Khronos Group, um consórcio aberto de mais de 150 empresas líderes da indústria, que trabalha na criação de padrões avançados de interoperabilidade, anunciou sua versão 3.0 para o OpenCL com o objetivo de oferecer maior liberdade para os desenvolvedores.
Na versão antiga, era obrigado o uso de todo o OpenCL para a liberação de recursos. Agora, esta versão permite que alguns recursos sejam opcionais. O grupo está “atrasando” o OpenCL, revertendo a API principal para o OpenCL 1.2.
Essa medida foi adotada depois do lançamento da OpenCL 2.2, onde aparentemente nenhuma desenvolvedora se interessou para adotar o padrão com esta restrição.
Sendo assim, os aplicativos OpenCL 1.2 continuarão sendo executados inalterados em qualquer dispositivo OpenCL 3.0. Além disso, todos os recursos do OpenCL 2.X são compatíveis na nova especificação unificada.
Isso significa que todas as implementações atuais do OpenCL 2.X, que atualizam para o OpenCL 3.0, vão poder continuar a ser fornecidas com a funcionalidade existente, com total compatibilidade com versões anteriores.
Todos os recursos da API do OpenCL 2.X poderão ser consultados, e o OpenCL C 3.0 os adiciona para consultar os recursos opcionais do idioma.
A Khronos Group decidiu continuar a implementação do OpenCL com a ajuda da comunidade de desenvolvedores, para que os mesmos contribuam com o padrão, antes que as especificações sejam finalizadas. Desta forma, pretende conquistar mais desenvolvedores a adotar o padrão em suas aplicações.
Se você é desenvolvedor de aplicações, sistemas ou jogos, provavelmente precisa de computadores potentes e capazes de realizar cálculos com maior eficiência. Aqui na WAZ temos diversas workstations dedicadas para a produtividade e performance. Confira e acesse: www.waz.com.br
Comentários
Comentários