Điểm chuẩn này chứng minh việc triển khai OpenCL™ thực hiện chuyển đổi Fourier nhanh 1D (1D FFT) trên nền tảng Intel® FPGAs. Điểm chuẩn có thể xử lý lên đến 16 triệu giá trị dấu chéo đơn chính xác phức tạp và hỗ trợ kích thước dữ liệu thay đổi động.
Thuật toán được sử dụng để xử lý các tập dữ liệu lớn như vậy có sáu giai đoạn. Ví dụ: giả sử chúng tôi muốn xử lý 1 triệu điểm:
- Coi điểm 1M là ma trận 1K x 1K, đọc nó từ bộ nhớ ngoài và chuyển nó nhanh.
- Chạy FFT 1K 1D trên tất cả các hàng (ma trận được chuyển giao).
- Nhân giá trị kết quả bằng cách điều chỉnh các yếu tố cạc.
- Chuyển ma trận và ghi vào bộ đệm tạm thời trong bộ nhớ ngoài.
- Chạy FFT 1K 1D trên tất cả các hàng.
- Chuyển ma trận và ghi đầu ra vào bộ nhớ ngoài.
Toàn bộ hệ thống bao gồm ba hạt nhân được kết nối bằng các kênh. Bộ ba hạt nhân được máy chủ trình gửi đến hai lần để thực hiện tính toán đầy đủ. Enqueue đầu tiên thực hiện các bước từ 1-4 ở trên, mã hóa đơn thứ hai thực hiện các bước 5-6. Đây cơ bản là một lõi 2D FFT với sự chuyển dịch bổ sung và nhân đôi.
Mã này dễ dàng được tham số hóa để hỗ trợ các kích thước FFT khác nhau cũng như các yêu cầu hiệu suất khác nhau.
Hiệu năng FFT
Hiệu năng của lõi phụ thuộc vào số điểm được xử lý song song, bố cục dữ liệu được sử dụng, số lượng và tốc độ của bộ nhớ ngoài. Các phép đo dưới đây được thực hiện trên BittWare S5-PCIe-HQ D8 với hai DDR3-1600. Các phép đo được thực hiện trên 1M điểm FFT cho 8 điểm song song và 4M FFT cho 4 điểm song song.
Điểm được xử lý song song | Bố trí dữ liệu đầu vào/đầu ra Tự nhiên |
Bố trí dữ liệu đầu vào/đầu ra Tối ưu hóa |
---|---|---|
4 | 117 MSPS | 217 MSPS |
8 | 292 MSPS | 457 MSPS |
MSPS là "hàng triệu mẫu mỗi giây."
Tính năng
- Các nhân một hạng mục công việc
- Kênh hạt nhân
- Chuyển vị ma trận tối ưu hóa
Tải
Ví dụ thiết kế cung cấp mã nguồn cho thiết bị OpenCL (.cl) cũng như ứng dụng máy chủ. Để biên dịch ứng dụng máy chủ, gói Linux* bao gồm một Makefile và gói Windows bao gồm một dự án Microsoft Visual Studio 2010.
Các bản tải xuống sau được cung cấp cho ví dụ này:
Việc sử dụng thiết kế này được điều chỉnh và tuân theo, các điều khoản và điều kiện của thỏa thuận cấp phép thiết kế tham chiếu phần cứng.
Yêu cầu phần mềm và phần cứng
Ví dụ thiết kế này yêu cầu các công cụ sau:
- Intel® FPGA mềm v17.1 hoặc mới hơn
- Intel FPGA SDK cho OpenCL v17.1 trở lên
- Trên Linux: GNU Make và gcc
- Trên Windows: Microsoft Visual Studio 2010
Để tải xuống các công cụ thiết kế của Intel, hãy truy cập trang tải xuống OpenCL. Ví dụ thiết kế này chỉ hỗ trợ hệ điều hành Linux
OpenCL và biểu trưng OpenCL là thương hiệu của Apple Inc. được sử dụng với sự cho phép của Khronos.
* Sản phẩm dựa trên Thông số kỹ thuật Khronos được công bố và đã thông qua Quy trình kiểm tra tuân thủ Khronos. Có thể tìm thấy trạng thái tuân thủ hiện tại tại www.khronos.org/conformance.