OneAPI: A plataforma da Intel para facilitar o desenvolvimento com chips Intel, AMD, ARM, NVIDIA POWER e FPGA. Saiba como instalar e configurar!

Não existe uma única arquitetura perfeita. Desenvolver para todas as plataformas é um grande desafio. Sendo assim, como Innovator Certificado Oficial Intel, disponibilizo neste documento um modelo de desenvolvimento unificado denominado projeto Intel OneAPI. Hoje, saiba como instalar e configurar o Intel oneAPI e até executar alguns exemplos.

Introdução e arquitetura

Com o avanço da tecnologia, o nosso dia a dia depende intensamente das tecnologias de computação em diversos momentos da vida, e novos tipos de cargas surgem. Resumidamente o suporte para formatos de inteiros do tipo INT8 avançou sua popularidade em aprendizado de máquina, e a precisão do formato FP64 compromete a performance. Neste contexto surge a necessidade de prover software de maneira eficaz à todo ecossistema de hardware.OneAPI é uma plataforma de software unificada e opensource que permite abstrair da arquitetura de hardware de equipamento para proporcionar softwares que utilizam recursos da plataforma com CPU, GPU, FPGA ou outros. A Intel OneAPI é baseada na linguagem DPC++ que, por sua vez, é baseada nos padrões C++ e Kronos SYCL.Conheci a OneAPI em 2019 e atualmente o projeto atingiu a versão Gold. O projeto tem especificações em aberto, conta com o seu próprio repositório no GitHub. OneAPI inclui bibliotecas principais, um compilador DPC++ baseado em LLVM/Clang, várias bibliotecas de desempenho Intel e ferramentas de depuração e análise de código.

Benefícios do Intel OneAPI

Antes de instalar o Intel oneAPI, preciso apresentar a ferramenta. O diferencial do projeto é a ferramenta, é a capacidade de migrar de código escrito em CUDA para plataforma x86, assim todo legado de software desenvolvido para aceleradores NVIDIA, pode ser disponibilizado para outras plataformas. Atenção em especial para algumas bibliotecas criadas para a geração de aplicativos usando deep learning, biblioteca de processamento de vídeo e outras.

Como fazer o download e a instalação do One API Intel

Para efetuar o download, existe a opção via navegador, onde devemos acessar o site do Intel OneAPI e baixar o arquivo de instalação para Linux offline conforme a figura abaixo, ou via console como mencionaremos posteriormente:

Ou download via Terminal apenas com o comando:

wget https://registrationcenter-download.intel.com/akdlm/irc_nas/17769/l_BaseKit_p_2021.2.0.2883_offline.sh

Após, para executar o seguinte comando para iniciar a instalação do Intel OneAPI:

sudo bash l_BaseKit_p_2021.2.0.2883_offline.sh

Agora clique em “I accept the terms” e no botão continue para avançarmos para o próximo passo da instalação conforme o exemplo da figura abaixo.

Neste momento devemos selecionar a opção de instalação com ou sem a IDE Eclipse. No meu caso escolhi a opção sem. E este documento tratará a compilação na linha de comando.

Escolha a opção para permitir ou não a coleta de dados e clique no botão install.

Aguarde a instalação do Intel oneAPI Base Toolkit:

Se tudo estiver funcionando corretamente, teremos o comportamento similar as telas a seguir:

Compilando os exemplos no Intel oneAPI:

De maneira sucinta veremos como compilar os exemplos desta ferramenta. Primeiramente configuraremos o ambiente executando o arquivo setvars localizado na pasta de instalação da solução openAPI.
source /opt/intel/oneapi/setvars.sh

Saídas:
:: initializing oneAPI environment …  bash: BASH_VERSION = 5.1.4(1)-release:: advisor — latest:: ccl — latest:: compiler — latest:: dal — latest:: debugger — latest:: dev-utilities — latest:: dnnl — latest:: dpcpp-ct — latest:: dpl — latest:: intelpython — latest:: ipp — latest:: ippcp — latest:: ipp — latest:: mkl — latest:: mpi — latest:: tbb — latest:: vpl — latest:: vtune — latest:: oneAPI environment initialized ::

Execute o comando oneapi-cli para obtermos um menu de navegação dos exemplos:

oneapi-cli

Selecione a opção “Create a project”.Selecione a linguagem de programação, para este tutorial, selecione “cpp”, após a escolha pressione ENTER. Então uma lista de exemplos será exibida logo em seguida.Para um simples teste para constatar que tudo está funcionando corretamente, selecione o exemplo “Vector Add”.

Depois da seleção pressione Enter novamente ou informe a localização para criação do exemplo no disco.

Pressione enter para confirmar o nome da pasta e do projeto.

E para finalizar pressione Enter para criar o projeto.

Entre na pasta recém criada denominada “vector-add” com o comando “cd” e execute o comando “make all” para efetuar a compilação.
cd vector-add
make all
dpcpp -O2 -g -std=c++17 -o vector-add-buffers src/vector-add-buffers.cpp

Para finalizar execute o programa compilado com o comando “make run”.

make run
./vector-add-buffers

Running on device: Intel(R) Gen9 HD Graphics NEO Vector size: 10000 [0]: 0 + 0 = 0 [1]: 1 + 1 = 2 [2]: 2 + 2 = 4 … [9999]: 9999 + 9999 = 19998 Vector add successfully completed on device.

Mais informações no link oficial: Installation Guide for Intel® oneAPI Toolkits ou em contato diretamente comigo em cabelo@opensuse.org.

“O próximo grande salto evolutivo da humanidade será a descoberta de que cooperar é melhor que competir… Pois colaborar atrai amigos, competir atrai inimigos!”

FONTE: Blog SempreUpdate
Agradecimentos aos autores originais desta publicação! Até a próxima!