
No Intel Software Technology Day, em junho, os principais engenheiros da empresa conversaram sobre um projeto de software chamado Intel oneAPI, um modelo de programação unificado para facilitar o desenvolvimento de software para uma variedade de arquiteturas de computação, incluindo uma nova linguagem de programação. Neste post, daremos uma breve descrição deste projeto - como eles dizem, para continuar ...
O oneAPI é um projeto que desenvolve um conjunto unificado de ferramentas para desenvolvedores de software produtivo. O parque de plataformas de computação expandiu-se recentemente devido a aceleradores especializados. A Intel fornecerá soluções de software que permitem aos desenvolvedores extrair o desempenho máximo de ferro heterogêneo.
Bill Savage, vice-presidente Intel, gerente geral de produtos para desenvolvedores de computaçãoConforme notamos, as tarefas com as quais carregamos o poder de computação disponível se tornam mais diversas - assim como as arquiteturas desses mesmos poderes, divididas em Scalar (CPU), Vector (GPU), Matrix (aceleradores de IA) e Spatial (FPGA). Todo esse conjunto de arquiteturas, chamado Intel SVMP (SVMS), requer um modelo de programação eficiente para desempenho máximo. A tarefa do oneAPI é garantir facilidade de uso e eficiência, eliminando a necessidade de manter versões do código dependentes da arquitetura, usando diferentes linguagens de programação e ferramentas de desenvolvimento para elas.
Um exemplo de como a Intel já está implementando o desenvolvimento de plataforma cruzada é o
Intel OpenVINO - um conjunto de ferramentas para um desenvolvedor de software que fornece um processo de inferência consistente e otimizado para algoritmos de aprendizado profundo baseados em qualquer arquitetura Intel UHMW.
O oneAPI suporta programação direta e programação de API, fornecendo uma linguagem de programação unificada e bibliotecas unificadas, oferecendo desempenho máximo de código nativo em várias plataformas UHMWP.
- Programação direta O oneAPI contém a nova linguagem de programação Data Parallel C ++ (DPC ++) - uma alternativa aberta e abrangente a linguagens proprietárias para arquiteturas específicas. O DPC ++ fornece conveniência e desempenho usando um modelo de programação familiar aos desenvolvedores. O DPC ++ é baseado em C ++, inclui SYCL do Khronos Group, bem como extensões desenvolvidas na comunidade aberta.
- Programação de API. As bibliotecas oneAPI permitem implantar vários domínios de carregamento para os quais a otimização é possível. As funções da biblioteca são personalizadas para arquiteturas específicas.
Além disso, a Intel fornecerá versões aprimoradas das ferramentas de análise e depuração (Intel VTune Amplifier, Intel Advisor) que suportam DPC ++ e todo o conjunto de arquiteturas UHMW.
A versão beta do oneAPI para desenvolvedores, bem como detalhes adicionais a respeito, estarão disponíveis no final de 2019.