OpenCL™ - BSP - Pusat Dukungan

Intel® FPGA SDK untuk OpenCL™ memungkinkan pengembang perangkat lunak untuk mempercepat aplikasi mereka dengan menargetkan platform heterogen dengan CPU Intel dan FPGA. Intel® FPGA SDK untuk OpenCL™ dapat diinstal sebagai bagian dari perangkat lunak Intel® Quartus® Prime atau sebagai paket terpisah. Anda dapat mengunduh Intel FPGA SDK untuk OpenCL dari tautan di bawah ini.

Unduh Intel® FPGA SDK untuk OpenCL™

Selamat datang di halaman dukungan OpenCL™ BSP! Di sini Anda akan menemukan informasi tentang cara merencanakan, merancang, dan menerapkan OpenCL™ BSP Anda, serta mempelajari beberapa tips dan trik untuk tujuan debugging.

Halaman ini diatur untuk memandu Anda dari awal hingga menyelesaikan proses pengembangan OpenCL™ Board Support Package (BSP) (atau merancang / memigrasikan kernel / algoritma OpenCL). Di bagian Modifikasi Desain Referensi Anda akan menemukan sumber daya tentang cara memodifikasi platform referensi Intel® ke dalam platform kustom Anda sendiri serta cara menyusun desain datar tanpa kegagalan waktu. Bagian Floorplanning dan Timing Closure memberikan panduan tentang cara mempartisi desain Anda dan untuk mencapai frekuensi operasi maksimum. Ini juga menjelaskan teknik untuk menutup waktu pada desain Anda dan memiliki penutupan waktu yang dijamin saat membangun BSP. Bagian MMD dan OpenCL Utilities menyediakan langkah-langkah untuk membangun kembali MMD dan memberikan informasi rinci tentang utilitas OpenCL. Bagian Debug memberi Anda beberapa alat dan sumber daya untuk masalah debugging yang mungkin Anda temui. Ada dokumen dan kursus pelatihan yang tercantum di semua bagian yang membantu selama proses pengembangan BSP.

1. Memodifikasi Desain Referensi

Persiapan

Untuk memulai dengan pengembangan BSP, pastikan Anda melakukan langkah-langkah berikut:

  1. Konfirmasikan bahwa perangkat lunak Intel® FPGA SDK untuk OpenCL™ dan Intel® Quartus® diinstal.
  2. Verifikasi bahwa versi alat yang cocok dengan OpenCL™ referensi BSP tersedia.
  3. 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:

Memodifikasi Desain Referensi

Mulailah memodifikasi desain referensi ke plat anda dari dengan mengikuti langkah-langkah dalam panduan porting OpenCL BSP. Disarankan agar setelah perubahan desain selesai, Anda harus mencoba menyusun kernel pertama Anda. Umumnya, kita menggunakan kernel yang disebut Boardtest,yang menguji antarmuka yang berbeda dari BSP. Informasi tentang Boardtest dan langkah-langkah bangunan BSP generik disebutkan dalam panduan berikut:

Intel® FPGA SDK untuk OpenCL™ Custom Platform Toolkit User Guide (PDF) ›

Langkah-langkah yang direkomendasikan untuk membangun BSP:

  1. Kompilasi Boardtest dalam aliran "datar" untuk menghasilkan file ".aocx" yang ditutup waktu
  2. Validasi ".aocx" dengan menjalankan Boardtest dan memeriksa silang perkiraan bandwidth antarmuka dari tes
  3. Mulai mengerjakan floorplanning untuk membangun "basis" untuk membuat OpenCL BSP yang dijamin tutup waktu

2. Floorplanning dan Penutupan Waktu

Persiapan

Dalam OpenCL, kita perlu bekerja pada waktu untuk dua revisi yang berbeda dari proyek - datar dan revisi dasar. Revisi datar adalah yang tanpa partisi atau wilayah kunci logika dan menggunakan file hardware / flat.qsf untuk mengimplementasikannya. Sementara 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 yang bersih waktu terlebih dahulu sebagai awal yang baik dan kemudian bekerja pada floorplanning untuk mendapatkan revisi dasar desain yang bersih waktu.

Untuk detail lebih lanjut tentang alur kompilasi, lihat bagian OpenCL™ BSP Compilation Flow di Intel® FPGA SDK for OpenCL™ Board Support Package Floorplan Optimization Guide.

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 hal ini, lihat Panduan untuk OpenCL™ bagian Denah BSP di Intel® FPGA SDK untuk Panduan Pengoptimalan Floorplan Paket Dukungan Dewan OpenCL™.

Untuk detailnya, Anda juga dapat merujuk ke Panduan Pengguna Konfigurasi Ulang Parsial.

Ubah Wilayah PR

Selama kompilasi dasar, mulailah dengan Domain Lock Region 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 Domain Lock Region.

Untuk panduan lebih lanjut tentang hal ini, lihat Panduan untuk OpenCL™ bagian Denah BSP di Intel® FPGA SDK untuk Panduan Pengoptimalan Floorplan Paket Dukungan Dewan OpenCL™.

Memperbaiki Pelanggaran Waktu

Untuk memperbaiki pelanggaran waktu dalam desain, Anda mungkin perlu menambahkan tahap pipa di antara core IP.

Untuk panduan selengkapnya, lihat tautan berikut:

Penyetelan/Tahan Batasan

The .failing_paths.rpt dan .failing_clocks.rpt dalam daftar direktori output kegagalan besar dalam desain. Jika ada kegagalan yang konsisten di beberapa jalur, Anda mungkin ingin menetapkan batasan penundaan minimum atau maksimum untuk jalur kritis di dalam file / perangkat keras / top.sdc.

Untuk masalah terkait, Anda dapat merujuk ke metode penanganan masalah berikut di halaman Database Pengetahuan —Bagaimana cara menutup waktu untuk menahan dan mengatur pelanggaran yang bersaing di Arria 10?

3. MMD dan OpenCL™ Utilitas

Pengembangan atau Modifikasi Sumber MMD

Perpustakaan perangkat lunak MMD mengimplementasikan input / output dasar (I / O) antara host dan papan akselerasi dan menyediakan antarmuka, seperti terbuka, membaca, dan menulis. Driver pustaka MMD disimpan sebagai format Windows * 64 atau Linux * 64, dan kode sumber disimpan dalam folder sumber.

Untuk informasi lebih lanjut, lihat bagian Membuat Pustaka MMD di Intel® FPGA SDK untuk OpenCL™ Panduan Pengguna Toolkit Platform Kustom.

Dukungan Utilitas

Utilitas ™ OpenCL memungkinkan Anda melakukan akses papan menggunakan Intel® FPGA SDK untuk OpenCL™. Ini termasuk pemasangan aocl, uninstall aocl, diagnosis aocl, program aocl, dan aocl flash.

Untuk informasi lebih lanjut, lihat bagian Menyediakan Intel® FPGA SDK untuk OpenCL™ Utilities Support di bagian Intel® FPGA SDK for OpenCL™ Custom Platform Toolkit User Guide.

Setelah Anda membuat utilitas perangkat lunak dan lapisan MMD, desain perangkat keras perlu diuji. Cara standar adalah menghasilkan kernel boardtest dan berjalan di papan tulis.

Untuk informasi lebih lanjut, lihat bagian Pengujian Desain Perangkat Keras di Intel® FPGA SDK untuk OpenCL™ Panduan Pengguna Toolkit Platform Kustom OpenCL.

4. Debug

Papan Bring-Up

Bagian ini membantu Anda memecahkan masalah saat memunculkan kit pengembangan Intel® FPGA atau papan kustom Anda sendiri.

Untuk mengetahui beberapa masalah yang diketahui yang mungkin Anda hadapi saat memunculkan papan Anda, lihat bagian berikut di AN 807: Mengonfigurasi Intel® Arria® 10 GX FPGA Development Kit untuk Intel® FPGA SDK untuk OpenCL™ Application Note:

Floorplan dan Timing

Untuk tips dan trik menggunakan area minimal untuk logika statis dan meninggalkan lebih banyak ruang untuk kernel OpenCL™ Anda, Anda dapat merujuk ke AN 824: Intel® FPGA SDK untuk OpenCL™ Board Support Package Floorplan Optimization Guide.

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 OpenCL™ variabel lingkungan tertentu, yang dapat membantu mendiagnosis masalah dengan desain platform khusus.

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 Lapisan Abstraksi Perangkat Keras (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 mengkonfirmasikan bahwa register ID versi dibaca dengan benar dan core IP UniPHY dikalibrasi.

ACL_PCIE_JTAG_CABLE

Atur variabel ini untuk menimpa argumen quartus_pgm default yang menentukan nomor kabel. Defaultnya adalah kabel 1. Jika ada beberapa Kabel Unduhan Intel® FPGA, Anda dapat menentukan kabel tertentu dengan mengatur variabel ini.

ACL_PCIE_JTAG_DEVICE_INDEX

Atur variabel ini untuk mengesampingkan argumen quartus_pgm default yang menentukan indeks perangkat FPGA. Secara default, variabel ini memiliki nilai 1. Jika FPGA bukan perangkat pertama dalam rantai 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 parsial.

ACL_PCIE_DMA_USE_MSI

Atur variabel ini jika Anda ingin menggunakan MSI untuk transfer akses memori langsung (DMA) pada Windows*.

Signal Tap Debug

Karena desain OpenCL™ tidak mendukung fitur simulasi, menggunakan Signal Tap Logic Analyzer adalah cara terbaik untuk men-debug desain ini.

Untuk men-debug setiap desain di mana ada kernel hang atau masalah yang berkaitan dengan antarmuka memori atau kegagalan diagnosis aocl, menggunakan Signal Tap Logic Analyzer dianjurkan.

Untuk mempelajari selengkapnya tentang Signal Tap Logic Analyzer, lihat Debugging Desain dengan bagian Signal Tap Logic Analyzer 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 untuk 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 -nama ENABLE_SIGNALTAP ON
  • set_global_assignment -name USE_SIGNALTAP_FILE <file_name>.stp
  • set_global_assignment -name SIGNALTAP_FILE <file_name>.stp

4. Rekompakan kernel dari baris perintah AOCL.

Masalah yang Diketahui

5. Bacaan dan Pelatihan yang Direkomendasikan

Video ™ OpenCL

Titel

Deskripsi

Memulai dengan OpenCL™ bagian 1

Video ini menggambarkan prosedur out-of-box untuk menjalankan dua aplikasi, OpenCL™ HelloWorld dan OpenCL™ fourier transform (FFT) cepat pada Cyclone® V SoC menggunakan mesin Windows *.

Memulai dengan OpenCL™ bagian 2

Video ini menggambarkan prosedur out-of-box untuk menjalankan dua aplikasi, OpenCL™ HelloWorld dan OpenCL™ FFT pada Cyclone® V SoC menggunakan mesin Windows*.

Memulai dengan OpenCL bagian 3

Video ini menggambarkan prosedur out-of-box untuk menjalankan dua aplikasi, OpenCL™ HelloWorld dan OpenCL™ FFT pada Cyclone® V SoC menggunakan mesin Windows*.

Memulai dengan OpenCL Bagian 4

Video ini menggambarkan prosedur out-of-box untuk menjalankan dua aplikasi, OpenCL™ HelloWorld dan OpenCL™ FFT pada Cyclone® V SoC menggunakan mesin Windows*.

Memulai dengan OpenCL bagian 5

Video ini menggambarkan prosedur out-of-box untuk menjalankan dua aplikasi, OpenCL™ HelloWorld dan OpenCL™ FFT pada Cyclone® V SoC menggunakan mesin Windows*.

Cara Mengemas Modul/Desain Verilog Kustom sebagai Perpustakaan openCL™

Video ini membahas mengapa pelanggan berpotensi menggunakan fitur ini untuk memiliki blok pemrosesan khusus (RTL) mereka di openCL™ kode kernel. Video menjelaskan contoh desain seperti membuat file, mengkonfigurasi file, dan menjelaskan aliran kompilasi. Video ini juga menunjukkan demo dari contoh desain.

OpenCL™ di Intel FPGA SoC FPGA (Linux Host) – Bagian 1 – Alat Unduh dan Penyetelan

Video ini menunjukkan kepada Anda cara mengunduh, menginstal, dan mengonfigurasi alat yang diperlukan untuk mengembangkan OpenCL™ kernel dan kode host yang menargetkan FPGA Intel FPGA SoC.

OpenCL™ di Intel FPGA SoC FPGA (Linux Host) – Bagian 2 – Menjalankan Vektor Add Example dengan Emulator

Video ini menunjukkan kepada Anda cara mengunduh dan mengkompilasi aplikasi OpenCL™ contoh yang menargetkan emulator yang dibangun ke dalam Intel FPGA OpenCL™.

OpenCL™ di Intel FPGA SoC FPGA (Linux Host) – Bagian 3 – Kernel dan Kompilasi Kode Host untuk SoC FPGA

Video ini menunjukkan kepada Anda cara mengkompilasi kode kernel dan host OpenCL™ yang menargetkan FPGA dan prosesor Cyclone® V SoC FPGA.

OpenCL™ di Intel FPGA SoC FPGA (Linux Host) – Bagian 4 – Pengaturan Lingkungan Runtime

Video ini menunjukkan kepada Anda cara mengatur papan Cyclone® V SoC untuk menjalankan openCL™ contoh, dan mengeksekusi kode host dan kernel di papan tulis.

6. Dapatkan Bantuan

Penyedia Layanan Bersertifikat OpenCL

Intel merekomendasikan penyedia layanan bersertifikat berikut yang dapat membantu pengembangan paket dukungan dewan OpenCL™ untuk papan Intel® FPGA. Penyedia ini memiliki pengalaman 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 oleh 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.