Ferramenta de compatibilidade Intel DPC++ 

Ferramenta de compatibilidade Intel DPC++

Comece a usar a ferramenta de compatibilidade Intel® DPC+ +

A ferramenta de compatibilidade Intel® DPC++ auxilia na migração de um programa de desenvolvedor escrito em CUDA* para um programa escrito em Data Parallel C++ (DPC++), que é baseado em C++ moderno e incorpora padrões industriais portáteis como SYCL*.

  • Visite o guia e referência do desenvolvedor da ferramenta de compatibilidade Intel® DPC++ para obter informações adicionais sobre a ferramenta.
  • Visite as Notas de versão para problemas conhecidos e as informações mais atualizadas.

OBSERVAÇÃO O uso da ferramenta de compatibilidade Intel® DPC++ resultará em um projeto que não foi totalmente migrado. Trabalho adicional, conforme descrito pela saída da Ferramenta de compatibilidade Intel® DPC++, é necessário para concluir a migração.

Antes de começar

A ferramenta de compatibilidade Intel® DPC++ está incluída no Intel® oneAPI Base Toolkit. Se você não instalou o Intel® oneAPI Base Toolkit, siga as instruções no Guia de instalação.

Certo cabeçalho CUDA files (específico para o seu projeto) pode precisar estar acessível para o Intel® DPC++
Ferramenta de Compatibilidade. A ferramenta de compatibilidade Intel® DPC++ procura esses cabeçalhos CUDA files nos locais padrão:

  • /usr/local/cuda/incluir
  • /usr/local/cuda-xy/include, onde xy é um destes valores: 8.0, 9.x, 10.xe 11.0–11.6.

Você pode fazer referência a locais personalizados apontando para eles com o –cuda-include-path= opção na linha de comando da ferramenta de compatibilidade Intel® DPC++.

OBSERVAÇÃO O caminho de inclusão do CUDA não deve ser o mesmo ou um caminho filho do diretório onde o código-fonte que precisa ser migrado está localizado.

Atualmente, a ferramenta de compatibilidade Intel® DPC++ suporta a migração de programas implementados com CUDA versões 8.0, 9.x, 10.xe 11.0–11.6. A lista de idiomas e versões com suporte pode ser estendida no futuro.

Para configurar o ambiente da ferramenta de compatibilidade Intel® DPC++, execute o seguinte:

  • No Linux (sudo): fonte /opt/intel/oneapi/setvars.sh
  • No Linux (usuário): fonte ~/intel/oneapi/setvars.sh
  • No Windows :Drive:\ Programa Files (x86)\Intel\oneAPI\setvars.bat

A sintaxe de invocação geral do shell do sistema operacional é:

dpct [opções] [ … ]

OBSERVAÇÃO c2s é um alias para o comando dpct e pode ser usado em seu lugar.

Informações de uso incorporadas 

Para ver a lista de opções específicas da ferramenta de compatibilidade Intel® DPC++, use –help:

dpct –ajuda

Para ver a lista de opções do analisador de idioma (Clang*), passe -help como a opção Clang:

dpct — -ajuda
Avisos Emitidos

A ferramenta de compatibilidade Intel® DPC++ identifica os locais no código que podem exigir sua atenção durante a migração do files para tornar o código SYCL compatível ou correto.
Os comentários são inseridos na fonte gerada files e exibidos como avisos na saída. por exampem:

/caminho/para/file.hpp:26:1: aviso: DPCT1003:0: API migrada não retorna código de erro. (*,0) é inserido. Pode ser necessário reescrever esse código. // linha de código-fonte para a qual o aviso foi gerado ^

Para obter mais detalhes sobre o significado de um aviso específico, consulte o Referência de diagnóstico.

Para obter mais detalhes sobre o significado de um aviso específico, consulte a Referência de diagnóstico.

Migrar um projeto de teste simples

A ferramenta de compatibilidade Intel® DPC++ vem com váriosample projetos para que você possa explorar a ferramenta e se familiarizar com seu funcionamento:

Sampo Projeto Descrição
 Vetor Adicionar DPCT
  • vector_add.cu
O vetor Adicionar DPCT sample demonstra como migrar um programa simples de CUDA para SYCL. O Vector Add fornece uma maneira fácil de verificar se seu ambiente de desenvolvimento está configurado corretamente para usar a ferramenta de compatibilidade Intel® DPC++.
Opções de Pasta DPCT
  • main.cu
  • bar/util.cu
  • barra/util.h
As opções de pasta DPCT sample mostra como migrar projetos mais complexos e usar opções.
Rodínia NW DPCT
  • agulha.cu
  • agulha.h
  • agulha_kernel.cu
Rodínia NW DPCT sampO arquivo demonstra como migrar um projeto Make/CMake de CUDA para SYCL usando a ferramenta de compatibilidade Intel® DPC++.

Review o README file fornecido com cada sample para obter informações mais detalhadas sobre o propósito e uso do sampo projeto.

Para acessar o sampos

  • use o utilitário oneapi-cli para selecionar comoamparquivo da categoria Intel® DPC++ Compatibility Tool, ou
  • baixar o samples de Github*.

Para obter informações mais detalhadas sobre como baixar e acessar o samples, visite os guias de introdução do Intel® oneAPI Base Toolkit:

Tente um Sampo Projeto 

Siga estas etapas para migrar o Vector Add DPCT sampprojeto de arquivo usando a ferramenta de compatibilidade Intel® DPC++:

  1. Faça o download do vector_add.cu sampeu.
  2. Execute a ferramenta de compatibilidade Intel® DPC++ a partir doampo diretório raiz:
    dpct –na raiz=. src/vector_add.cu

     

    O vector_add.dp.cpp file deve aparecer no diretório dpct_output. O file agora é uma fonte SYCL file.

  3. Navegue até a nova fonte SYCL file:
cd dpct_saída

Verifique o código-fonte gerado e corrija qualquer código que a ferramenta de compatibilidade Intel® DPC++ não conseguiu migrar. (O código usado neste exemploamparquivo é simples, portanto alterações manuais podem não ser necessárias). Para obter instruções mais precisas e detalhadas sobre como lidar com avisos emitidos pela ferramenta de compatibilidade Intel® DPC++, consulte a seção Endereçando avisos no código migrado do LEIA-ME files.

OBSERVAÇÃO Para compilar os s migradosample, adicione -I/include ao seu comando de compilação.

Para s mais complexosample instruções, consulte o Migrar um projeto seção do guia e referência do desenvolvedor da ferramenta de compatibilidade Intel® DPC++.

Encontre mais

Contente Descrição
Compatibilidade Intel® DPC++

Guia do desenvolvedor de ferramentas e

Referência

Detalhado sobreview dos recursos, fluxo de trabalho e uso da ferramenta de compatibilidade Intel® DPC++.
Sob demanda Webinar:

Migrando seu CUDA existente

Código para Código DPC++

Como migrar o código CUDA para Data Parallel C++ (DPC++) usando a ferramenta de compatibilidade Intel® DPC++, um mecanismo de migração única que transporta kernels e chamadas de API.
Guias de instalação para Intel®

kits de ferramentas oneAPI

Instruções detalhadas sobre como obter e instalar pacotes Intel® oneAPI usando diferentes modos de instalação e gerenciadores de pacotes.
Versão da especificação SYCL

1.2.1 PDF

O PDF de especificação SYCL. Explica como SYCL integra dispositivos OpenCL com C++ moderno.
Especificação SYCL 2020 O PDF da especificação SYCL 2020.
Khronos* SYCL encerradoview Um fimview de SYCL fornecido pelo Grupo Khronos.
Compilando CUDA com clang Descrição do suporte CUDA em clang.
Extensões Intel LLVM SYCL Extensões propostas para a especificação SYCL.
Camadas para o Projeto Yocto* Adicione um componente de API a um projeto Yocto construído usando as camadas meta-intel.

logotipo da intel

Documentos / Recursos

Ferramenta de compatibilidade Intel DPC++ [pdf] Guia do Usuário
Ferramenta de compatibilidade DPC, Ferramenta de compatibilidade, Ferramenta

Referências

Deixe um comentário

Seu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados *