AN 824 FPGA SDK untuk OpenCL Board
Paket Dukungan Denah Lantai
Panduan Pengguna
Intel® FPGA SDK untuk Panduan Optimasi Denah Lantai Paket Dukungan OpenCL ™ Board
Intel/® FPGA SDK untuk OpenCL™ Board Support Package (BSP) Panduan Pengoptimalan Denah Lantai menyediakan panduan perencanaan lantai untuk OpenCL) BSP. Ini juga memberikan panduan tentang bagaimana Anda dapat memperoleh benih dasar dengan frekuensi operasi maksimum rata-rata terbaik dan mengevaluasi efisiensi pemanfaatan sumber daya BSP.
Dokumen ini mengasumsikan bahwa Anda sudah familiar dengan konsep OpenCL(2) seperti yang dijelaskan dalam Spesifikasi OpenCL versi 1.0 oleh Khronos Group.
Alur Kompilasi OpenCL BSP
OpenCL BSP mendukung jenis aliran kompilasi berikut:
- Kompilasi datar [–bsp-flow flat]: Melakukan kompilasi datar dari seluruh desain (BSP bersama dengan perangkat keras yang dihasilkan kernel).
- Kompilasi basis [–bsp-flow base]: Melakukan kompilasi basis dengan menggunakan batasan LogicLock dari base.qsf file. Target jam kernel dilonggarkan sehingga perangkat keras BSP memiliki lebih banyak kebebasan untuk memenuhi pengaturan waktu. Basis data base.qar dibuat untuk mempertahankan perangkat keras BSP, yang merupakan wilayah statis.
- Impor kompilasi [ ]: Mengembalikan waktu wilayah statis tertutup dari basis data base.qar dan hanya mengkompilasi perangkat keras yang dihasilkan kernel. Ini juga meningkatkan target jam kernel untuk mendapatkan frekuensi operasi maksimum (fmax) kernel terbaik.
Partisi Denah Lantai OpenCL BSP
Denah lantai OpenCL BSP terutama dibagi menjadi dua wilayah berikut:
- Wilayah statis: Merupakan wilayah yang memiliki perangkat keras terkait BSP yang tetap statis. Pengaturan waktu ditutup untuk wilayah ini selama kompilasi dasar. Secara umum, tujuannya adalah untuk meminimalkan sumber daya chip yang digunakan oleh wilayah ini untuk menutup waktu.
- Wilayah kernel: Mewakili wilayah konfigurasi ulang parsial (PR) yang dicadangkan untuk modul freeze_wrapper_inst|kernel_system_inst, yang berisi kernel. Secara umum, tujuannya adalah untuk mencadangkan sumber daya chip secara maksimal untuk wilayah ini.
- Intel FPGA SDK untuk OpenCL didasarkan pada Spesifikasi Khronos yang dipublikasikan, dan telah lulus Proses Pengujian Kesesuaian Khronos. Status kesesuaian saat ini dapat ditemukan di www.khronos.org/conformance.
- OpenCL dan logo OpenCL adalah merek dagang dari Apple Inc. dan digunakan dengan izin dari Khronos Group™.
Perusahaan Intel. Seluruh hak cipta. Intel, logo Intel, dan merek Intel lainnya adalah merek dagang dari Intel Corporation atau anak perusahaannya. Intel menjamin performa produk FPGA dan semikonduktornya sesuai spesifikasi saat ini sesuai dengan garansi standar Intel, tetapi berhak mengubah produk dan layanan apa pun kapan saja tanpa pemberitahuan. Intel tidak bertanggung jawab atau berkewajiban yang timbul dari aplikasi atau penggunaan informasi, produk, atau layanan apa pun yang dijelaskan di sini kecuali secara tegas disetujui secara tertulis oleh Intel. Pelanggan Intel disarankan untuk mendapatkan versi terbaru dari spesifikasi perangkat sebelum mengandalkan informasi yang dipublikasikan dan sebelum memesan produk atau layanan.
*Nama dan merek lain mungkin diklaim sebagai milik orang lain.
Panduan untuk Perencanaan Lantai OpenCL BSP
- Mulailah dengan kompilasi datar untuk memahami di mana semua komponen utama BSP ditempatkan secara alami (terutama blok IP dengan koneksi I/O seperti PCIe atau DDR). Saat merancang BSP, Anda mungkin harus mempertimbangkan untuk membuat saluran pipatages di antara IP untuk menutup waktu. Anda harus terlebih dahulu menjalankan sapuan benih kompilasi datar untuk mengidentifikasi jalur gagal yang berulang, dan kemudian mencoba memperbaikinya.
Kiat: — Tingkat penutupan waktu yang baik dibandingkan sapuan benih kompilasi datar akan memiliki peluang lebih tinggi untuk menutup waktu kompilasi dasar.
— Jika Anda mengamati kegagalan yang konsisten di mm_interconnect* (komponen ditambahkan oleh Qsys), buka Sistem dengan Qsys Interconnect viewer dan amati kompleksitas interkoneksi yang gagal. Anda dapat menambahkan flipflops pipelining di viewer untuk meningkatkan waktu. Jika Anda masih tidak dapat mengatasi masalah tersebut, Anda mungkin harus menghentikan jalur kritis mm_interconnect* dengan menambahkan jembatan jalur pipa Avalon. - Selama kompilasi dasar, mulai dengan LogicLock pada wilayah kernel yang berisi freeze_wrapper_inst|kernel_system_inst. Tanpa batasan lain, Intel Quartus Prime dapat menempatkan perangkat keras BSP secara bebas di wilayah statis chip yang tersisa. Gunakan kompilasi datar dan perencana chip untuk mengidentifikasi ukuran dan lokasi perangkat keras BSP, seperti PCIe dan DDR. Kemudian, pesan wilayah kernel dengan menggunakan LogicLock sambil menghindari area kluster utama perangkat keras BSP.
Tips: Jika rangkaian chip yang digunakan sama dengan platform referensi dan jika komponen BSP serupa, mungkin akan lebih cepat untuk memulai dengan region LogicLock untuk freeze_wrapper_inst|kernel_system_inst yang disertakan dengan referensi OpenCL BSP dan mengatasi kegagalan. - Anda dapat menambahkan komponen tambahan berikut ke BSP Anda:
— Bank memori: Jika Anda menambahkan lebih banyak bank memori, Anda harus mengidentifikasi lokasi bank I/O karena Anda mungkin perlu menambahkan jembatan pipa untuk memenuhi pengaturan waktu.
— Saluran I/O: Anda dapat menambahkan saluran I/O seperti video, Ethernet, atau antarmuka serial. Jika Anda menambahkan saluran I/O, Anda harus mengidentifikasi lokasi bank I/O karena Anda mungkin perlu menerapkan wilayah LogicLock baru untuk penyaluran jika waktu penutupan sulit.
Tip: Jika Anda perlu menambahkan jembatan pipa (misampfile, karena penundaan perutean yang besar menyebabkan kegagalan waktu), kemudian pertimbangkan jarak perutean dari logika sumber ke tujuan dalam chip dan lepaskan beberapa ruang yang disediakan untuk wilayah kernel. - Ikuti panduan umum ini saat memesan wilayah LogicLock untuk kernel:
— Mencoba untuk menempatkan semua kolom DSP di kernel_system kecuali diminta oleh BSP.
— Mencoba untuk mencadangkan lebih banyak sumber daya untuk sistem_kernel.
— Usahakan agar jumlah takik di wilayah kernel seminimal mungkin.
Gambar berikut mengilustrasikan takik yang ditambahkan untuk menempatkan jembatan pipa antara PCIe dan bank DDR.
Gambar 1. Denah Lantai OpenCL BSP untuk Intel Arria® 10 GX dalam Rilis 17.0
Pedoman Frekuensi Operasi Maksimum
Frekuensi operasi maksimum (fmax) yang dicapai oleh kernel sebagian besar bergantung pada kecepatan FPGA karena sebagian besar IP seharusnya sudah dioptimalkan. Namun, mungkin ada beberapa kehilangan fmax tergantung pada denah lantai BSP. Untuk mantanample, biasanya jumlah cut-out di wilayah kernel BSP mempengaruhi fmax kernel.
Seperti yang diilustrasikan pada gambar berikut, untuk mendapatkan base seed terbaik yang menghasilkan fmax rata-rata terbaik:
- Lakukan sapuan benih pada kompilasi dasar alih-alih memilih benih dasar pertama yang memenuhi waktunya.
- Lakukan kompilasi impor (dengan menggunakan beberapa kernel dari example designs) pada semua biji dasar yang lewat.
- Hitung fmax rata-rata untuk semua benih dasar.
- Pilih benih dasar yang menghasilkan fmax rata-rata tertinggi.
Benih dasar dengan fmax rata-rata terbaik adalah kandidat yang baik untuk dirilis dengan BSP. Jika Anda memutuskan untuk mengikuti pendekatan yang berbeda dari langkah-langkah yang disarankan, Anda mungkin mengamati variasi 5-10% dalam fmax dari proses kompilasi impor kernel.
Gambar 2. Mengidentifikasi Bibit Dasar Terbaik
- Untuk memahami seberapa cepat kernel dapat berjalan tanpa batasan denah lantai:
1. Lakukan kompilasi datar dari kernel dan amati fmax.
2. Lakukan kompilasi impor pada kernel yang sama dan amati fmax.
3. Bandingkan hasil fmax.
Karena pembatasan denah lantai, fmax kompilasi impor selalu lebih rendah daripada fmax kompilasi datar. Untuk menghindari derau seed, kompilasi kernel dengan lebih banyak seed dasar dan pertimbangkan fmax rata-rata sambil membandingkan hasil fmax. - Jangan pernah membandingkan kernel fmax dari kompilasi dasar dengan flat atau kompilasi impor. Target jam kernel santai selama kompilasi dasar dan karenanya, Anda tidak akan pernah mendapatkan hasil yang baik.
- Amati jalur kritis jam kernel dalam kompilasi dasar atau impor. Jika jalur kritis melintasi dari kernel ke wilayah statis di denah lantai, ubah denah lantai atau jalankan beberapa seed dasar lagi untuk menghindari jalur kritis ini.
Pedoman Evaluasi Efisiensi Pemanfaatan Sumber Daya BSP
Semakin tinggi persen pemanfaatan sumber dayatage, semakin baik pemanfaatan area di area statis BSP Anda. Persen pemanfaatan sumber daya yang tinggitage juga menyiratkan bahwa lebih banyak sumber daya tersedia untuk wilayah kernel.
Ikuti langkah-langkah di bawah ini untuk menghitung persen pemanfaatan sumber dayatage dari BSP Anda:
- Dapatkan nilai untuk semua sumber daya di FPGA dari top.fit.rpt atau base.fit.rpt tersedia di bagian Statistik Partisi laporan Fitter.
- Kurangi nilai untuk “freeze_wrapper_inst|kernel_system_inst” (wilayah kernel).
Tip:
Lebih fokus pada nilai modul logika adaptif (ALM) daripada nilai sumber daya lainnya. Pastikan bahwa persen pemanfaatan sumber dayatage untuk ALM lebih dekat dengan referensi OpenCL BSP. Persen yang sangat tinggitage untuk ALM dapat menyebabkan kemacetan, yang dapat meningkatkan waktu kompilasi dan menyebabkan kemacetan perutean di kernel kompleks. Namun, Anda selalu dapat menambah atau mengurangi area wilayah statis, dan mengamati waktu kompilasi dan fmax.
Tabel berikut mencerminkan pemanfaatan sumber daya OpenCL BSP perangkat Arria ® 10 GX dalam rilis 17.0.
Tabel 1.
Pemanfaatan Sumber Daya OpenCL BSP perangkat IntelArria 10 GX dalam Rilis 17.0
Jumlah Tersedia | Dicadangkan untuk Kernel | Tersedia untuk BSP | Digunakan oleh BSP | 0/0 | |
ALM | 427200 | 393800 | 33400 | 23818. | 71,% |
Daftar | 1708800 | 1575200 | 133600 | 38913 | 29,% |
M2OK | 2713 | 2534 | 179 | 134 | 75,% |
DSP | 1518 | 1518 | 0 | 0 | Tidak tersedia |
Amati bahwa perencanaan lantai dijalankan sedemikian rupa sehingga wilayah statis tidak akan memiliki blok DSP.
Riwayat Revisi Dokumen
Tabel 2.
Riwayat Revisi Dokumen Intel FPGA SDK untuk Panduan Optimalisasi Rencana Lantai Paket Dukungan OpenCL Board
Tanggal | Versi | Perubahan |
17 Agustus | Rilis awal. |
Versi Online
Kirim Masukan
ID: 683312
AN-824
Versi: 2017.08.08
AN 824: Intel® FPGA SDK untuk OpenCL™ Board
Panduan Optimasi Denah Lantai Paket Dukungan
Dokumen / Sumber Daya
![]() |
intel AN 824 FPGA SDK untuk Denah Paket Dukungan Papan OpenCL [Bahasa Indonesia:] Panduan Pengguna AN 824 FPGA SDK untuk Rencana Lantai Paket Dukungan Papan OpenCL, AN 824, FPGA SDK untuk Rencana Lantai Paket Dukungan Papan OpenCL, Rencana Lantai Paket Dukungan Papan OpenCL, Rencana Lantai Paket Dukungan Papan, Rencana Lantai Paket Dukungan, Rencana Lantai Paket, Denah Lantai |