Acelere as cargas de trabalho de DSP com os Versal AI Engines
A chave para melhorar o desempenho total do sistema
A tecnologia Versal AI Engine possibilita processamento de sinal digital (DSP) de alto desempenho.
Os clientes que trabalham em aplicativos de DSP de última geração exigem uma enorme capacidade dos recursos de computação que não é implementada de forma eficiente em arquiteturas FPGA tradicionais. Aplicativos de DSP com uso intensivo de computação (como FIR, FFT e General Matrix Multiply) podem usar quantidades significativas de blocos de DSP e recursos lógicos programáveis.
Essa complexidade do algoritmo pode reduzir significativamente a capacidade computacional geral disponível em dispositivos lógicos programáveis tradicionais. Apenas aumentar os blocos de DSP e a lógica programável disponível não é uma solução dimensionável para cargas de trabalho intensivas de DSP, que têm orçamentos de energia rigorosos. Os Versal AI Engines foram projetados para fornecer uma solução de computação mais eficiente nesses casos.
Nossa biblioteca de tutoriais em vídeo oferece informações técnicas essenciais para começar.
O projeto de funções de DSP de alto desempenho que visam os AMD Versal™ AI Engines pode ser feito usando as ferramentas de desenvolvimento AMD Vitis™ ou o fluxo do Vitis Model Composer, aproveitando a simulação e os recursos gráficos da ferramenta MathWorks Simulink®.
De qualquer forma, o mapeamento do aplicativo de DSP em funções para implementação na FPGA ou mecanismos de IA ou uma combinação de lógica de FPGA e mecanismos de IA é essencial. Isso requer uma compreensão das capacidades do dispositivo, bem como do sistema geral.
Normalmente, as funções com uso intenso de computação são mais adequadas para a implementação do mecanismo de IA, enquanto as funções que exigem movimentação/reorganização de dados são mais adequadas para uma implementação da FPGA.
No exemplo mostrado abaixo, a filtragem complexa e as transformações de Fourier geralmente são mais adequadas dentro da matriz do mecanismo de IA.
Depois que as funções forem claramente identificadas como mecanismo de IA apropriado, elas poderão ser implementadas no mecanismo de IA usando qualquer uma das opções abaixo.
Nota: uma abordagem híbrida usando várias opções da lista abaixo também é possível.
A plataforma Vitis oferece dois ambientes de programação, aproveitando bibliotecas de DSP, APIs e intrínsecos
Desenvolva em C/C++
A plataforma Vitis tem blocos de construção de código aberto para algoritmos de DSP comuns, funções e gráficos de dispositivos. Use-os como estão para testes rápidos ou personalize-os de acordo com suas necessidades.
Fluxo de C/C++
Para começar com mecanismos de IA para DSP, é altamente recomendável começar com as funções da biblioteca Vitis DSP (baseadas em C). Embora a codificação manual possa resultar em uma implementação mais otimizada, o uso dos métodos abaixo é a maneira mais rápida de começar a usar os mecanismos de IA para DSP e, ao mesmo tempo, oferecer um desempenho forte. (Uma abordagem híbrida usando várias opções da lista abaixo também é possível)
dsplib::fft::dit1ch::fft_ifft_dit_1ch
aie::vector<int8_t, sizeTileA> A0
aie::vector<int8_t, sizeTileA> A1
Acc0 = mac16(acc0, Bbuff, 0, 0x00000000, 8, 0x3120, Abuff0, 0, 0xCC884400, 2, 0x3210);
Acc0 = mac16(acc0, Bbuff, 32, 0x00000000, 8, 0x3120, Abuff0, 0, 0xCC884400, 2, 0x3210);
Diferentes funções do mecanismo de IA são interconectadas usando o grafo C, que é um código C++ que descreve uma rede de vários blocos do mecanismo de IA.
Projeto | Opções de simulação |
Somente mecanismo de IA | Simulador X86 (Rápido) e Simulador AIE (Ciclo aproximado) |
Mecanismo de IA + Subsistema de PL (código PL usando Vitis HLS) |
Simulação funcional do Vitis com MATLAB ou Python |
Mecanismo de IA + Subsistema de PL (Código PL usando HDL) |
Simulação funcional com testbench HDL usando Vivado XSIM™ |
Mecanismo de IA + PL + PS | Emulação de hardware no Vitis Simulação de PS usando QEMU Simulação de PL usando XSIM (test bench HDL) AIE simulado usando o simulador AIE (Sistema C) |
Para obter mais informações sobre Fluxos de simulação, consulte: Guia de projeto SoC adaptativo Versal (UG1273)
Fluxo baseado em modelo com o Vitis Model Composer
O compositor traz o desenvolvimento para o ambiente MathWorks MATLAB®/Simulink®, onde você pode gerar kernels para Versal AI Engines, integrar módulos de lógica programável e simular sistemas.
Fluxo do Vitis Model Composer
O uso do Vitis Model Composer permite uma interconexão gráfica entre as diferentes funções do mecanismo de IA. Essa representação gráfica pode ser convertida em um botão no código em C do grafo pelo Vitis Model Composer. As capacidades robustas de simulação do ambiente MathWorks Simulink também podem ser aproveitadas para verificar o projeto.
Para saber mais sobre o desenvolvimento do Versal AI Engine usando o Vitis Model Composer, visite a página Desenvolvimento do Versal AI Engine usando o Vitis Model Composer.
Embora as ferramentas compilador e simulador do AI Engine façam parte do instalador de software do AMD Vitis™, essas ferramentas ainda exigem uma licença gratuita para uso. Você pode obter essa licença no Site de licenciamento de produtos.
Insira seus detalhes e escolha a opção "Licença de ferramentas do AI Engine".
Para comparações de avaliações de desempenho ponto a ponto de projetos somente de lógica programável com um projeto de SoC adaptativo com mecanismo de IA usando SoCs adaptativos AMD Versal, entre em contato com a equipe de vendas ou com seu engenheiro de aplicação de campo para obter resultados de referência e projetos de origem.