Dieses Beispiel zeigt eine Open Computing Language (OpenCL™) Implementierung einer schnellen Fourier-Transformation (FFT). Das Beispiel verarbeitet mehrere Sätze von komplexen Gleitkommawerten der Einzelpräzision 4096. Die Eingabedaten werden geordnet und die Ausgabedaten werden in bit-rückwärts geordnet.
Zu Demonstrationszwecken enthält dieses Beispiel eine einzige radix-4 FFT-Engine, die acht Datenpunkte pro Taktzyklus verarbeiten kann. Je nach Endanwendung und den verfügbaren FPGA Ressourcen können mehr Instanzen dieser Engine für eine höhere Leistung instanziiert werden, je nach der auf dem OpenCL-Mainboard verfügbaren Speicherbandbreite.
Die FFT-Engine wird als ein einzelner Work-Item-Kernel implementiert, um ein Zeitfenster-Designmuster effizient zu implementieren, das zur Darstellung von Verzögerungselementen verwendet wird. Weitere Einzelheiten finden Sie im Beispielpaket.
FFT-Leistung
Funktionen
- Muster für Fensterdesigns
- Einzel-Arbeitselement-Kernel
Downloads
Das Design-Beispiel liefert den Quellcode für das OpenCL-Gerät (.cl) und die Host-Anwendung. Zum Kompilieren der Host-Anwendung enthält das Linux* Paket eine Makefile und das Windows* Paket enthält ein Microsoft* Visual Studio 2010-Projekt.
Die folgenden Downloads werden für dieses Beispiel bereitgestellt:
Die Verwendung dieses Designs unterliegt den Bedingungen der Hardware-Referenzdesignlizenzvereinbarung.
Software- und Hardware-Anforderungen
Dieses Designbeispiel erfordert die folgenden Tools:
- Intel® FPGA Software 17.1 oder neuer
- Intel FPGA SDK für OpenCL 17.1 oder neuer
- Unter Linux: GNU Make und gcc
- Unter Windows: Microsoft Visual Studio 2010
Um die Intel Design-Tools herunterzuladen, besuchen Sie die OpenCL-Download-Seite. Die Anforderungen an das zugrundeliegende Betriebssystem sind dieselben wie die des Intel FPGA SDK für OpenCL.
OpenCL und das OpenCL-Logo sind Marken von Apple Inc., die mit Genehmigung von Khronos verwendet werden.
* Das Produkt basiert auf einer veröffentlichten Khronos-Spezifikation und hat den Khronos-Konformitätstest bestanden. Der aktuelle Konformitätsstatus finden Sie unter www.khronos.org/conformance.