Logo Intel

Kad Pecutan Boleh Aturcara Intel FPGA D5005

Intel.-FPGA-Programmable-Acceleration-Card-D5005-product

Mengenai Dokumen ini

Dokumen ini menerangkan pelaksanaan akses memori langsung (DMA) Accelerator Functional Unit (AFU) dan cara membina reka bentuk untuk dijalankan pada perkakasan atau dalam simulasi.

Khalayak yang Dimaksudkan

Khalayak yang dimaksudkan terdiri daripada pembangun perkakasan atau perisian yang memerlukan Fungsi Pemecut (AF) untuk menimbal data secara setempat dalam memori yang disambungkan ke peranti Intel FPGA.

Konvensyen

Konvensyen Dokumen

Konvensyen Penerangan
# Mendahului arahan yang menunjukkan arahan itu akan dimasukkan sebagai root.
$ Menunjukkan arahan untuk dimasukkan sebagai pengguna.
Fon ini Filenama, arahan dan kata kunci dicetak dalam fon ini. Baris arahan panjang dicetak dalam fon ini. Walaupun baris arahan yang panjang mungkin dibalut ke baris seterusnya, pulangan bukan sebahagian daripada arahan; jangan tekan enter.
Menunjukkan teks pemegang tempat yang muncul di antara kurungan sudut mesti digantikan dengan nilai yang sesuai. Jangan masukkan kurungan sudut.

Akronim

Akronim

Akronim Pengembangan Penerangan
AF Fungsi Pemecut Imej Pemecut Perkakasan yang disusun dilaksanakan dalam logik FPGA yang mempercepatkan aplikasi.
AFU Unit Fungsian Pemecut Pemecut Perkakasan dilaksanakan dalam logik FPGA yang memuatkan operasi pengiraan untuk aplikasi daripada CPU untuk meningkatkan prestasi.
API Antara Muka Pengaturcaraan Aplikasi Satu set definisi subrutin, protokol dan alatan untuk membina aplikasi perisian.
CCI-P Antara Muka Cache Teras CCI-P ialah antara muka standard yang digunakan oleh AFU untuk berkomunikasi dengan hos.
DFH Pengepala Ciri Peranti Mencipta senarai terpaut pengepala ciri untuk menyediakan cara yang boleh diperluaskan untuk menambah ciri.
bersambung…

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.

Akronim Pengembangan Penerangan
FIM Pengurus Antaramuka FPGA Perkakasan FPGA yang mengandungi Unit Antaramuka FPGA (FIU) dan antara muka luaran untuk ingatan, rangkaian, dsb.

Fungsi Accelerator (AF) antara muka dengan FIM pada masa jalankan.

FIU Unit Antaramuka FPGA FIU ialah lapisan antara muka platform yang bertindak sebagai jambatan antara antara muka platform seperti PCIe*, UPI dan antara muka sisi AFU seperti CCI-P.
MPF Kilang Sifat Memori MPF ialah Blok Bangunan Asas (BBB) ​​yang boleh digunakan oleh AFU untuk menyediakan operasi pembentukan trafik CCI-P untuk transaksi dengan FIU.

Glosari Pecutan

Timbunan Pecutan untuk CPU Intel® Xeon® dengan Glosari FPGA

Penggal Singkatan Penerangan
Intel® Acceleration Stack untuk Intel Xeon® CPU dengan FPGA Timbunan Pecutan Koleksi perisian, perisian tegar dan alatan yang menyediakan ketersambungan yang dioptimumkan prestasi antara Intel FPGA dan pemproses Intel Xeon.
Kad Pecutan Boleh Aturcara Intel FPGA Intel FPGA PAC Kad pemecut FPGA PCIe.

Mengandungi Pengurus Antara Muka FPGA (FIM) yang berpasangan dengan pemproses Intel Xeon melalui bas PCIe.

  • Panduan Pengguna Unit Fungsian Pemecut DMA: Kad Pecutan Boleh Aturcara Intel FPGA D5005

Penerangan DMA AFU

pengenalan

Akses Memori Langsung (DMA) AFU example menunjukkan cara menguruskan pemindahan memori antara pemproses hos dan FPGA. Anda boleh menyepadukan DMA AFU ke dalam reka bentuk anda untuk memindahkan data antara memori hos dan memori tempatan FPGA. DMA AFU terdiri daripada submodul berikut:

  • Blok Bangunan Asas (BBB) ​​Kilang Sifat Memori (MPF)
  • Antara Muka Cache Teras (CCI-P) kepada Penyesuai Avalon® Memory-Mapped (Avalon-MM)
  • Sistem Ujian DMA yang mengandungi DMA BBB

Submodul ini diterangkan dengan lebih terperinci dalam topik Komponen Perkakasan DMA AFU di bawah.

Maklumat Berkaitan

  • Komponen Perkakasan DMA AFU pada halaman 6
  • Spesifikasi Antara Muka Avalon

Untuk mendapatkan maklumat lanjut tentang protokol Avalon-MM, termasuk rajah masa untuk transaksi baca dan tulis.

Pakej Perisian DMA AFU

Tindanan Pecutan Intel untuk CPU Intel Xeon dengan pakej FPGA file (*.tar.gz), termasuk DMA AFU example. bekas iniample menyediakan pemacu ruang pengguna. Aplikasi hos menggunakan pemacu ini supaya DMA mengalihkan data antara hos dan memori FPGA. Perduaan perkakasan, sumber dan pemacu ruang pengguna tersedia dalam direktori berikut: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . Sebelum bereksperimen dengan DMA AFU, anda mesti memasang pakej perisian Open Programmable Acceleration Engine (OPAE). Rujuk Memasang Pakej Perisian OPAE dalam Panduan Mula Pantas Intel Acceleration Stack untuk Intel FPGA Programmable Acceleration Card D5005 untuk arahan pemasangan. Panduan Mula Pantas ini juga termasuk maklumat asas tentang Open Programmable Acceleration Engine (OPAE) dan mengkonfigurasi AFU. Selepas memasang pakej perisian Open Programmable Acceleration Engine (OPAE), sebagaiampaplikasi hos dan pemacu ruang pengguna DMA AFU tersedia dalam direktori berikut: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. Untuk menjalankan sampaplikasi hos, fpga_dma_test pada perkakasan Intel FPGA PAC D5005 anda, rujuk langkah dalam bahagian Menjalankan DMA AFU Example. 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.

Maklumat Berkaitan

  • Panduan Mula Pantas Timbunan Pecutan Intel untuk Kad Pecutan Boleh Aturcara Intel FPGA D5005
  • Memasang Pakej Perisian OPAE

Komponen Perkakasan DMA AFU

DMA AFU antara muka dengan Unit Antara Muka FPGA (FIU) dan memori FPGA. Rujuk kepada Helaian Data Pengurus Antara Muka FPGA untuk Intel FPGA Programmable Acceleration Card D5005 untuk spesifikasi terperinci memori FPGA. Perkakasan yang tersedia pada masa ini menentukan konfigurasi memori ini. Perkakasan masa hadapan mungkin menyokong konfigurasi memori yang berbeza. Anda boleh menggunakan DMA AFU untuk menyalin data antara sumber dan lokasi destinasi berikut:

  • Hos kepada memori FPGA peranti
  • Memori FPGA peranti kepada hos

Sistem Pereka Platform, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys melaksanakan kebanyakan DMA

  • AFU. Sebahagian daripada DMA AFU yang dilaksanakan dalam sistem Pereka Platform boleh didapati dalam perkara berikut

lokasi:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ Anda boleh mendapatkan DMA BBB di lokasi berikut:

  • $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/dma_bbb

Panduan Pengguna Unit Fungsian Pemecut DMA: Kad Pecutan Boleh Aturcara Intel FPGA D5005

Rajah Blok Perkakasan DMA AFU

Intel.-FPGA-Programmable-Acceleration-Card-D5005-fig-1

AFU DMA termasuk modul dalaman berikut untuk antara muka dengan Unit Antara Muka FPGA (FIU):

  • Logik Penyahkod IO (MMIO) Dipetakan Memori: mengesan transaksi baca dan tulis MMIO dan mengasingkannya daripada saluran CCI-P RX 0 tempat mereka tiba. Ini memastikan trafik MMIO tidak pernah sampai ke MPF BBB dan diservis oleh saluran arahan MMIO bebas.
  • Kilang Sifat Memori (MPF): Modul ini memastikan bahawa respons membaca daripada DMA kembali mengikut susunan yang dikeluarkan. Protokol Avalon-MM memerlukan respons baca untuk kembali dalam susunan yang betul.
  • Penyesuai CCI-P kepada Avalon-MM: Modul ini menterjemah antara transaksi CCI-P dan Avalon-MM, seperti berikut:
  • Penyesuai CCI-P kepada Avalon-MMIO: Laluan ini menterjemah transaksi CCI-P MMIO ke dalam transaksi Avalon-MM.
  • Avalon kepada Penyesuai Hos CCI-P: Laluan ini mencipta laluan baca sahaja dan tulis sahaja yang berasingan untuk DMA mengakses memori hos.
  • Sistem Ujian DMA: Modul ini berfungsi sebagai pembalut di sekeliling DMA BBB untuk mendedahkan induk DMA kepada logik yang lain dalam AFU. Ia menyediakan antara muka antara DMA BBB dan CCI-P kepada Penyesuai Avalon. Ia juga menyediakan antara muka antara DMA BBB dan bank FPGA SDRAM tempatan.

Maklumat Berkaitan
Helaian Data Pengurus Antara Muka FPGA untuk Intel FPGA Programmable Acceleration Card D5005

Sistem Ujian DMA

Sistem ujian DMA menghubungkan DMA BBB ke seluruh reka bentuk FPGA termasuk penyesuaian CCI-P dan memori FPGA tempatan.

Rajah Blok Sistem Ujian DMA
Gambar rajah blok ini menunjukkan bahagian dalam sistem ujian DMA. Sistem ujian DMA ditunjukkan sebagai blok monolitik dalam Rajah 1 di halaman 7.Intel.-FPGA-Programmable-Acceleration-Card-D5005-fig-2

Sistem ujian DMA merangkumi modul dalaman berikut:

  • Jambatan Jangkauan Jauh/Jambatan Paip: Jambatan saluran paip dengan kependaman boleh laras disertakan untuk mengawal topologi dan menambah baik reka bentuk Fmax.
  • Pengepala Ciri Peranti AFU DMA (DFH): Ini ialah DFH untuk DMA AFU. DFH ini menunjuk kepada DFH seterusnya yang terletak pada offset 0x100 (DMA BBB DFH).
  • Null DFH: Komponen ini menamatkan senarai terpaut DFH. Jika anda menambahkan lebih banyak BBB DMA pada reka bentuk, pastikan alamat pangkalan DFH yang batal terletak di hujung senarai terpaut DFH.
  • Blok Bangunan Asas MA (BBB): Blok ini memindahkan data antara hos dan memori FPGA tempatan. Ia juga mengakses memori hos untuk mengakses rantaian deskriptor.

DMA BBB

Subsistem DMA BBB memindahkan data dari sumber ke alamat destinasi menggunakan transaksi Avalon-MM. Pemacu DMA mengawal DMA BBB dengan mengakses kawalan dan daftar status pelbagai komponen di dalam sistem. Pemacu DMA juga mengawal DMA BBB dengan menggunakan memori yang dikongsi untuk menyampaikan deskriptor pemindahan. DMA BBB mengakses data dalam memori FPGA pada offset 0x0. BBB DMA mengakses data dan deskriptor dalam memori hos pada offset 0x1_0000_0000_0000.

Rajah Blok Pereka Platform DMA BBB
Gambar rajah blok ini tidak termasuk beberapa teras IP Jambatan Paip dalaman.Intel.-FPGA-Programmable-Acceleration-Card-D5005-fig-6

Panduan Pengguna Unit Fungsian Pemecut DMA: Kad Pecutan Boleh Aturcara Intel FPGA D5005

Penerangan DMA AFU

Komponen dalam Pereka Platform BBB DMA melaksanakan fungsi berikut:

  • Jambatan Jangkauan Jauh/Jambatan Paip: Jambatan saluran paip dengan kependaman boleh laras disertakan untuk mengawal topologi dan menambah baik reka bentuk Fmax.
  • MA BBB DFH: Ini ialah pengepala ciri peranti untuk DMA BBB. DFH ini menunjuk kepada DFH seterusnya yang terletak pada offset 0x100 (Null DFH).
  • Deskriptor Frontend: Bertanggungjawab untuk mengambil deskriptor dan memindahkannya kepada Penghantar. Apabila pemindahan DMA selesai, bahagian hadapan menerima pembentukan status daripada Penghantar dan menulis ganti deskriptor dalam memori hos.
  • Penghantar: Blok ini menjadualkan permintaan pemindahan DMA kepada Master Baca dan Tulis.
  • Baca Guru: Blok ini bertanggungjawab untuk membaca data daripada hos atau memori FPGA tempatan dan menghantarnya sebagai data penstriman kepada Write Master.
  • Tulis Guru: Blok ini bertanggungjawab untuk menerima data penstriman daripada Read Master dan menulis kandungan ke hos atau memori FPGA tempatan.

Daftar Peta dan Ruang Alamat

DMA AFU menyokong dua memori views: DMA view dan tuan rumah view. DMA itu view menyokong ruang alamat 49-bit. Bahagian bawah DMA view peta ke memori FPGA tempatan. Bahagian atas DMA view peta untuk mengehoskan ingatan. Pengacara itu view termasuk semua daftar yang boleh diakses melalui akses MMIO seperti jadual DFH, dan daftar kawalan/status pelbagai teras IP yang digunakan di dalam DMA AFU. MMIO mendaftar dalam DMA BBB dan AFU menyokong akses 32- dan 64-bit. DMA AFU tidak menyokong akses MMIO 512-bit. Akses kepada daftar Dispatcher di dalam DMA BBB mestilah 32 bit (Deskriptor frontend melaksanakan daftar 64-bit).

Peta Daftar DMA AFU

Peta daftar DMA AFU menyediakan alamat mutlak semua lokasi dalam unit. Daftar ini berada dalam hos view kerana hanya hos yang boleh mengaksesnya.

Peta Memori DMA AFU

Offset Alamat Byte Nama Span dalam Bytes Penerangan
0x0 DMA AFU DFH 0x40 Pengepala ciri peranti untuk DMA AFU. ID_L ditetapkan kepada 0x9081f88b8f655caa dan ID_H ditetapkan kepada 0x331db30c988541ea. DMA AFU DFH telah diparameterkan untuk menunjuk kepada mengimbangi 0x100 untuk mencari DFH seterusnya (DMA BBB DFH). Anda tidak boleh mengubah suai alamat asas DMA AFU DFH kerana ia mesti terletak di alamat 0x0 seperti yang ditakrifkan oleh spesifikasi CCIP.
0x100 DMA BBB 0x100 Menentukan kawalan DMA BBB dan antara muka daftar status. Anda boleh merujuk peta daftar DMA BBB untuk maklumat lanjut. Dalam DMA BBB pada offset 0, DMA BBB termasuk DFHnya sendiri. DFH ini telah ditetapkan untuk mencari DFH seterusnya pada offset 0x100 (NULL DFH). Jika anda menambah lebih banyak BBB DMA, jarakkannya 0x100 dan pastikan DFH NULL mengikut DMA terakhir sebanyak 0x100.
0x200 NULL DFH 0x40 Menamatkan senarai terpaut DFH. ID_L ditetapkan kepada 0x90fe6aab12a0132f dan ID_H ditetapkan kepada 0xda1182b1b3444e23. DFH NULL telah diparameterkan untuk menjadi DFH terakhir dalam perkakasan. Atas sebab ini NULL DFH terletak di alamat 0x200. Jika anda menambah BBB DMA tambahan pada sistem, anda perlu menambah alamat pangkalan NULL DFH dengan sewajarnya supaya ia kekal pada alamat tertinggi. Pemacu DMA dan aplikasi ujian tidak menggunakan perkakasan ini.

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.

Daftar Peta dan Ruang Alamat

Peta Memori DMA BBB
Alamat bait berikut ialah offset relatif daripada alamat asas DMA BBB dalam sistem DMA AFU (0x100).

Offset Alamat Byte Nama Span dalam Bytes Penerangan
0x0 DMA BBB DFH 0x40 Pengepala ciri peranti untuk DMA AFU. ID_L ditetapkan kepada 0xa9149a35bace01ea dan ID_H ditetapkan kepada 0xef82def7f6ec40fc . DMA BBB DFH telah diparameterkan untuk menunjuk kepada 0x100 untuk offset DFH seterusnya. Offset seterusnya ini boleh menjadi DMA BBB lain, DFH lain (tidak termasuk dalam reka bentuk ini), atau DFH NULL.
0x40 Penghantar 0x40 Pelabuhan kawalan untuk penghantar. Pemacu DMA menggunakan lokasi ini untuk mengawal DMA atau menanyakan statusnya.
0x80 Deskriptor Frontend 0x40 Bahagian hadapan deskriptor ialah komponen tersuai yang membaca deskriptor daripada memori hos dan menimpa deskriptor apabila pemindahan DMA selesai. Pemandu mengarahkan bahagian hadapan di mana deskriptor pertama tinggal dalam memori hos dan kemudian perkakasan bahagian hadapan berkomunikasi dengan pemandu terutamanya walaupun deskriptor disimpan dalam memori hos.

Ruang Alamat DMA AFU

Hos boleh mengakses daftar yang disenaraikan dalam Jadual 4 pada halaman 12 dan Jadual 5 pada halaman 13. Subsistem DMA BBB mempunyai akses kepada ruang alamat penuh 49-bit. Bahagian bawah ruang alamat ini termasuk kenangan FPGA tempatan. Bahagian atas ruang alamat ini termasuk memori alamat hos 48-bit. Rajah berikut menunjukkan hos dan DMA views ingatan.

AFU dan Hos DMA Views Memori

Intel.-FPGA-Programmable-Acceleration-Card-D5005-fig-3

Senarai Terpaut Pengepala Ciri Peranti

Reka bentuk DMA AFU example mengandungi tiga pengepala ciri peranti (DFH) yang membentuk senarai terpaut. Senarai terpaut ini membolehkan samppermohonan untuk mengenal pasti DMA AFU serta pemandu untuk mengenal pasti DMA BBB. Senarai DFH termasuk NULL DFH pada penghujungnya. Kemasukan DFH nol pada penghujung senarai terpaut membolehkan anda menambah lebih banyak BBB DMA pada reka bentuk anda. Anda hanya perlu mengalihkan NULL DFH ke alamat selepas BBB yang lain. Setiap BBB DMA menjangkakan DFH seterusnya terletak 0x100 bait daripada alamat asas BBB. Angka berikut menggambarkan senarai terpaut untuk reka bentuk DMA AFU example.

Daftar Peta dan Ruang Alamat

Rantaian Pengepala Ciri Peranti (DFH) DMA AFU

Intel.-FPGA-Programmable-Acceleration-Card-D5005-fig-4

Model Pengaturcaraan Perisian

DMA AFU termasuk pemacu perisian yang boleh anda gunakan dalam aplikasi hos anda sendiri. Fpga_dma.cpp dan fpga_dma.h files terletak di lokasi berikut melaksanakan pemacu perisian:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Pemacu ini menyokong fungsi berikut:

API Penerangan
fpgaCountDMACsaluran Mengimbas rantaian ciri peranti untuk BBB DMA dan mengira semua saluran yang tersedia.
fpgaDMABuka Membuka pemegang ke saluran DMA.
fpgaDMAClose Menutup pemegang ke saluran DMA.
fpgaDMATransferInit Memulakan objek yang mewakili pemindahan DMA.
fpgaDMATransferReset Menetapkan semula objek atribut pemindahan DMA kepada nilai lalai.
fpgaDMATransferDestroy Memusnahkan objek atribut pemindahan DMA.
fpgaDMATransferSetSrc Menetapkan alamat sumber pemindahan. Alamat ini mestilah sejajar 64 bait.
fpgaDMATransferSetDst Menetapkan alamat destinasi pemindahan. Alamat ini mestilah sejajar 64 bait.
fpgaDMATransferSetLen Menetapkan panjang pemindahan dalam bait. Untuk pemindahan bukan paket, anda mesti menetapkan panjang pemindahan kepada gandaan 64 bait. Untuk pemindahan paket, ini bukan satu keperluan.
fpgaDMATransferSetTransferType Menetapkan jenis pemindahan. Nilai undang-undang ialah:

• HOST_MM_TO_FPGA_MM = TX (Hos kepada AFU)

• FPGA_MM_TO_HOST_MM = RX (AFU kepada hos)

fpgaDMATransferSetTransferCallback Mendaftarkan panggilan balik untuk pemberitahuan mengenai penyelesaian pemindahan tak segerak. Jika anda menentukan panggilan balik, fpgaDMATransfer kembali serta-merta (pemindahan tak segerak).

Jika anda tidak menyatakan panggilan balik, fpgaDMATransfer kembali selepas pemindahan selesai (pemindahan segerak/menyekat).

fpgaDMATransferSetLast Menunjukkan pemindahan terakhir supaya DMA boleh mula memproses pemindahan yang telah diambil. Nilai lalai ialah 64 pemindahan dalam perancangan sebelum DMA mula berfungsi pada pemindahan.
fpgaDMATransfer Melakukan pemindahan DMA.

Untuk mendapatkan maklumat lanjut tentang argumen API, input dan output, rujuk kepada pengepala file terletak $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel Corporation. 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.

Model Pengaturcaraan Perisian

Untuk mengetahui lebih lanjut mengenai model penggunaan pemacu perisian, rujuk README file terletak di $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/README.md

Menjalankan DMA AFU Example

Sebelum anda memulakan:

  • Anda sepatutnya kenal dengan bekas ituamples dalam Panduan Mula Pantas Timbunan Pecutan Intel untuk Kad Pecutan Boleh Aturcara Intel FPGA D5005.
  • Anda mesti menentukan pembolehubah persekitaran. Pembolehubah persekitaran bergantung pada versi Intel Acceleration Stack yang anda gunakan:
    • Untuk versi semasa, tetapkan pembolehubah persekitaran kepada $OPAE_PLATFORM_ROOT
  • Anda mesti memasang pustaka Intel Threading Building Blocks (TBB) kerana pemacu DMA bergantung padanya.
  • Anda juga mesti menyediakan dua halaman besar 1 GB untuk menjalankan samppermohonan itu. $ sudo sh -c “gema 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages”

Lakukan langkah berikut untuk memuat turun aliran bit DMA Accelerator Function (AF), untuk membina aplikasi dan pemacu, dan untuk menjalankan bekas reka bentukample:

  1. Tukar kepada aplikasi DMA dan direktori pemacu: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
  2. Bina pemacu dan aplikasi: buat
  3. Muat turun aliran bit DMA AFU: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
  4. Jalankan aplikasi hos untuk menulis 100 MB dalam bahagian 1 MB daripada memori hos ke memori peranti FPGA dan baca semula: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom

Maklumat Berkaitan
Panduan Mula Pantas Timbunan Pecutan Intel untuk Kad Pecutan Boleh Aturcara Intel FPGA D5005 Intel Corporation. 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.

Menyusun DMA AFU Example

Untuk menjana persekitaran binaan sintesis untuk menyusun AF, gunakan arahan afu_synth_setup seperti berikut:

  1. Tukar kepada DMA AFU sampdirektori: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Hasilkan direktori binaan reka bentuk: afu_synth_setup –source hw/rtl/filelist.txt build_synth
  3. Daripada direktori binaan sintesis yang dijana oleh afu_synth_setup, masukkan arahan berikut daripada tetingkap terminal untuk menjana AF bagi platform perkakasan sasaran: cd build_synth run.sh Skrip penjanaan AF run.sh mencipta imej AF dengan asas yang sama filenamakan sebagai konfigurasi platform AFU file (.json) dengan akhiran .gbs di lokasi:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel Corporation. 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.

Mensimulasikan AFU Example

Intel mengesyorkan anda merujuk kepada Panduan Mula Pantas Persekitaran Simulasi (ASE) Intel Accelerator Functional Unit (AFU) untuk Intel FPGA PAC anda untuk membiasakan diri dengan simulasi bekas yang serupaamples dan untuk menyediakan persekitaran anda. Sebelum anda meneruskan langkah berikut, sahkan bahawa pembolehubah persekitaran OPAE_PLATFORM_ROOT ditetapkan kepada direktori pemasangan SDK OPAE. Lengkapkan langkah berikut untuk menyediakan simulator perkakasan untuk DMA AFU:

  1. Tukar kepada DMA AFU sampdirektori: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Cipta persekitaran ASE dalam direktori baharu dan konfigurasikannya untuk mensimulasikan AFU: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
  3. Tukar kepada direktori binaan ASE: cd build_ase_dir
  4. Bina pemacu dan aplikasi: buat
  5. Buat simulasi: buat sim

Sampkeluaran daripada simulator perkakasan:

[SIM] ** PERHATIAN : SEBELUM menjalankan aplikasi perisian ** [SIM] Tetapkan env(ASE_WORKDIR) dalam terminal di mana aplikasi akan dijalankan (salin-dan-tampal) => [SIM] $SHELL | Jalankan:[SIM] ———+————————————————— [SIM] bash/zsh | eksport ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/kerja [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] Untuk mana-mana $SHELL lain, rujuk pentadbir Linux anda [SIM] [SIM] Sedia untuk simulasi… [SIM] Tekan CTRL-C untuk menutup simulator…

Lengkapkan langkah berikut untuk menyusun dan melaksanakan perisian DMA AFU dalam persekitaran simulasi:

  1. Buka tetingkap terminal baharu.
  2. Tukar direktori kepada: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw

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.

Mensimulasikan AFU Example

  1. Salin rentetan persediaan persekitaran (pilih rentetan yang sesuai untuk shell anda) daripada langkah di atas dalam simulasi perkakasan ke tetingkap terminal. Lihat baris berikut dalam sampkeluaran daripada simulator perkakasan. [SIM] bash/zsh | eksport ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/build_ase_dir/work
  2. Susun perisian: $ make USE_ASE=1
  3. Jalankan aplikasi hos untuk menulis 4 KB dalam bahagian 1 KB dari memori hos kembali ke memori peranti FPGA dalam mod gelung balik: ./ fpga_dma_test -s 4096 -p 1024 -r mtom

Maklumat Berkaitan
Panduan Pengguna Mula Pantas Persekitaran Simulasi (ASE) Intel Accelerator Functional Unit (AFU).

Pengoptimuman untuk Prestasi DMA yang Dipertingkat

Pelaksanaan pengoptimuman NUMA (akses memori tidak seragam) dalam fpga_dma_test.cpp membolehkan pemproses mengakses memori tempatannya sendiri lebih cepat daripada mengakses memori bukan tempatan (memori setempat kepada pemproses lain). Konfigurasi NUMA biasa ditunjukkan dalam rajah di bawah. Akses tempatan mewakili akses daripada teras ke memori setempat kepada teras yang sama. Akses jauh menggambarkan laluan yang diambil apabila teras pada Nod 0 mengakses memori yang berada dalam memori setempat kepada Nod 1.

Konfigurasi NUMA biasa

Intel.-FPGA-Programmable-Acceleration-Card-D5005-fig-5

Gunakan kod berikut untuk melaksanakan pengoptimuman NUMA dalam aplikasi ujian anda:

// Sediakan pertalian yang betul jika diminta jika (cpu_affinity || memory_affinity) {unsigned dom = 0, bus = 0, dev = 0, func = 0; fpga_properties props;int retval; #if(FPGA_DMA_DEBUG)char str[4096]; #endifres = fpgaGetProperties(afc_token, &props); ON_ERR_GOTO(res, out_destroy_tok, “fpgaGetProperties”); res = fpgaPropertiesGetBus(props, (uint8_t *) & bas);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetBus”); res = fpgaPropertiesGetDevice(props, (uint8_t *) & dev);ON_ERR_GOTO(res, out_destroy_tok, “fpgaPropertiesGetDevice”) res = fpgaPropertiesGetFunction(props, (uint8_t *) & func);ON_ERR_GOTOf(ygaproperties”);ON_ERR_GOTOf(ygaproperties”); // Cari peranti daripada topologi hwloc_topology_t topologi; hwloc_topology_init(&topology); hwloc_topology_set_flags(topologi, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel Corporation. 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 sebarang 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.

Pengoptimuman untuk Prestasi DMA yang Dipertingkat

hwloc_topology_load(topologi); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topologi, dom, bas, dev, func); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(topologi, obj); #if (FPGA_DMA_DEBUG) hwloc_obj_type_snprintf(str, 4096, obj2, 1); printf(“%s\n”, str);hwloc_obj_attr_snprintf(str, 4096, obj2, ” :: “, 1);printf(“%s\n”, str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->cpuset); printf(“CPUSET ialah %s\n”, str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->nodeset); printf(“NODESET ialah %s\n”, str);#endif if (memory_affinity) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(topologi, obj2->nodeset,HWLOC_MEMBIND_IN_BM_TEMBAHAN_KEMBALI_KEMBALI_KEMBALI_MEMBIND | #else retval =hwloc_set_membind_nodeset(topologi, obj2->nodeset, HWLOC_MEMBIND_THREAD,HWLOC_MEMBIND_MIGRATE); #endifON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_membind”); } if (cpu_affinity) { retval = hwloc_set_cpubind(topology, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_cpubind”); } }

Arkib Panduan Pengguna Unit Fungsian Pemecut DMA

Versi Timbunan Pecutan Intel Panduan Pengguna (PDF)
2.0 Panduan Pengguna Unit Fungsian Pemecut DMA (AFU).

Sejarah Semakan Dokumen untuk Panduan Pengguna Unit Fungsian Pemecut DMA

 

Versi Dokumen

Intel Acceleration Versi Timbunan  

Perubahan

 

 

2020.08.03

2.0.1 (disokong dengan Intel

Quartus® Prime Pro Edisi Edisi 19.2)

 

Membetulkan imej AF file nama dalam bahagian Menyusun DMA AFU Example.

 

 

2020.04.17

2.0.1 (disokong dengan Intel

Quartus Prime Edisi Pro Edisi 19.2)

 

 

Membetulkan kenyataan dalam Khalayak yang Dimaksudkan bahagian.

 

 

2020.02.20

2.0.1 (disokong dengan Intel

Quartus Prime Edisi Pro Edisi 19.2)

 

 

kesilapan menaip tetap.

 

 

 

 

2019.11.04

 

 

2.0.1 (disokong dengan Intel

Quartus Prime Edisi Pro Edisi 19.2)

• Menggantikan fpgaconf dengan fpgasupdate apabila mengkonfigurasi FPGA dengan AFU prabina dalam bahagian Menjalankan DMA AFU Example.

• Menambah sari kata Kad Pecutan Boleh Aturcara Intel FPGA D5005 kepada tajuk dokumen.

• Pembolehubah persekitaran ditambah $OPAE_PLATFORM_ROOT.

• Bahagian yang diubah suai Model Pengaturcaraan Perisian untuk suntingan kecil.

• Menambah bahagian baharu Menyusun DMA AFU Example.

• Bahagian yang diubah suai Pengoptimuman untuk Prestasi DMA yang Dipertingkat untuk suntingan kecil.

 

 

2019.08.05

2.0 (disokong dengan Intel

Quartus Prime Edisi Pro 18.1.2)

 

 

Keluaran awal.

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.

 

Dokumen / Sumber

Kad Pecutan Boleh Aturcara Intel FPGA D5005 [pdf] Panduan Pengguna
Kad Pecutan Boleh Aturcara FPGA, D5005, Kad Pecutan Boleh Aturcara FPGA D5005, Unit Fungsian Pemecut DMA

Rujukan

Tinggalkan komen

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