W tym przykładzie pokazano wdrożenie open computing language (OpenCL) szybkiej transformacji 2D Fourier (FFT). Przykład przetwarza macierz 2D 1024x1024 złożonych wartości zmiennoprzecinkowych o pojedynczej precyzji. 2D FFT rozkłada się na 1D FFT zastosowaną do każdego wiersza, po której następuje 1D FFT zastosowany do każdej kolumny.
Jądro rdzenia w tym przykładzie wykonuje 1D FFT i transpozycję macierzy. Program hosta dwukrotnie urzeka to jądro 1D FFT, aby ukończyć transformację 2D. W tym przykładzie uwzględniono wiele optymalizacji, w tym porównanie dwóch różnych układów danych wyjściowych, w których jeden układ danych działa o 60% lepiej. Dodatkowe szczegóły znajdują się w pakiecie przykładowego.
Wydajność 2D FFT
Funkcje
- Rozszerzenie dostawcy kanałów
- Optymalizacje wzorców dostępu do pamięci
- Wiele jednoczesnych jąder
- Połączenie pojedynczych elementów roboczych i jąder NDRange
Pobrań
Przykład projektu zawiera kod źródłowy urządzenia OpenCL (.cl) oraz aplikacji hosta. W celu skompilowania aplikacji hosta pakiet Linux zawiera plik Makefile, a pakiet Windows zawiera projekt Microsoft Visual Studio 2010.
Następujące pliki do pobrania są podane dla tego przykładu:
Użytkowanie tego projektu podlega i podlega warunkom umowy licencyjnej na projekt referencyjny sprzętu.
Wymagania dotyczące oprogramowania i sprzętu
Ten przykład projektu wymaga następujących narzędzi:
- Oprogramowanie Intel® FPGA wersji 17.1 lub nowszej
- Intel FPGA SDK dla OpenCL w wersji 17.1 lub nowszej
- W systemie Linux: GNU Make i gcc
- W systemie Windows: Microsoft Visual Studio 2010
Aby pobrać narzędzia do projektowania firmy Intel, odwiedź stronę pobierania OpenCL. Wymagania dotyczące odpowiedniego systemu operacyjnego są takie same jak wymagania zestawu SDK Intel FPGA dla OpenCL.
OpenCL i logo OpenCL są znakami towarowymi firmy Apple Inc. użytymi za zgodą Khronos.
* Produkt jest oparty na opublikowanej specyfikacji Khronos i przeszedł proces testowania zgodności Khronos. Aktualny status zgodności można znaleźć na stronie www.khronos.org/conformance.