logo intelSDK FPGA 824 untuk Papan OpenCL
Pelan Lantai Pakej Sokongan
Panduan Pengguna

 Intel® FPGA SDK untuk Panduan Pengoptimuman Pelan Lantai Pakej Sokongan Papan OpenCL ™
Panduan Pengoptimuman Pelan Lantai Intel/® FPGA SDK untuk OpenCL™ Board Support Package (BSP) menyediakan garis panduan pelan lantai untuk OpenCL BSP. Ia juga menyediakan panduan tentang cara anda boleh memperoleh benih asas dengan kekerapan operasi maksimum purata terbaik dan menilai kecekapan penggunaan sumber BSP.
Dokumen ini menganggap bahawa anda sudah biasa dengan konsep OpenCL(2) seperti yang diterangkan dalam Spesifikasi OpenCL versi 1.0 oleh Kumpulan Khronos.

Aliran Kompilasi OpenCL BSP
OpenCL BSP menyokong jenis aliran penyusunan berikut:

  • Kompilasi rata [–bsp-flow flat]: Melakukan kompilasi rata bagi keseluruhan reka bentuk (BSP bersama perkakasan yang dijana kernel).
  • Penyusunan asas [–basp-flow base]: Melaksanakan penyusunan asas dengan menggunakan sekatan LogicLock daripada base.qsf file. Sasaran jam kernel dilonggarkan supaya perkakasan BSP mempunyai lebih kebebasan untuk memenuhi masa. Pangkalan data base.qar dicipta untuk mengekalkan perkakasan BSP, iaitu kawasan statik.
  • Import kompilasi [ ]: Memulihkan kawasan statik tertutup masa daripada pangkalan data base.qar dan hanya menyusun perkakasan yang dijana kernel. Ia juga meningkatkan sasaran jam kernel untuk mendapatkan frekuensi operasi maksimum kernel terbaik (fmax).

Pembahagian Pelan Lantai OpenCL BSP
Pelan lantai OpenCL BSP dibahagikan terutamanya kepada dua wilayah berikut:

  • Rantau statik: Mewakili rantau yang mempunyai perkakasan berkaitan BSP yang kekal statik. Masa ditutup untuk rantau ini semasa penyusunan asas. Secara umum, matlamatnya adalah untuk meminimumkan sumber cip yang digunakan oleh rantau ini untuk menutup masa.
  • Rantau kernel: Mewakili rantau konfigurasi semula separa (PR) yang dikhaskan untuk modul freeze_wrapper_inst|kernel_system_inst, yang mengandungi kernel. Secara umum, matlamatnya adalah untuk menempah sumber cip ke tahap maksimum untuk rantau ini.
  1. Intel FPGA SDK untuk OpenCL adalah berdasarkan Spesifikasi Khronos yang diterbitkan dan telah lulus Proses Ujian Pematuhan Khronos. Status pematuhan semasa boleh didapati di www.khronos.org/conformance.
  2. OpenCL dan logo OpenCL ialah tanda dagangan Apple Inc. dan digunakan dengan kebenaran Khronos Group™.

Perbadanan Intel. Hak cipta terpelihara. Intel, logo Intel dan tanda Intel lain ialah tanda dagangan Intel Corporation atau anak syarikatnya. Intel menjamin prestasi produk FPGA dan semikonduktornya mengikut spesifikasi semasa menurut waranti standard Intel, tetapi berhak untuk membuat perubahan pada mana-mana produk dan perkhidmatan pada bila-bila masa tanpa notis. Intel tidak memikul tanggungjawab atau liabiliti yang timbul daripada aplikasi atau penggunaan mana-mana maklumat, produk atau perkhidmatan yang diterangkan di sini kecuali seperti yang dipersetujui secara bertulis oleh Intel. Pelanggan Intel dinasihatkan untuk mendapatkan versi terkini spesifikasi peranti sebelum bergantung pada sebarang maklumat yang diterbitkan dan sebelum membuat pesanan untuk produk atau perkhidmatan.
*Nama dan jenama lain boleh dituntut sebagai hak milik orang lain.

Garis Panduan untuk Pelan Lantai OpenCL BSP

  • Mulakan dengan kompilasi rata untuk memahami di mana semua komponen utama BSP diletakkan secara semula jadi (terutamanya blok IP dengan sambungan I/O seperti PCIe atau DDR). Semasa mereka bentuk BSP, anda mungkin perlu mempertimbangkan untuk mewujudkan saluran paiptagberada di antara IP untuk menutup masa. Anda harus terlebih dahulu menjalankan sapuan benih kompilasi rata untuk mengenal pasti laluan gagal berulang, dan kemudian cuba membetulkannya.
    Petua: — Kadar penutupan masa yang baik berbanding sapuan benih kompilasi rata akan mempunyai peluang yang lebih tinggi untuk menutup masa kompilasi asas.
    — Jika anda melihat kegagalan yang konsisten dalam mm_interconnect* (komponen ditambah oleh Qsys), kemudian buka Sistem dengan Qsys Interconnect viewer dan perhatikan kerumitan interkoneksi yang gagal. Anda boleh menambah selipar saluran paip dalam viewer untuk menambah baik pemasaan. Jika anda masih tidak dapat menangani isu ini, anda mungkin perlu memecahkan laluan kritikal mm_interconnect* dengan menambahkan jambatan saluran paip Avalon.
  • Semasa penyusunan asas, mulakan dengan LogicLock pada kawasan kernel yang mengandungi freeze_wrapper_inst|kernel_system_inst. Tanpa sekatan lain, Intel Quartus Prime boleh meletakkan perkakasan BSP secara bebas di kawasan statik cip yang tinggal. Gunakan penyusun rata dan perancang cip untuk mengenal pasti saiz dan lokasi perkakasan BSP, seperti PCIe dan DDR. Kemudian, simpan kawasan kernel dengan menggunakan LogicLock sambil mengelakkan kawasan berkelompok utama perkakasan BSP.
    Petua: Jika keluarga cip yang digunakan adalah sama dengan platform rujukan dan jika komponen BSP adalah serupa, mungkin lebih cepat untuk memulakan dengan wilayah LogicLock untuk freeze_wrapper_inst|kernel_system_inst yang dihantar dengan BSP rujukan OpenCL dan mengatasi kegagalan.
  • Anda boleh menambah komponen tambahan berikut pada BSP anda:
    — Bank memori: Jika anda menambah lebih banyak bank memori, anda harus mengenal pasti lokasi bank I/O kerana anda mungkin perlu menambah jambatan saluran paip untuk memenuhi masa.
    — Saluran I/O: Anda boleh menambah saluran I/O seperti video, Ethernet atau antara muka bersiri. Jika anda menambah saluran I/O, anda harus mengenal pasti lokasi bank I/O kerana anda mungkin perlu menggunakan kawasan LogicLock baharu untuk saluran paip jika masa penutupan sukar.
    Petua: Jika anda perlu menambah jambatan saluran paip (contohnyaample, disebabkan kelewatan penghalaan yang besar menyebabkan kegagalan pemasaan), kemudian pertimbangkan jarak penghalaan dari sumber ke logik destinasi dalam cip dan lepaskan beberapa ruang yang dikhaskan untuk rantau kernel.
  • Ikuti garis panduan umum ini apabila menempah kawasan LogicLock untuk kernel:
    — Cuba untuk meletakkan semua lajur DSP dalam kernel_system melainkan diperlukan oleh BSP.
    — Cuba untuk menempah lebih banyak sumber untuk kernel_system.
    — Cuba untuk mengekalkan bilangan takuk di rantau kernel pada tahap minimum.
    Angka berikut menggambarkan takuk yang telah ditambahkan untuk meletakkan jambatan saluran paip antara bank PCIe dan DDR.

Rajah 1. Pelan Lantai OpenCL BSP untuk Intel Arria® 10 GX dalam Keluaran 17.0

intel AN 824 FPGA SDK untuk Pelan Lantai Pakej Sokongan Papan OpenCL

Garis Panduan untuk Kekerapan Operasi Maksimum
Kekerapan operasi maksimum (fmax) yang dicapai oleh kernel sebahagian besarnya bergantung pada kelajuan FPGA kerana kebanyakan IP sepatutnya sudah dioptimumkan . Walau bagaimanapun, mungkin terdapat beberapa kerugian fmax bergantung pada pelan lantai BSP. Untuk exampOleh itu, biasanya bilangan pemotongan di rantau kernel BSP mempengaruhi fmax kernel.
Seperti yang digambarkan dalam rajah berikut, untuk memperoleh benih asas terbaik yang menghasilkan purata fmax terbaik:

  1. Lakukan sapuan benih pada kompilasi asas dan bukannya memilih benih asas pertama yang menepati masa.
  2. Lakukan kompilasi import (dengan menggunakan beberapa kernel daripada exampreka bentuk) pada semua benih asas yang berlalu.
  3. Kira purata fmax untuk semua benih asas.
  4. Pilih benih asas yang menghasilkan purata fmax tertinggi.
    Benih asas dengan purata fmax terbaik adalah calon yang baik untuk dikeluarkan dengan BSP. Jika anda memutuskan untuk mengikuti pendekatan yang berbeza daripada langkah yang disyorkan, anda mungkin melihat variasi 5-10% dalam fmax proses penyusunan import kernel.

Rajah 2. Mengenalpasti Benih Asas Terbaikintel AN 824 FPGA SDK untuk Pelan Lantai Pakej Sokongan Papan OpenCL - rajah

  • Untuk memahami seberapa pantas kernel boleh berjalan tanpa sekatan pelan lantai:
    1. Lakukan kompilasi rata bagi inti dan perhatikan fmax.
    2. Lakukan kompilasi import pada kernel yang sama dan perhatikan fmax.
    3. Bandingkan keputusan fmax.
    Disebabkan oleh sekatan pelan lantai, import compile fmax sentiasa lebih rendah daripada flat compile fmax. Untuk mengelakkan bunyi benih, kumpulkan kernel dengan lebih banyak benih asas dan pertimbangkan purata fmax semasa membandingkan hasil fmax.
  • Jangan sekali-kali membandingkan kernel fmax daripada kompilasi asas dengan kompilasi rata atau import. Sasaran jam kernel dilonggarkan semasa penyusunan asas dan oleh itu, anda tidak akan memperoleh hasil yang baik.
  • Perhatikan laluan kritikal jam kernel dalam kompilasi asas atau import. Jika laluan kritikal melintasi dari kernel ke kawasan statik dalam pelan lantai, tukar pelan lantai atau jalankan beberapa lagi benih asas untuk mengelakkan laluan kritikal ini.

Garis Panduan Menilai Kecekapan Penggunaan Sumber BSP

Semakin tinggi peratus penggunaan sumbertage, lebih baik penggunaan kawasan dalam kawasan statik BSP anda. Peratus penggunaan sumber yang tinggitage juga membayangkan bahawa lebih banyak sumber tersedia untuk rantau kernel.
Ikuti langkah di bawah untuk mengira peratus penggunaan sumbertage BSP anda:

  1. Dapatkan nilai untuk semua sumber dalam FPGA dari bahagian atas.fit.rpt atau base.fit.rpt yang tersedia di bawah bahagian Statistik Pembahagian laporan Fitter.
  2. Tolak nilai untuk “freeze_wrapper_inst|kernel_system_inst” (rantau kernel).

Petua:
Lebih fokus pada nilai modul logik suai (ALM) daripada nilai sumber lain. Memastikan bahawa peratus penggunaan sumbertage untuk ALM lebih dekat dengan BSP rujukan OpenCL. Peratusan yang sangat tinggitage untuk ALM mungkin menyebabkan kesesakan, yang boleh meningkatkan masa penyusunan dan memperkenalkan kesesakan penghalaan dalam kernel kompleks. Walau bagaimanapun, anda sentiasa boleh menambah atau mengurangkan kawasan kawasan statik dan memerhatikan masa penyusunan dan fmax.
Jadual berikut menunjukkan penggunaan sumber OpenCL BSP bagi peranti Arria ® 10 GX dalam keluaran 17.0.

Jadual 1.
Penggunaan Sumber OpenCL BSP bagi peranti IntelArria 10 GX dalam Keluaran 17.0

Jumlah Tersedia Dikhaskan untuk Kernel Tersedia untuk BSP Digunakan oleh BSP 0/0
ALM 427200 393800 33400 23818. 71.%
Mendaftar 1708800 1575200 133600 38913 29.%
M2OK 2713 2534 179 134 75.%
DSP 1518 1518 0 0 T/A

Perhatikan bahawa perancangan lantai dilaksanakan sedemikian rupa sehingga kawasan statik tidak akan mempunyai sebarang blok DSP.

Sejarah Semakan Dokumen

Jadual 2.
Sejarah Semakan Dokumen Intel FPGA SDK untuk Panduan Pengoptimuman Pelan Lantai Pakej Sokongan Papan OpenCL

tarikh Versi Perubahan
Ogos-17 Keluaran awal.

ikon Versi Dalam Talian
cardo 590878 Interkom Bluetooth Semangat - ICON 14 Hantar Maklum Balas
ID: 683312
AN-824
Versi: 2017.08.08
AN 824: Intel® FPGA SDK untuk Papan OpenCL™

Panduan Pengoptimuman Pelan Lantai Pakej Sokongan

Dokumen / Sumber

intel AN 824 FPGA SDK untuk Pelan Lantai Pakej Sokongan Papan OpenCL [pdf] Panduan Pengguna
AN 824 FPGA SDK untuk Pelan Lantai Pakej Sokongan Papan OpenCL, AN 824, SDK FPGA untuk Pelan Lantai Pakej Sokongan Papan OpenCL, Pelan Lantai Pakej Sokongan Papan OpenCL, Pelan Lantai Pakej Sokongan Papan, Pelan Lantai Pakej Sokongan, Pelan Lantai Pakej, Pelan Lantai

Rujukan

Tinggalkan komen

Alamat e-mel anda tidak akan diterbitkan. Medan yang diperlukan ditanda *