redação intel

Ferramenta de migração SYCLomatic de códigos abertos intel para ajudar desenvolvedores a criar código heterogêneo

O SYCLomatic abre o desenvolvimento e libera desenvolvedores para criar código heterogêneo portátil.

Novidades: A Intel lançou uma ferramenta de código aberto para migrar código para SYCL1 através de um projeto chamado SYCLomatic, que ajuda os desenvolvedores a portar mais facilmente o código CUDA para SYCL e C++ para acelerar a programação de arquitetura cruzada para arquiteturas heterogêneas. Este projeto de código aberto permite a colaboração da comunidade para promover a adoção do padrão SYCL, um passo fundamental para libertar desenvolvedores de um ecossistema proprietário de um único fornecedor.

"Migrar para C++ com SYCL dá ao código um alinhamento ISO C++mais mais forte, suporte multivendor para aliviar o bloqueio do fornecedor e suporte à multiarquitetura para fornecer flexibilidade no aproveitamento de todo o poder das novas inovações de hardware. A SYCLomatic oferece uma ferramenta valiosa para automatizar grande parte do trabalho, permitindo que os desenvolvedores se concentrem mais na sintonia personalizada do que na portabilidade."

–James Reinders, evangelista da Intel oneAPI

Por que isso importa: Embora a inovação de hardware tenha levado a uma paisagem arquitetônica heterogênea diversificada para a computação, o desenvolvimento de software tornou-se cada vez mais complexo, dificultando a aproveitamento das CPUs e aceleradoras. Os desenvolvedores de hoje e suas equipes estão presos por tempo, dinheiro e recursos para acomodar a reescrita e o teste de código para aumentar o desempenho do aplicativo para essas diferentes arquiteturas. Os desenvolvedores estão procurando alternativas abertas que melhorem o tempo de valor, e a Intel está fornecendo um caminho mais fácil e mais curto para permitir a escolha do hardware.

O que é SYCL e Project SYCLomatic: O SYCL, um padrão do Grupo Khronos baseado em C++, amplia os recursos C++ para suportar configurações de memória multiarquitetura e desarticulação. Para iniciar este projeto, a Intel abriu a tecnologia por trás de sua Ferramenta de Compatibilidade DPC++ para avançar ainda mais os recursos de migração para produzir mais aplicativos baseados em SYCL. Reutilizar códigos em todas as arquiteturas simplifica o desenvolvimento, reduzindo tempo e custos para manutenção contínua de códigos.

Utilizando a licença Apache 2.0 com exceção llvm, o projeto SYCLomatic hospedado no GitHub oferece uma comunidade para desenvolvedores contribuirem e fornecerem feedback para abrir ainda mais o desenvolvimento heterogêneo entre CPUs, GPUs e FPGAs.

Como funciona a ferramenta SYCLomatic: O SYCLomatic auxilia os desenvolvedores na portabilidade do código CUDA para o SYCL, normalmente migrando 90-95% do código CUDA automaticamente para o código SYCL2. Para concluir o processo, os desenvolvedores completam o resto da codificação manualmente e, em seguida, sintonizam sob medida o nível de desempenho desejado para a arquitetura.

Como funciona o uso da migração de códigos: Organizações de pesquisa e clientes intel usaram com sucesso a Ferramenta de Compatibilidade Intel® DPC+++, que tem as mesmas tecnologias que o SYCLomatic,para migrar o código CUDA para sycl (ou Data Parallel C++, implementação da SYCL) da OneAPI nas arquiteturas de vários fornecedores. Exemplos incluem a Universidade de Estocolmo com o GROMACS 20223, o Zuse Institute Berlin (ZIB) com easyWave, Samsung Medison e Bittware (veja um conteúdo API DevSummit para mais exemplos). Vários clientes também estão testando códigos em GPUs baseadas em arquitetura Intel® Xe atuais e futuras, incluindo o supercomputador Aurora do Laboratório Nacional de Argonne, o Centro de Supercomputação Leibniz (LRZ), a GE Healthcare e outros.

Onde obter SYCLomatic: SYCLomatic é um projeto do GitHub. O portal GitHub inclui um guia "contributing.md" descrevendo as etapas de contribuições técnicas para o projeto para garantir a máxima facilidade. Os desenvolvedores são incentivados a usar a ferramenta e fornecer feedback e contribuições para avançar na evolução da ferramenta.

"CRK-HACC é um código de simulação cosmológica do corpo N ativamente em desenvolvimento. Para se preparar para o Aurora, a Ferramenta de Compatibilidade Intel DPC++ nos permitiu migrar rapidamente mais de 20 núcleos para o SYCL. Como a versão atual da ferramenta de migração de código não suporta migração para funtores, escrevemos uma ferramenta simples de clang para refatorar o código-fonte SYCL resultante para atender às nossas necessidades. Com o projeto SYCLomatic de código aberto, planejamos integrar nosso trabalho anterior para uma solução mais robusta e contribuir para fazer dos funtores parte das opções de migração disponíveis", disse Steve (Esteban) Rangel, da HACC (Hardware/Hybrid Accelerated Cosmology Code), Cosmological Physics & Advanced Computing (anl.gov).

Recursos para desenvolvedores:

Mais Contexto: Vantagem de software da Intel decodificados | Intel oneAPI

 

A pequena impressão:

Avisos e isenções de responsabilidade

1 A SYCL é uma marca comercial da Khronos Group Inc.

2 Estimativas da Intel para setembro de 2021. Com base em medições em um conjunto de 70 benchmarks e amostras de HPC, com exemplos como Rodinia, SHOC, PENNANT. Os resultados podem variar.

3 A equipe de desenvolvimento do GROMACS portava seu código CUDA para Data Parallel C++ (DPC++), que é uma implementação SYCL para oneAPI, a fim de criar um novo código pronto para arquitetura cruzada. Veja também experiências adicionando suporte sycl ao GROMACS, e GROMACS 2022 Avança Open Source Drug Discovery com oneAPI.

O desempenho varia de acordo com o uso, a configuração e outros fatores. Saiba mais em www.Intel.com/PerformanceIndex. Os resultados podem variar.

Os resultados de desempenho são baseados em testes realizados nas datas especificadas nas configurações e podem não incluir todas as atualizações disponíveis publicamente.

Nenhum produto ou componente pode ser totalmente seguro.

Os custos e resultados podem variar.

As tecnologias Intel podem exigir ativação de hardware, software ou de serviços.

A Intel não controla ou audita dados de terceiros. Você deve consultar outras fontes para avaliar a precisão.