Créditos: VideoCardz

Khronos Group anuncia OpenCL 3.0, com mais liberdade para desenvolvedores

Novo padrão recua em algumas exigências e permite utilizar versão antiga

A 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 -, acaba de anunciar as especificações do OpenCL 3.0. Esse novo padrão parece não trazer muitas evoluções, mas sim, alguns recuos. O grupo pretende deixar que as empresas sejam mais livres na adoção dessa versão, podendo optar por quais funcionalidades querem adotar.

Entre as empresas participantes do grupo estão a AMD, Intel e NVIDIA. Esse padrão é aberto (Open Computing Language) e é responsável por unir a programação paralela, permitindo a melhoria da velocidade de resposta. Essa versão está revendo alguns conceitos anteriormente estabelecidos, permitindo que 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. Nenhuma empresa adotou o padrão. A atualização não agradou as empresas, que acabaram não o utilizando. Com isso, há uma desvalorização do projeto, o que ameaça a sua extinção. 

Levando os problemas em consideração, a Khronos Group resolveu recuar. Todos 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 podem ser consultados, e o OpenCL C 3.0 os adiciona para consultar os recursos opcionais do idioma. A Khronos Group abriu uma caixa de Feedback, para que os desenvolvedores contribuam com o padrão, antes que as especificações sejam finalizadas.

- Continua após a publicidade -

Resumindo, o grupo deseja voltar ao que funcionou. A versão 1.2 foi a que teve ampla aceitação, portanto o padrão irá voltar a essa especificação. Para não ignorar os avanços que teve desde o lançamento dessa versão, que foi em 2011, a empresa também está permitindo que novas definições sejam incorporadas, se adequando às necessidades das fabricantes, tornando opcional.

O OpenCL 1.2 é baseado na linguagem de programação C "puro". É considerado pelos desenvolvedor 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, para supercomputadores.

Devido a isso, o OpenCL 1.2 é a base para o 3.0. Todos os recursos extras, que foram lançados posteriormente, são considerado adições. Assim, o desenvolvedor fica livre para escolher quais serão usados e quais não farão parte do seu padrão. 

Até o momento o padrão exigia que o usuário usasse todo o padrão, para ter acesso à alguma de suas funcionalidades. Caso o desenvolvedor quisesse usar o padrão 1.2, mas gostaria de fazer adição de recursos presentes na versão 2.1, por exemplo, seria necessário usar todo o padrão 2.1 e abandonar o 1.2. Isso fazia com que os desenvolvedores abandonassem todo o OpenCL. Agora, isso poderá ser feito. O padrão 1.2 pode ser usado como base e, algumas outras funcionalidades vão poder ser resgatadas de outras versões, como adições.

- Continua após a publicidade -

O objetivo central do OpenCL 3.0 é dar maior liberdade para os desenvolvedores. Dessa forma, pretende resgatar os adeptos ao padrão, fazendo com que ele seja usual novamente.

Via: Anandtech, TechPowerUp
Tags
gpu
  • Redator: Ana Luiza Pedroso

    Ana Luiza Pedroso

Os jogos mais aguardados do segundo semestre de 2021

O que você achou deste conteúdo? Deixe seu comentário abaixo e interaja com nossa equipe. Caso queira sugerir alguma pauta, entre em contato através deste formulário.