Este exemplo contém um kernel de filtro de resposta de impulso finito de domínio de tempo otimizado (FIR) baseado no conjunto de parâmetros de referência HPEC Challenge. Os filtros FIR podem ser implementados eficientemente em um FPGA usando registros de deslocamento para maximizar a reutilização de dados. Este exemplo demonstra como descrever eficientemente um filtro FIR no Open Computing Language (OpenCLTM),que faz parte da classe de aplicações que usam janelas deslizantes. A computação específica implementada neste exemplo é um filtro FIR complexo de ponto flutuante de precisão flutuante de 128 toques.
Desempenho do filtro FIR
Características
- Buffer de janela deslizante 1D eficiente
- Kernel de item de trabalho único
- Guia de otimização detalhado (consulte a seção Downloads)
- Benchmark de terceiros
Downloads
O exemplo de projeto fornece código fonte para o dispositivo OpenCL (.cl) e para o aplicativo host. Para compilar o aplicativo host, o pacote Linux* inclui um makefile e o pacote do Windows inclui um projeto do Microsoft Visual Studio 2010.
Os seguintes downloads são fornecidos para este exemplo:
- pacote linux v17.1 x64 (.tar.gz)
- pacote v17.1 x64 windows (.zip)
- Guia de otimização de filtro FIR do domínio do tempo (PDF)
O uso deste design é regido pelos termos e condições do contrato de licença de design de referência de hardware.
Requisitos de software e hardware
Este exemplo de projeto requer as seguintes ferramentas:
- Intel® FPGA software v17.1 ou mais recente
- Intel FPGA SDK para OpenCL™ v17.1 ou mais recente
- No Linux: GNU Make e gcc
- No Windows: Microsoft Visual Studio 2010
Para baixar as ferramentas de design da Intel, acesse a página de downloads do OpenCL. Os requisitos para o sistema operacional subjacente são os mesmos do SDK Intel FPGA para OpenCL.
OpenCL e o logotipo OpenCL são marcas comerciais da Apple Inc. usadas com permissão pela Khronos.
* O produto é baseado em uma especificação Khronos publicada e passou no Processo de teste de conformidade Khronos. O status de conformidade atual pode ser encontrado em www.khronos.org/conformance.