Questo esempio dimostra un'implementazione Open Computing Language (OpenCL) di una trasformazione Fourier veloce 2D (FFT). L'esempio elabora una matrice 2D di valori complessi a virgola mobile a precisione singola 1.024x1.024. L'FFT 2D è scomposto in un FFT 1D applicato a ciascuna riga seguito da un FFT 1D applicato a ciascuna colonna.
Il core kernel di questo esempio esegue un FFT 1D e una trasposizione della matrice. Il programma host richiama due volte questo kernel FFT 1D per completare la trasformazione 2D. Ci sono molte ottimizzazioni incluse in questo esempio, tra cui un confronto di due diversi layout di dati di output in cui un layout di dati offre prestazioni migliori del 60%. Ulteriori dettagli sono forniti nel pacchetto di esempio.
Prestazioni FFT 2D
Caratteristiche
- Estensione fornitore canali
- Ottimizzazioni dei pattern di accesso alla memoria
- Più kernel simultanei
- Mix di kernel single work-item e NDRange
Download
L'esempio di progettazione fornisce il codice sorgente per il dispositivo OpenCL (.cl) e l'applicazione host. Per la compilazione dell'applicazione host, il pacchetto Linux include un makefile e il pacchetto di Windows include un progetto Microsoft Visual Studio 2010.
Per questo esempio vengono forniti i seguenti download:
L'utilizzo di questa progettazione è regolato e soggetto ai termini e condizioni del contratto di licenza di progettazione di riferimento hardware.
Requisiti software e hardware
Questo esempio di progettazione richiede i seguenti strumenti:
- software Intel® FPGA v17.1 o versioni successive
- INTEL FPGA SDK per OpenCL v17.1 o versioni successive
- Su Linux: GNU Make e gcc
- In Windows: Microsoft Visual Studio 2010
Per scaricare gli strumenti di progettazione Intel, visitare la pagina di download OpenCL. I requisiti per il sistema operativo sottostante sono gli stessi dell'SDK Intel FPGA per OpenCL.
OpenCL e il logo OpenCL sono marchi di Apple Inc. utilizzati su autorizzazione da Khronos.
* Il prodotto si basa su una specifica Khronos pubblicata e ha superato il processo di test di conformità Khronos. Lo stato di conformità corrente può essere trovato in www.khronos.org/conformance.