GDC 2015 O Khronos Group, custodiante sem fins lucrativos do OpenGL multi-plataforma API gráfica, anunciou a sua substituição, chamado Vulkan.
Vulkan, anteriormente conhecido como glNext, está sendo apresentado em detalhes no The Game Developers Conference (GDC), actualmente em curso em San Francisco.
Khronos também anunciou OpenCL 2.1, uma versão atualizada do seu API para programação paralela de propósito geral. OpenCL é tipicamente usado para tirar vantagem dos múltiplos núcleos em uma GPU para acelerar as aplicações que exigem um processamento intensivo. Ambas as normas são projetados para aplicação multi-plataforma, ao contrário de APIs específicas da plataforma, tais como DirectX para Windows ou a API do metal em hardware Apple.
Sustentar tanto Vulkan e OpenCL 2.1 é uma nova versão do SPIR (Standard Portátil Representação Intermediária), uma linguagem intermediária desenvolvido pela Khronos para computação e gráficos paralelamente. Como com o popular projeto LLVM , usando uma linguagem intermediária permite o suporte para várias linguagens de programação e conjuntos de ferramentas. O novo SPIR-V inclui o controle de fluxo, gráficos e construções paralelas necessárias para a programação de alta performance gráfica. O suporte para o OpenGL Shader Language (GLSL), para definir efeitos de desenho, está em desenvolvimento e suporte futuro para uma linguagem C ++ shader é provável. O uso de uma linguagem intermediária permite a simplificação dos motoristas GPU, uma vez que só precisa consumir código SPIR-V. O uso de SPIR-V, tanto Vulkan e OpenCL 2.1 é um passo significativo no sentido da convergência entre as duas normas.
Por que o OpenGL precisa refazer? OpenGL é de 22 anos de idade e foi originalmente projetado para estações de trabalho gráficas, ao invés de plataformas atuais, que incluem chipsets móveis com memória compartilhada entre CPU e GPU. Em OpenGL ", o motorista faz muito trabalho: validação do estado, rastreamento de dependência, a verificação de erros, o que limita e randomizes desempenho", diz Khronos. Em Vulkan, o aplicativo tem controle direto sobre o funcionamento da GPU através de um condutor simplificado. "A GPU foi desnudada para você. Você pode estragar tudo, mas nas mãos certas isso dá-lhe o desempenho máximo do sistema, e dá os lotes de desenvolvedores de flexibilidade ", da Nvidia Neil Trevett, presidente do Grupo Khronos, disse El Reg.
Em OpenGL, o compilador de linguagem shader é parte do condutor, enquanto Vulkan consome SPIR-V. Isto também significa que os desenvolvedores não precisam mais enviar o código fonte shader. Vulkan também é melhor para a programação multi-core, com vários buffers de comando que executar em paralelo. "Na arquitetura OpenGL tradicional, criando buffers de comando e submetê-los à GPU era difícil se dividir em vários segmentos, e muitas vezes os aplicativos OpenGL são CPU limitada, a GPU não pode ser alimentado rápido o suficiente. Agora você pode criar quantos buffers como você quer em paralelo. Esta foi a única coisa que não poderia fixar em OpenGL ", diz Trevett.
Vulkan será uma única API que terá uma duração de desktop, console de games, mobile e plataformas embarcadas. É "uma reformulação de baixo para cima, não estamos para trás compatível com OpenGL", diz Trevett. A especificação real de Vulkan ainda não foi lançado, mas Khronos está esperando especificações iniciais e implementações mais tarde em 2015.
Suporte para Vulkan é generalizada, inclusive de grandes nomes como Intel, a Apple, ARM, Nvidia, AMD, e fornecedores de chipsets, como a Qualcomm, Imaginação e Mediatek. Khronos também tem participação ativa de desenvolvedores de jogos do motor, como Epic, Valve, Unity e Blizzard, que estão bem posicionados para tirar proveito do que Vulkan oferece.
As primeiras versões do SPIR usado LLVM, mas SPIR-V não faz, porém Khronos promete ter tradutores de código aberto entre LLVM e SPIR. Porque não usar LLVM? "É uma questão de governação. LLVM em sua carta pode mudar qualquer coisa a qualquer momento. O que significa para kernels tentando definir APIs de hardware estáveis é que nós poderíamos encontrar-se quebrado se LLVM jinked esquerda. Na comunidade de hardware que era inaceitável ", diz Trevett.
Em OpenCL 2.1, para além do apoio SPIR-V, a grande mudança é que agora suporta C ++ como linguagem kernel, executando na GPU. "É a grande peça da comunidade de desenvolvedores", disse ao jornal The Trevett Reg. O OpenCL linguagem C ++ kernel é um subconjunto de C ++ 14 e inclui funções lambda, classes, modelos e sobrecarga de operadores, entre outros recursos. Suporte C ++ irá torná-lo mais fácil de escrever ou o código da porta para computação de alto desempenho para executar na GPU ou outras placas aceleradoras que aplicam a norma.
OpenCL 2.1 é uma especificação provisória e Vulkan ainda não foi liberado, assim você não vai estar jogando jogos Vulkan potência em um futuro próximo. Como tal, as coisas vão embora, as normas estão progredindo rapidamente. É uma grande mudança, prometendo melhor desempenho e programação mais fácil, embora uma indústria API multi-plataforma standard. ®
via Alimentação (Feed) http://ift.tt/1DNVXtL
Nenhum comentário:
Postar um comentário