OpenCL™ - BSP - Pusat Dukungan
Pemberitahuan Penghentian Produk
Intel menghentikan Intel® FPGA SDK untuk OpenCL,™ informasi lebih lanjut dapat ditemukan di pemberitahuan penghentian produk (PDN2219).
Halaman dukungan OpenCL BSP memberikan informasi tentang cara merencanakan, merancang, dan mengimplementasikan OpenCL™™ BSP Anda, serta mempelajari beberapa tips dan trik untuk tujuan debugging.
1. Ubah Desain Referensi
Persiapan
Untuk memulai pengembangan BSP, pastikan Anda melakukan langkah-langkah berikut:
- Konfirmasikan bahwa SDK Intel® FPGA untuk OpenCL™ dan perangkat lunak Intel® Quartus® telah diinstal.
- Verifikasi bahwa versi alat yang cocok dengan BSP referensi OpenCL™ tersedia.
- Konfirmasikan akses ke lisensi perangkat lunak Intel® Quartus® lengkap.
Pilih Desain Referensi
Pilih desain referensi yang sesuai dengan platform kustom Anda
Intel mendukung desain BSP referensi OpenCL™ untuk platform berikut. Anda juga dapat melihat panduan porting OpenCL™ BSP untuk platform tertentu:
- Kit Pengembangan Stratix® V PCIe* - Lihat Panduan Porting Platform Referensi Jaringan Intel® FPGA SDK for OpenCL™ Stratix® V
- Intel® Arria® 10 PCIe Development Kit - Lihat Panduan Porting Platform Referensi Intel® FPGA SDK for OpenCL™ Intel® Arria® 10 GX FPGA Development Kit
- Intel® Arria® 10 SoC Development Kit - Lihat SDK Intel® FPGA untuk OpenCL™ Intel® Arria® Panduan Porting Platform Referensi Development Kit 10 SoC
- Intel® Stratix® 10 PCIe* Development Kit - Lihat SDK Intel® FPGA untuk OpenCL™ Intel® Stratix® Panduan Porting Platform Referensi FPGA Development Kit 10 GX
Mengubah Desain Referensi
Mulai modifikasi desain referensi ke platform Anda dengan mengikuti langkah-langkah dalam panduan porting OpenCL BSP. Disarankan bahwa setelah perubahan desain selesai, Anda harus mencoba mengkompilasi kernel pertama Anda. Umumnya, kami menggunakan kernel yang disebut Boardtest, yang menguji antarmuka BSP yang berbeda. Informasi tentang langkah-langkah pembangunan BSP Boardtest dan generik disebutkan dalam panduan berikut:
Panduan Pengguna SDK Intel® FPGA untuk OpenCL™ Custom Platform Toolkit (PDF)
Langkah-langkah yang disarankan untuk membangun BSP:
- Mengompilasi Boardtest dalam alur "datar" untuk menghasilkan file ".aocx" yang ditutup waktu
- Validasi ".aocx" dengan menjalankan Boardtest dan periksa silang ekspektasi bandwidth antarmuka dari pengujian
- Mulai kerjakan perencanaan lantai untuk build "dasar" guna membuat OpenCL BSP yang dijamin waktunya tertutup
2. Perencanaan Lantai dan Penutupan Waktu
Persiapan
Di OpenCL, kita perlu bekerja pada waktu untuk dua revisi proyek yang berbeda - revisi flat dan base. Revisi flat adalah revisi tanpa partisi atau wilayah kunci logika dan menggunakan file hardware/flat.qsf untuk mengimplementasikannya. Sedangkan revisi dasar adalah salah satu yang mencakup partisi dan kunci logika, dan menggunakan file hardware/base.qsf untuk mengimplementasikannya. Kami menyarankan Anda mendapatkan revisi datar waktu-bersih terlebih dahulu sebagai awal yang baik dan kemudian mengerjakan perencanaan lantai untuk mendapatkan revisi dasar waktu-bersih dari desain.
Untuk detail selengkapnya tentang alur kompilasi, lihat bagian Alur Kompilasi OpenCL BSP di Panduan Pengoptimalan Denah Lantai Paket Dukungan Board Intel® FPGA SDK for OpenCL™ ™.
Partisi denah lantai
Mulailah dengan kompilasi datar untuk memahami di mana semua komponen utama BSP ditempatkan secara alami (terutama blok kekayaan intelektual (IP) dengan koneksi I/O, seperti memori PCIe* atau DDR).
Untuk panduan lebih lanjut tentang ini, lihat bagian Panduan untuk OpenCL BSP Floorplanning di Panduan Pengoptimalan Denah Lantai Paket Intel® FPGA SDK for OpenCL™ ™ Board Support.
Untuk detailnya, Anda juga dapat merujuk ke Panduan Pengguna Konfigurasi Ulang Sebagian.
Ubah Wilayah PR
Selama kompilasi dasar, mulai dengan Wilayah Kunci Logika pada kernel yang berisi freeze_wrapper_inst|kernel_system_inst. Gunakan kompilasi datar dan perencana chip untuk mengidentifikasi ukuran dan lokasi perangkat keras BSP. Cobalah untuk memesan lebih banyak sumber daya untuk kernel_system dengan menggunakan Wilayah Kunci Logika.
Untuk panduan lebih lanjut tentang ini, lihat bagian Panduan untuk OpenCL BSP Floorplanning di Panduan Pengoptimalan Denah Lantai Paket Intel® FPGA SDK for OpenCL™ ™ Board Support.
Memperbaiki Pelanggaran Waktu
Untuk memperbaiki pelanggaran waktu dalam desain, Anda mungkin perlu menambahkan tahapan alur di antara inti IP.
Untuk panduan lebih lanjut, lihat tautan berikut:
Batasan Penyiapan/Penahanan
.failing_paths.rpt dan .failing_clocks.rpt di direktori output mencantumkan kegagalan besar dalam desain. Jika ada kegagalan yang konsisten di beberapa jalur, Anda mungkin ingin menetapkan batasan penundaan minimum atau maksimum untuk jalur penting tersebut di dalam file /hardware/top.sdc.
Untuk masalah terkait, Anda dapat merujuk ke metode penyelesaian berikut pada halaman Database Pengetahuan—Bagaimana cara menutup waktu pada pelanggaran penangguhan dan penyiapan yang bersaing di Arria 10?
3. Utilitas MMD dan OpenCL™
Pengembangan atau Modifikasi Sumber MMD
Pustaka perangkat lunak MMD mengimplementasikan input/output (I/O) dasar antara host dan papan akselerasi dan menyediakan antarmuka, seperti membuka, membaca, dan menulis. Driver pustaka MMD disimpan sebagai format Windows* 64 atau Linux* 64, dan kode sumber disimpan di folder sumber.
Untuk informasi selengkapnya, lihat bagian Membuat Pustaka MMD di Panduan Pengguna Intel® FPGA SDK for OpenCL™ Custom Platform Toolkit.
Dukungan Utilitas
Utilitas OpenCL memungkinkan Anda untuk melakukan akses board menggunakan SDK Intel® FPGA untuk OpenCL™.™ Ini termasuk instalasi aocl, uninstall aocl, diagnosis aocl, program aocl, dan flash aocl.
Untuk informasi selengkapnya, lihat bagian Menyediakan Intel® FPGA SDK for OpenCL Utilities Support di Panduan Pengguna Intel® FPGA SDK for OpenCL™ ™ Custom Platform Toolkit.
Setelah Anda membuat utilitas perangkat lunak dan lapisan MMD, desain perangkat keras perlu diuji. Cara standar adalah menghasilkan kernel boardtest dan berjalan di board.
Untuk informasi selengkapnya, lihat bagian Menguji Desain Perangkat Keras di Panduan Pengguna Intel® FPGA SDK for OpenCL™ Custom Platform Toolkit.
4. Debug
Membawa Papan
Bagian ini membantu Anda memecahkan masalah sambil memunculkan kit pengembangan Intel® FPGA atau papan kustom Anda sendiri.
Untuk mengetahui beberapa masalah umum yang mungkin Anda hadapi saat membuka board, lihat bagian berikut di AN 807: Mengonfigurasi Kit Pengembangan FPGA Intel® Arria® 10 GX untuk Aplikasi Intel® FPGA SDK for OpenCL™ Catatan:
Denah dan Waktu
Untuk tips dan trik menggunakan area minimal untuk logika statis dan menyisakan lebih banyak ruang untuk kernel OpenCL™ Anda, Anda dapat merujuk ke Panduan Pengoptimalan Denah Lantai Paket Dukungan Board AN™ 824: Intel® FPGA SDK.
Runtime Debug
Ada variabel lingkungan tertentu yang dapat diatur untuk mendapatkan lebih banyak informasi debug saat menjalankan aplikasi host. Ini adalah Intel® FPGA SDK untuk variabel lingkungan khusus OpenCL™, yang dapat membantu mendiagnosis masalah dengan desain platform kustom.
Tabel berikut mencantumkan semua variabel lingkungan ini serta menjelaskannya secara rinci.
Variabel Lingkungan |
Deskripsi |
ACL_HAL_DEBUG |
Atur variabel ini ke nilai 1 hingga 5 untuk meningkatkan output debug dari Hardware Abstraction Layer (HAL), yang berinteraksi langsung dengan lapisan MMD. |
ACL_PCIE_DEBUG |
Atur variabel ini ke nilai 1 hingga 10000 untuk meningkatkan output debug dari MMD. Pengaturan variabel ini berguna untuk mengonfirmasi bahwa register ID versi dibaca dengan benar dan inti IP UniPHY dikalibrasi. |
ACL_PCIE_JTAG_CABLE |
Atur variabel ini untuk mengganti argumen quartus_pgm default yang menentukan nomor kabel. Standarnya adalah kabel 1. Jika ada beberapa Intel® FPGA Download Cable, Anda dapat menentukan kabel tertentu dengan mengatur variabel ini. |
ACL_PCIE_JTAG_DEVICE_INDEX |
Atur variabel ini untuk mengganti argumen quartus_pgm default yang menentukan indeks perangkat FPGA. Secara default, variabel ini memiliki nilai 1. Jika FPGA bukan perangkat pertama dalam rangkaian JTAG, Anda dapat menyesuaikan nilainya. |
ACL_PCIE_USE_JTAG_PROGRAMMING |
Atur variabel ini untuk memaksa MMD memprogram ulang FPGA menggunakan kabel JTAG, bukan Konfigurasi Ulang Sebagian. |
ACL_PCIE_DMA_USE_MSI |
Atur variabel ini jika Anda ingin menggunakan MSI untuk transfer akses memori langsung (DMA) pada Windows*. |
Debug Ketuk Sinyal
Karena desain OpenCL™ tidak mendukung fitur simulasi, menggunakan Signal Tap Logic Analyzer adalah cara terbaik untuk men-debug desain ini.
Untuk men-debug desain apa pun di mana ada kernel hang atau masalah yang terkait dengan antarmuka memori atau kegagalan diagnosis aocl, disarankan untuk menggunakan Signal Tap Logic Analyzer.
Untuk mempelajari selengkapnya tentang Penganalisis Logika Tap Sinyal, lihat bagian Debugging Desain dengan Penganalisis Logika Tap Sinyal di Panduan Pengguna Alat Debug.
Lakukan langkah-langkah berikut untuk menambahkan file Signal Tap ke dalam desain BSP
1. Buka Signal Tap GUI dan tambahkan semua sinyal yang akan dianalisis.
2. Simpan file STP di direktori yang sama dengan file proyek perangkat lunak Intel® Quartus®.
3. Tambahkan baris perintah berikut ke flat.qsf Anda:
- set_global_assignment -name ENABLE_SIGNALTAP ON
- set_global_assignment -nama USE_SIGNALTAP_FILE <file_name>.stp
- set_global_assignment -nama SIGNALTAP_FILE <file_name>.stp
4. Kompilasi ulang kernel dari baris perintah AOCL.
Solusi Database Pengetahuan
Intel® Arria® 10 Perangkat
Intel® Stratix® 10 Perangkat
Masalah yang Diketahui
Sumber Daya Tambahan
Debugging Desain Menggunakan Bagian Sumber dan Probe Dalam Sistem di Panduan Pengguna Alat Debug
AN 799: Quick Intel® Arria® 10 Design Debugging Menggunakan Signal Probe dan Rapid Recompile
5. Bacaan dan Pelatihan yang Direkomendasikan
Kursus Pelatihan OpenCL™
- Pengantar Komputasi Paralel dengan OpenCL™ di Intel® FPGAs
- Menjalankan OpenCL™ di Intel® FPGAs
- Membangun Platform Kustom untuk SDK Intel® FPGA untuk OpenCL:™ Konten Paket Dukungan Board (BSP)
- Mengembangkan Paket Dukungan Board (BSP) OpenCL™ Kustom
- Kursus Pelatihan Paket Dukungan Board (BSP) OpenCL™
- Kursus Pelatihan OpenCL™ Lainnya
Video OpenCL™
Judul |
Deskripsi |
---|---|
Video ini menjelaskan prosedur siap pakai untuk menjalankan dua aplikasi, OpenCL HelloWorld dan OpenCL™™ fast Fourier transform (FFT) pada Cyclone® V SoC menggunakan mesin Windows*. |
|
Video ini menjelaskan prosedur siap pakai untuk menjalankan dua aplikasi, OpenCL HelloWorld dan OpenCL™™ FFT pada Cyclone® V SoC menggunakan mesin Windows*. |
|
Video ini menjelaskan prosedur siap pakai untuk menjalankan dua aplikasi, OpenCL HelloWorld dan OpenCL™™ FFT pada Cyclone® V SoC menggunakan mesin Windows*. |
|
Video ini menjelaskan prosedur siap pakai untuk menjalankan dua aplikasi, OpenCL HelloWorld dan OpenCL™™ FFT pada Cyclone® V SoC menggunakan mesin Windows*. |
|
Video ini menjelaskan prosedur siap pakai untuk menjalankan dua aplikasi, OpenCL HelloWorld dan OpenCL™™ FFT pada Cyclone® V SoC menggunakan mesin Windows*. |
|
Cara Mengemas Modul/Desain Verilog Kustom sebagai Pustaka OpenCL™ |
Video ini membahas mengapa pelanggan berpotensi menggunakan fitur ini untuk memiliki blok pemrosesan kustom (RTL) mereka dalam kode kernel OpenCL™. Video ini menjelaskan contoh desain seperti membuat file, file konfigurasi, dan menjelaskan alur kompilasi. Video ini juga menunjukkan demo contoh desain. |
OpenCL™ pada Intel FPGA SoC FPGA (Linux Host) - Bagian 1 - Alat Unduh dan Pengaturan |
Video ini menunjukkan cara mengunduh, menginstal, dan mengonfigurasi alat yang diperlukan untuk mengembangkan kernel OpenCL™ dan penargetan kode host Intel FPGA SoC FPGAs. |
Video ini menunjukkan cara mendownload dan mengompilasi contoh aplikasi OpenCL yang menargetkan emulator yang disertakan dalam Intel FPGA OpenCL™.™ |
|
Video ini menunjukkan cara mengompilasi kernel OpenCL™ dan kode host yang menargetkan FPGA dan prosesor Cyclone® V SoC FPGA. |
|
OpenCL™ on Intel FPGA SoC FPGA (Linux Host) - Bagian 4 - Pengaturan Lingkungan Runtime |
Video ini menunjukkan kepada Anda cara menyiapkan board Cyclone® V SoC untuk menjalankan contoh OpenCL™, dan menjalankan kode host dan kernel pada board. |
6. Dapatkan Bantuan
Penyedia Layanan Bersertifikasi OpenCL
Intel merekomendasikan penyedia layanan bersertifikat berikut yang dapat membantu pengembangan paket dukungan board OpenCL™ untuk board Intel® FPGA. Penyedia ini memiliki pengalaman yang luas dalam mengembangkan paket dukungan papan OpenCL berkualitas tinggi, driver, dan migrasi desain untuk papan Intel FPGA:
Terasic Inc
OpenCL dan logo OpenCL adalah merek dagang dari Apple Inc. yang digunakan dengan izin oleh Khronos.
Isi halaman ini adalah kombinasi terjemahan manusia dan komputer dari konten berbahasa Inggris. Konten ini diberikan hanya untuk kenyamanan Anda serta sebagai informasi umum dan tidak bisa dianggap sebagai lengkap atau akurat. Jika terdapat kontradiksi antara versi bahasa Inggris halaman ini dan terjemahannya, versi bahasa Inggris akan didahulukan. Lihat versi bahasa Inggris halaman ini.