ID do artigo: 000097576 Tipo de conteúdo: Compatibilidade Última revisão: 16/05/2024

Por que a oneAPI FPGA hardware é inconsistente com o resultado da emulação para a divisão de ponto flutuante?

Ambiente

    Intel® Quartus® Prime Pro Edition
BUILT IN - ARTICLE INTRO SECOND COMPONENT
Descrição

Se houver uma operação de divisão de ponto flutuante em seu projeto oneAPI, você pode encontrar resultados inconsistentes entre o oneAPI FPGA hardware e o emulador devido aos dois modos de compilação terem modos de arredondamento diferentes de operações de ponto flutuante.

Um código e um resultado de amostra são exibidos abaixo:

Código: flutuação res = 1,0f/1272;

Resultado da saída: o resultado do emulador é 0.000786163, mas o resultado do hardware é 0.000786164

Resolução

Para contornar esse problema, você deve usar a opção "-fp-model=precise -no-fma" e "-Xsrounding=ieee" no seu comando de compilação.

Exemplo de comando:

icpx -fsycl -fintelfpga -Xshardware -Xsrounding=ieee -fp-model= preciso -no-fma <source_file>.cpp

Essas informações estão programadas para serem adicionadas em uma versão futura do guia de otimização de FPGA para o guia do usuário dos kits de ferramentas oneAPI.

Produtos relacionados

Este artigo aplica-se a 1 produtos

Intel® Stratix®

1

O conteúdo desta página é uma combinação de tradução humana e por computador do conteúdo original em inglês. Este conteúdo é fornecido para sua conveniência e apenas para informação geral, e não deve ser considerado completo ou exato. Se houver alguma contradição entre a versão em inglês desta página e a tradução, a versão em inglês governará e será a controle. Exibir a versão em inglês desta página.