Intel FPGA Programmable Akselerasi Card D5005
Babagan Dokumen iki
document iki njlèntrèhaké akses memori langsung (DMA) Accelerator Functional Unit (AFU) implementasine lan carane mbangun desain kanggo mbukak ing hardware utawa ing simulasi.
Tujuwan pamirsa
Pemirsa sing dimaksud kalebu pangembang hardware utawa piranti lunak sing mbutuhake Fungsi Akselerator (AF) kanggo buffer data sacara lokal ing memori sing disambungake menyang piranti Intel FPGA.
Konvensi
Konvensi Dokumen
Konvensi | Katrangan |
# | Sadurunge printah sing nuduhake printah kanggo ngetik minangka ROOT. |
$ | Nuduhake prentah sing kudu diketik minangka pangguna. |
Font iki | Filejeneng, printah, lan tembung kunci dicithak ing font iki. Garis printah dawa dicithak ing font iki. Senajan baris printah dawa bisa mbungkus kanggo baris sabanjuré, bali ora bagean printah; aja pencet enter. |
Nuduhake teks placeholder sing katon ing antarane kurung sudut kudu diganti karo nilai sing cocog. Aja ngetik kurung sudut. |
Akronim
Akronim
Akronim | Ekspansi | Katrangan |
AF | Fungsi Akselerator | Gambar Compiled Hardware Accelerator dileksanakake ing logika FPGA sing nyepetake aplikasi. |
AFU | Unit Fungsi Akselerator | Hardware Accelerator dipun ginakaken ing logika FPGA kang offloads operasi komputasi kanggo aplikasi saka CPU kanggo nambah kinerja. |
API | Antarmuka Pemrograman Aplikasi | Sakumpulan definisi subrutin, protokol, lan piranti kanggo mbangun aplikasi piranti lunak. |
CCI-P | Antarmuka Cache inti | CCI-P minangka antarmuka standar sing digunakake AFU kanggo komunikasi karo host. |
DFH | Header Fitur Piranti | Nggawe dhaptar header fitur sing disambung kanggo nyedhiyakake cara sing bisa ditambahake kanggo nambah fitur. |
terus… |
Intel Corporation. Kabeh hak dilindhungi undhang-undhang. Intel, logo Intel, lan merek Intel liyane minangka merek dagang saka Intel Corporation utawa anak perusahaan. Intel njamin kinerja produk FPGA lan semikonduktor kanggo specifications saiki miturut babar pisan standar Intel, nanging nduweni hak kanggo owah-owahan ing sembarang produk lan layanan ing sembarang wektu tanpa kabar. Intel ora tanggung jawab utawa tanggung jawab sing muncul saka aplikasi utawa panggunaan informasi, produk, utawa layanan sing diterangake ing kene kajaba sing disepakati kanthi tinulis dening Intel. Pelanggan Intel disaranake njupuk versi paling anyar saka spesifikasi piranti sadurunge ngandelake informasi sing diterbitake lan sadurunge nggawe pesenan kanggo produk utawa layanan. * Jeneng lan merek liyane bisa uga diklaim minangka properti wong liya.
Akronim | Ekspansi | Katrangan |
FIM | Manajer Antarmuka FPGA | Hardware FPGA ngemot Unit Antarmuka FPGA (FIU) lan antarmuka eksternal kanggo memori, jaringan, lsp.
Fungsi Accelerator (AF) sesambungan karo FIM nalika mlaku. |
FIU | Unit Antarmuka FPGA | FIU minangka lapisan antarmuka platform sing dadi jembatan antarane antarmuka platform kaya PCIe *, UPI lan antarmuka sisih AFU kayata CCI-P. |
MPF | Pabrik Properti Memori | MPF minangka Blok Bangunan Dasar (BBB) sing bisa digunakake dening AFU kanggo nyedhiyakake operasi pambentukan lalu lintas CCI-P kanggo transaksi karo FIU. |
Glosarium Akselerasi
Akselerasi Tumpukan kanggo Intel® Xeon® CPU karo FPGAs Glosarium
istilahe | Singkatan | Katrangan |
Intel® Acceleration Stack kanggo Intel Xeon® CPU karo FPGAs | Tumpukan Akselerasi | Koleksi piranti lunak, perangkat kukuh, lan piranti sing nyedhiyakake konektivitas sing dioptimalake kinerja antarane Intel FPGA lan prosesor Intel Xeon. |
Kertu Akselerasi Programmable Intel FPGA | Intel FPGA PAC | kertu akselerator FPGA PCIe.
Ngandhut FPGA Interface Manager (FIM) sing dipasangake karo prosesor Intel Xeon liwat bus PCIe. |
- Panduan Pengguna Unit Fungsional Akselerator DMA: Intel FPGA Programmable Acceleration Card D5005
Deskripsi DMA AFU
Pambuka
Akses Memori Langsung (DMA) AFU example nuduhake carane ngatur transfer memori antarane prosesor inang lan FPGA. Sampeyan bisa nggabungake DMA AFU menyang desain sampeyan kanggo mindhah data antarane memori host lan memori lokal FPGA. DMA AFU kalebu submodul ing ngisor iki:
- Pabrik Properti Memori (MPF) Blok Bangunan Dasar (BBB)
- Antarmuka Cache Inti (CCI-P) menyang Adaptor Avalon® Memory-Mapped (Avalon-MM)
- DMA Test System sing ngemot DMA BBB
Submodul kasebut diterangake kanthi luwih rinci ing topik Komponen Hardware DMA AFU ing ngisor iki.
Informasi sing gegandhengan
- Komponen Perangkat Keras DMA AFU ing kaca 6
- Spesifikasi Antarmuka Avalon
Kanggo informasi luwih lengkap babagan protokol Avalon-MM, kalebu diagram wektu kanggo maca lan nulis transaksi.
Paket Perangkat Lunak DMA AFU
Intel Acceleration Stack kanggo Intel Xeon CPU karo paket FPGAs file (*.tar.gz), kalebu DMA AFU example. Mantan ikiample menehi driver papan pangguna. Aplikasi host nggunakake driver iki supaya DMA mindhah data antarane host lan memori FPGA. Binari hardware, sumber, lan driver spasi pangguna kasedhiya ing direktori ing ngisor iki: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . Sadurunge nyoba karo DMA AFU, sampeyan kudu nginstal paket piranti lunak Open Programmable Acceleration Engine (OPAE). Waca Instal Paket Software OPAE ing Intel Acceleration Stack Quick Start Guide kanggo Intel FPGA Programmable Acceleration Card D5005 kanggo instruksi instalasi. Pandhuan Mulai Cepet iki uga kalebu informasi dhasar babagan Open Programmable Acceleration Engine (OPAE) lan konfigurasi AFU. Sawise nginstal Open Programmable Acceleration Engine (OPAE) paket lunak, minangkaampaplikasi host lan driver spasi pangguna DMA AFU kasedhiya ing direktori ing ngisor iki: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. Kanggo mbukak sampaplikasi host, fpga_dma_test ing hardware Intel FPGA PAC D5005, waca langkah-langkah ing bagean Nganggo DMA AFU Example. Intel Corporation. Kabeh hak dilindhungi undhang-undhang. Intel, logo Intel, lan merek Intel liyane minangka merek dagang saka Intel Corporation utawa anak perusahaan. Intel njamin kinerja FPGA lan produk semikonduktor kanggo specifications saiki miturut babar pisan standar Intel, nanging nduweni hak kanggo owah-owahan kanggo produk lan layanan ing sembarang wektu tanpa kabar. Intel ora tanggung jawab utawa tanggung jawab sing muncul saka aplikasi utawa panggunaan informasi, produk, utawa layanan sing diterangake ing kene kajaba sing disepakati kanthi tinulis dening Intel. Pelanggan Intel disaranake njupuk versi paling anyar saka spesifikasi piranti sadurunge ngandelake informasi sing diterbitake lan sadurunge nggawe pesenan kanggo produk utawa layanan. * Jeneng lan merek liyane bisa uga diklaim minangka properti wong liya.
Informasi sing gegandhengan
- Intel Acceleration Stack Quick Start Guide kanggo Intel FPGA Programmable Acceleration Card D5005
- Nginstal Paket Perangkat Lunak OPAE
Komponen Hardware DMA AFU
Antarmuka DMA AFU karo Unit Antarmuka FPGA (FIU) lan memori FPGA. Deleng FPGA Interface Manager Data Sheet kanggo Intel FPGA Programmable Acceleration Card D5005 kanggo rincian spesifikasi memori FPGA. Hardware saiki kasedhiya ndhikte konfigurasi memori iki. Hardware mbesuk bisa ndhukung konfigurasi memori sing beda. Sampeyan bisa nggunakake DMA AFU kanggo nyalin data ing antarane sumber lan panggonan tujuan ing ngisor iki:
- Host kanggo memori FPGA piranti
- Memori FPGA piranti menyang host
Sistem Desainer Platform, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys ngleksanakake paling DMA
- AFU. Bagéyan saka DMA AFU sing dileksanakake ing sistem Desainer Platform bisa ditemokake ing ngisor iki
lokasi: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ Sampeyan bisa nemokake DMA BBB ing lokasi ing ngisor iki:
- $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/dma_bbb
Panduan Pengguna Unit Fungsional Akselerator DMA: Intel FPGA Programmable Acceleration Card D5005
DMA AFU Hardware Blok Diagram
DMA AFU kalebu modul internal ing ngisor iki kanggo antarmuka karo Unit Antarmuka FPGA (FIU):
- Logic Decoder IO (MMIO) Memory-Mapped: ndeteksi transaksi maca lan nulis MMIO lan misahake saka saluran CCI-P RX 0 sing teka saka. Iki njamin lalu lintas MMIO ora tau tekan MPF BBB lan dilayani dening saluran perintah MMIO independen.
- Pabrik Properties memori (MPF): modul iki njamin sing maca respon saka DMA bali ing urutan sing padha ditanggepi. Protokol Avalon-MM mbutuhake respon diwaca kanggo bali ing urutan sing bener.
- CCI-P to Avalon-MM Adapter: Modul iki nerjemahake antarane transaksi CCI-P lan Avalon-MM, kaya ing ngisor iki:
- CCI-P kanggo Avalon-MMIO Adaptor: Path iki nerjemahake CCI-P MMIO transaksi menyang transaksi Avalon-MM.
- Avalon kanggo CCI-P Host Adapter: Iki dalan nggawe kapisah diwaca-mung lan nulis-mung path kanggo DMA kanggo ngakses memori host.
- DMA Test System: Modul iki serves minangka pambungkus watara DMA BBB kanggo mbabarake master DMA kanggo liyane saka logika ing AFU. Menehi antarmuka antarane DMA BBB lan CCI-P kanggo Avalon Adaptor. Iku uga menehi antarmuka antarane DMA BBB lan bank-bank FPGA SDRAM lokal.
Informasi sing gegandhengan
FPGA Interface Manager Data Sheet kanggo Intel FPGA Programmable Akselerasi Card D5005
Sistem Tes DMA
Sistem test DMA nyambungake DMA BBB menyang liyane saka desain FPGA kalebu adaptasi CCI-P lan memori FPGA lokal.
DMA Test System Blok Diagram
Diagram blok iki nuduhake internal sistem tes DMA. Sistem tes DMA ditampilake minangka blok monolitik ing Gambar 1 ing kaca 7.
Sistem tes DMA kalebu modul internal ing ngisor iki:
- Tebih Reach Bridge / Pipeline Bridge: Jembatan pipa kanthi latensi sing bisa diatur kanggo ngontrol topologi lan nambah desain Fmax.
- Header Fitur Piranti DMA AFU (DFH): Iki minangka DFH kanggo DMA AFU. DFH iki nuduhake DFH sabanjure sing ana ing offset 0x100 (DMA BBB DFH).
- Null DFH: Komponen iki mungkasi dhaptar link DFH. Yen sampeyan nambah liyane DMA BBBs kanggo desain, mesthekake yen alamat basis DFH null dumunung ing mburi DFH disambung-dhaftar.
- MA Basic Building Block (BBB): Blok iki mindhah data antarane host lan memori FPGA lokal. Uga ngakses memori host kanggo ngakses rantai deskriptor.
DMA BBB
Subsistem DMA BBB nransfer data saka sumber menyang alamat tujuan nggunakake transaksi Avalon-MM. Driver DMA ngontrol DMA BBB kanthi ngakses kontrol lan status register saka macem-macem komponen nang sistem. Driver DMA uga ngontrol DMA BBB kanthi nggunakake memori sambungan kanggo komunikasi deskriptor transfer. DMA BBB ngakses data ing memori FPGA ing offset 0x0. DMA BBB ngakses data lan deskriptor ing memori host ing offset 0x1_0000_0000_0000.
DMA BBB Platform Designer Blok Diagram
Diagram blok iki ora kalebu sawetara inti IP Pipeline Bridge internal.
Panduan Pengguna Unit Fungsional Akselerator DMA: Intel FPGA Programmable Acceleration Card D5005
Deskripsi DMA AFU
Komponen ing Desainer Platform DMA BBB ngetrapake fungsi ing ngisor iki:
- Jembatan Tebih / Jembatan Pipa: Jembatan pipa kanthi latensi sing bisa diatur kalebu kanggo ngontrol topologi lan nambah desain Fmax.
- MA BBB DFH: Iki minangka header fitur piranti kanggo DMA BBB. DFH iki nuduhake DFH sabanjure sing ana ing offset 0x100 (Null DFH).
- Deskriptor Frontend: Tanggung jawab kanggo njupuk deskriptor lan nransfer menyang Dispatcher. Nalika transfer DMA ngrampungake frontend nampa tatanan status saka Dispatcher lan nimpa deskriptor ing memori inang.
- Dispatcher: Blok iki njadwalake panjalukan transfer DMA menyang Master Waca lan Tulis.
- Maca Guru: Blok iki tanggung jawab kanggo maca data saka host utawa memori FPGA lokal lan ngirim minangka data streaming menyang Write Master.
- Guru nulis: Pemblokiran iki tanggung jawab kanggo nampa data streaming saka Read Master lan nulis isi kanggo inang utawa memori FPGA lokal.
Register Peta lan Spasi Alamat
DMA AFU ndhukung rong memori views: DMA view lan tuan rumah view. DMA view ndhukung papan alamat 49-bit. Setengah ngisor saka DMA view peta menyang memori FPGA lokal. Setengah ndhuwur DMA view map kanggo memori inang. Sing duwe omah view kalebu kabeh ndhaptar sing bisa diakses liwat akses MMIO kayata tabel DFH, lan ndhaftar kontrol / status saka macem-macem intine IP sing digunakake ing DMA AFU. MMIO ndhaptar ing DMA BBB lan AFU ndhukung akses 32- lan 64-dicokot. DMA AFU ora ndhukung akses MMIO 512-bit. Akses menyang ndhaftar Dispatcher ing DMA BBB kudu 32 bit (Deskriptor frontend ngetrapake registrasi 64-bit).
Peta Daftar DMA AFU
Peta registrasi DMA AFU nyedhiyakake alamat mutlak kabeh lokasi ing unit kasebut. Register iki ana ing host view amarga mung host sing bisa ngakses.
Peta Memori DMA AFU
Byte Alamat Offsets | jeneng | Span ing Byte | Katrangan |
0x0 | DMA AFU DFH | 0x40 | Header fitur piranti kanggo DMA AFU. ID_L disetel dadi 0x9081f88b8f655caa lan ID_H disetel dadi 0x331db30c988541ea. DMA AFU DFH wis parameterized kanggo titik kanggo ngimbangi 0x100 kanggo nemokake DFH sabanjuré (DMA BBB DFH). Sampeyan ora kudu ngowahi alamat dhasar DMA AFU DFH amarga kudu ana ing alamat 0x0 kaya sing ditetepake dening spesifikasi CCIP. |
0x100 | DMA BBB | 0x100 | Nemtokake kontrol DMA BBB lan antarmuka daftar status. Sampeyan bisa ngrujuk menyang DMA BBB ndhaftar map kanggo informasi luwih lengkap. Ing DMA BBB ing offset 0, DMA BBB kalebu DFH dhewe. DFH iki wis disetel kanggo nemokake DFH sabanjuré ing offset 0x100 (NULL DFH). Yen sampeyan nambahake BBB DMA liyane, spasi 0x100 lan mesthekake NULL DFH nderek DMA pungkasan kanthi 0x100. |
0x200 | NULL DFH | 0x40 | Mungkasi dhaptar link DFH. ID_L disetel dadi 0x90fe6aab12a0132f lan ID_H disetel dadi 0xda1182b1b3444e23. DFH NULL wis diparamèterake dadi DFH pungkasan ing hardware. Mulane NULL DFH dumunung ing alamat 0x200. Yen sampeyan nambahake BBBs DMA tambahan kanggo sistem, sampeyan kudu nambah alamat basis NULL DFH supaya tetep ing alamat paling dhuwur. Driver DMA lan aplikasi test ora nggunakake hardware iki. |
Intel Corporation. Kabeh hak dilindhungi undhang-undhang. Intel, logo Intel, lan merek Intel liyane minangka merek dagang saka Intel Corporation utawa anak perusahaan. Intel njamin kinerja produk FPGA lan semikonduktor kanggo specifications saiki miturut babar pisan standar Intel, nanging nduweni hak kanggo owah-owahan ing sembarang produk lan layanan ing sembarang wektu tanpa kabar. Intel ora tanggung jawab utawa tanggung jawab sing muncul saka aplikasi utawa panggunaan informasi, produk, utawa layanan sing diterangake ing kene kajaba sing disepakati kanthi tinulis dening Intel. Pelanggan Intel disaranake njupuk versi paling anyar saka spesifikasi piranti sadurunge ngandelake informasi sing diterbitake lan sadurunge nggawe pesenan kanggo produk utawa layanan. * Jeneng lan merek liyane bisa uga diklaim minangka properti wong liya.
Register Peta lan Spasi Alamat
DMA BBB Peta Memori
Alamat byte ing ngisor iki minangka offset relatif saka alamat basis DMA BBB ing sistem DMA AFU (0x100).
Byte Alamat Offsets | jeneng | Span ing Byte | Katrangan |
0x0 | DMA BBB DFH | 0x40 | Header fitur piranti kanggo DMA AFU. ID_L disetel dadi 0xa9149a35bace01ea lan ID_H disetel dadi 0xef82def7f6ec40fc. DMA BBB DFH wis parameterized kanggo titik 0x100 kanggo offset DFH sabanjuré. Offset sabanjure iki bisa dadi DMA BBB liyane, DFH liyane (ora kalebu ing desain iki), utawa NULL DFH. |
0x40 | Dispatcher | 0x40 | Port kontrol kanggo dispatcher. Driver DMA nggunakake lokasi iki kanggo ngontrol DMA utawa takon status. |
0x80 | Deskriptor Frontend | 0x40 | Frontend deskriptor minangka komponen khusus sing maca deskriptor saka memori inang lan nimpa deskriptor nalika transfer DMA rampung. Pembalap nuntun frontend ing ngendi deskriptor pisanan manggon ing memori host lan banjur hardware frontend komunikasi karo driver utamane sanajan deskriptor disimpen ing memori host. |
Ruang Alamat DMA AFU
Tuan rumah bisa ngakses ndhaftar sing kadhaptar ing Tabel 4 ing kaca 12 lan Tabel 5 ing kaca 13. Subsistem DMA BBB nduweni akses menyang papan alamat lengkap 49-bit. Setengah ngisor saka papan alamat iki kalebu kenangan FPGA lokal. Setengah ndhuwur papan alamat iki kalebu memori alamat host 48-bit. Tokoh ing ngisor iki nuduhake host lan DMA views saka memori.
DMA AFU lan Host Views saka Memori
Piranti Fitur Header Linked-List
Desain DMA AFU example ngandhut telung header fitur piranti (DFH) sing mbentuk dhaftar disambung. dhaftar disambung iki ngidini sample aplikasi kanggo ngenali DMA AFU uga driver kanggo ngenali DMA BBB. Dhaptar DFH kalebu NULL DFH ing pungkasan. Gawan DFH null ing mburi dhaftar disambung ngijini sampeyan kanggo nambah liyane DMA BBBs kanggo desain. Sampeyan mung kudu mindhah NULL DFH menyang alamat sawise BBB liyane. Saben DMA BBB ngarepake DFH sabanjuré dumunung 0x100 bait saka alamat dhasar saka BBB. Tokoh ing ngisor iki nggambarake dhaptar link kanggo desain DMA AFU example.
Register Peta lan Spasi Alamat
DMA AFU Device Feature Header (DFH) Chaining
Model Pemrograman Perangkat Lunak
DMA AFU kalebu driver piranti lunak sing bisa digunakake ing aplikasi host sampeyan dhewe. Ing fpga_dma.cpp lan fpga_dma.h files dumunung ing lokasi ing ngisor iki ngleksanakake driver piranti lunak:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Driver iki ndhukung fungsi ing ngisor iki:
API | Katrangan |
fpgaCountDMACchannels | Pindai chain fitur piranti kanggo DMA BBBs lan count kabeh saluran kasedhiya. |
fpgaDMAOpen | Mbukak gagang menyang saluran DMA. |
fpgaDMAClose | Nutup gagang menyang saluran DMA. |
fpgaDMATransferInit | Initializes obyek sing makili transfer DMA. |
fpgaDMATransferReset | Ngreset obyek atribut transfer DMA menyang nilai standar. |
fpgaDMATransferDestroy | Ngancurake obyek atribut transfer DMA. |
fpgaDMATransferSetSrc | Nyetel alamat sumber transfer. Alamat iki kudu didadekake siji 64 byte. |
fpgaDMATransferSetDst | Nyetel alamat tujuan transfer. Alamat iki kudu didadekake siji 64 byte. |
fpgaDMATransferSetLen | Nyetel dawa transfer ing bita. Kanggo transfer non-paket, sampeyan kudu nyetel dawa transfer menyang kaping 64 bait. Kanggo transfer paket, iki ora dadi syarat. |
fpgaDMATransferSetTransferType | Nyetel jinis transfer. Nilai legal yaiku:
• HOST_MM_TO_FPGA_MM = TX (Host kanggo AFU) • FPGA_MM_TO_HOST_MM = RX (AFU kanggo host) |
fpgaDMATransferSetTransferCallback | Ndhaptar callback kanggo kabar babagan transfer asinkron rampung. Yen sampeyan nemtokake callback, fpgaDMATransfer bali langsung (transfer asinkron).
Yen sampeyan ora nemtokake callback, fpgaDMATransfer bali sawise transfer rampung (transfer sinkron / pamblokiran). |
fpgaDMATransferSetLast | Nuduhake transfer pungkasan supaya DMA bisa miwiti ngolah transfer sing wis dijupuk. Nilai standar yaiku 64 transfer ing pipa sadurunge DMA wiwit nggarap transfer kasebut. |
fpgaDMATransfer | Nindakake transfer DMA. |
Kanggo informasi luwih lengkap babagan argumen API, input, lan output, deleng header file dumunung $ OPAE_PLATFORM_ROOT / hw / samples/dma_afu/sw/fpga_dma.hIntel Corporation. Kabeh hak dilindhungi undhang-undhang. Intel, logo Intel, lan merek Intel liyane minangka merek dagang saka Intel Corporation utawa anak perusahaan. Intel njamin kinerja FPGA lan produk semikonduktor kanggo specifications saiki miturut babar pisan standar Intel, nanging nduweni hak kanggo owah-owahan kanggo produk lan layanan ing sembarang wektu tanpa kabar. Intel ora tanggung jawab utawa tanggung jawab sing muncul saka aplikasi utawa panggunaan informasi, produk, utawa layanan sing diterangake ing kene kajaba sing disepakati kanthi tinulis dening Intel. Pelanggan Intel disaranake njupuk versi paling anyar saka spesifikasi piranti sadurunge ngandelake informasi sing diterbitake lan sadurunge nggawe pesenan kanggo produk utawa layanan. Jeneng lan merek liyane bisa uga diklaim minangka properti wong liya.
Model Pemrograman Perangkat Lunak
Kanggo ngerti luwih lengkap babagan model panggunaan driver piranti lunak, waca README file dumunung ing $ OPAE_PLATFORM_ROOT / hw / samples/dma_afu/README.md
Mlaku DMA AFU Example
Sadurunge miwiti:
- Sampeyan kudu akrab karo mantanamples ing Intel Acceleration Stack Quick Start Guide kanggo Intel FPGA Programmable Acceleration Card D5005.
- Sampeyan kudu nemtokake variabel lingkungan. Variabel lingkungan gumantung ing versi Intel Acceleration Stack sing sampeyan gunakake:
- Kanggo versi saiki, setel variabel lingkungan kanggo $ OPAE_PLATFORM_ROOT
- Sampeyan kudu nginstal perpustakaan Intel Threading Building Blocks (TBB) wiwit driver DMA gumantung ing.
- Sampeyan uga kudu nyiyapake loro 1 GB kaca gedhe kanggo mbukak sampl aplikasi. $ sudo sh -c "echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages"
Tindakake langkah-langkah ing ngisor iki kanggo ndownload bitstream DMA Accelerator Function (AF), kanggo mbangun aplikasi lan driver, lan mbukak ex desain.ample:
- Ganti aplikasi DMA lan direktori driver: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
- Mbangun driver lan aplikasi: nggawe
- Unduh bitstream DMA AFU: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
- Jalanake aplikasi host kanggo nulis 100 MB ing bagean 1 MB saka memori host menyang memori piranti FPGA lan maca maneh: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom
Informasi sing gegandhengan
Intel Acceleration Stack Quick Start Guide kanggo Intel FPGA Programmable Acceleration Card D5005 Intel Corporation. Kabeh hak dilindhungi undhang-undhang. Intel, logo Intel, lan merek Intel liyane minangka merek dagang saka Intel Corporation utawa anak perusahaan. Intel njamin kinerja FPGA lan produk semikonduktor kanggo specifications saiki miturut babar pisan standar Intel, nanging nduweni hak kanggo owah-owahan kanggo produk lan layanan ing sembarang wektu tanpa kabar. Intel ora tanggung jawab utawa tanggung jawab sing muncul saka aplikasi utawa panggunaan informasi, produk, utawa layanan sing diterangake ing kene kajaba sing disepakati kanthi tinulis dening Intel. Pelanggan Intel disaranake njupuk versi paling anyar saka spesifikasi piranti sadurunge ngandelake informasi sing diterbitake lan sadurunge nggawe pesenan kanggo produk utawa layanan. * Jeneng lan merek liyane bisa uga diklaim minangka properti wong liya.
Kompilasi DMA AFU Example
Kanggo ngasilake lingkungan mbangun sintesis kanggo ngumpulake AF, gunakake printah afu_synth_setup kaya ing ngisor iki:
- Ganti menyang DMA AFU sampdirektori: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Gawe direktori mbangun desain: afu_synth_setup –source hw/rtl/filelist.txt build_synth
- Saka direktori mbangun sintesis sing digawe dening afu_synth_setup, ketik printah ing ngisor iki saka jendhela terminal kanggo ngasilake AF kanggo platform hardware target: cd build_synth run.sh Skrip generasi AF run.sh nggawe gambar AF kanthi basis sing padha. filejeneng minangka konfigurasi platform AFU file (.json) kanthi seselan .gbs ing lokasi:$OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel Corporation. Kabeh hak dilindhungi undhang-undhang. Intel, logo Intel, lan merek Intel liyane minangka merek dagang saka Intel Corporation utawa anak perusahaan. Intel njamin kinerja FPGA lan produk semikonduktor kanggo specifications saiki miturut babar pisan standar Intel, nanging nduweni hak kanggo owah-owahan kanggo produk lan layanan ing sembarang wektu tanpa kabar. Intel ora tanggung jawab utawa tanggung jawab sing muncul saka aplikasi utawa panggunaan informasi, produk, utawa layanan sing diterangake ing kene kajaba sing disepakati kanthi tinulis dening Intel. Pelanggan Intel disaranake njupuk versi paling anyar saka spesifikasi piranti sadurunge ngandelake informasi sing diterbitake lan sadurunge nggawe pesenan kanggo produk utawa layanan. * Jeneng lan merek liyane bisa uga diklaim minangka properti wong liya.
Simulasi AFU Example
Intel nyaranake sampeyan ngrujuk menyang Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Pandhuan Mulai Cepet kanggo Intel FPGA PAC sampeyan supaya ngerti simulasi mantan sing padha.amples lan kanggo persiyapan lingkungan. Sadurunge nerusake langkah-langkah ing ngisor iki, verifikasi manawa variabel lingkungan OPAE_PLATFORM_ROOT disetel menyang direktori instalasi OPAE SDK. Rampungake langkah-langkah ing ngisor iki kanggo nyiyapake simulator hardware kanggo DMA AFU:
- Ganti menyang DMA AFU sampdirektori: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Gawe lingkungan ASE ing direktori anyar lan konfigurasi kanggo simulasi AFU: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
- Ganti menyang direktori mbangun ASE: cd build_ase_dir
- Mbangun driver lan aplikasi: nggawe
- Nggawe simulasi: nggawe sim
Sampoutput saka simulator hardware:
[SIM] ** PERHATIAN : Sadurunge mbukak aplikasi piranti lunak ** [SIM] Setel env(ASE_WORKDIR) ing terminal ing ngendi aplikasi bakal mbukak (salin-lan-tempel) => [SIM] $SHELL | Run:[SIM] ———+————————————————— [SIM] bash/zsh | ekspor ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] tcsh/csh | setenv ASE_WORKDIR $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/ase_mkdir/work [SIM] Kanggo $SHELL liyane, takon administrator Linux [SIM] [SIM] Siap simulasi… [SIM] Pencet CTRL-C kanggo nutup simulator…Rampungake langkah-langkah ing ngisor iki kanggo ngumpulake lan nglakokake piranti lunak DMA AFU ing lingkungan simulasi:
- Mbukak jendhela terminal anyar.
- Ganti direktori dadi: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
Intel Corporation. Kabeh hak dilindhungi undhang-undhang. Intel, logo Intel, lan merek Intel liyane minangka merek dagang saka Intel Corporation utawa anak perusahaan. Intel njamin kinerja produk FPGA lan semikonduktor kanggo specifications saiki miturut babar pisan standar Intel, nanging nduweni hak kanggo owah-owahan ing sembarang produk lan layanan ing sembarang wektu tanpa kabar. Intel ora tanggung jawab utawa tanggung jawab sing muncul saka aplikasi utawa panggunaan informasi, produk, utawa layanan sing diterangake ing kene kajaba sing disepakati kanthi tinulis dening Intel. Pelanggan Intel disaranake njupuk versi paling anyar saka spesifikasi piranti sadurunge ngandelake informasi sing diterbitake lan sadurunge nggawe pesenan kanggo produk utawa layanan. * Jeneng lan merek liyane bisa uga diklaim minangka properti wong liya.
Simulasi AFU Example
- Nyalin string persiyapan lingkungan (milih string cocok kanggo cangkang) saka langkah ing ndhuwur ing simulasi hardware kanggo jendhela terminal. Waca garis ing ngisor iki ing sample output saka simulator hardware. [SIM] bash/zsh | ekspor 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
- Kompilasi piranti lunak: $ make USE_ASE=1
- Jalanake aplikasi host kanggo nulis 4 KB ing 1 bagean KB saka memori host bali menyang memori piranti FPGA ing mode loopback: ./ fpga_dma_test -s 4096 -p 1024 -r mtom
Informasi sing gegandhengan
Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Pandhuan Pangguna Cepet Mulai
Optimization kanggo Kinerja DMA Apik
Implementasine NUMA (akses memori non-seragam) Optimization ing fpga_dma_test.cpp ngidini prosesor kanggo ngakses memori lokal dhewe luwih cepet saka ngakses memori non-lokal (memori lokal kanggo prosesor liyane). Konfigurasi NUMA khas ditampilake ing diagram ing ngisor iki. Akses lokal nggambarake akses saka inti menyang memori lokal menyang inti sing padha. Akses remot nggambarake dalan sing ditindakake nalika inti ing Node 0 ngakses memori sing ana ing memori lokal menyang Node 1.
Konfigurasi NUMA sing khas
Gunakake kode ing ngisor iki kanggo ngetrapake optimasi NUMA ing aplikasi tes sampeyan:
// Nyetel karemenan sing tepat yen dijaluk yen (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(peraga, (uint8_t *) & bus);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_GOTO(ygaproperties”); // Golek piranti saka topologi hwloc_topology_t topologi; hwloc_topology_init(&topologi); hwloc_topology_set_flags(topologi, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel Corporation. Kabeh hak dilindhungi undhang-undhang. Intel, logo Intel, lan merek Intel liyane minangka merek dagang saka Intel Corporation utawa anak perusahaan. Intel njamin kinerja produk FPGA lan semikonduktor kanggo spesifikasi saiki sesuai karo garansi standar Intel, nanging nduweni hak kanggo ngganti produk lan layanan kapan wae tanpa kabar. Intel ora tanggung jawab utawa tanggung jawab sing muncul saka aplikasi utawa panggunaan informasi, produk, utawa layanan sing diterangake ing kene kajaba sing disepakati kanthi tinulis dening Intel. Pelanggan Intel disaranake njupuk versi paling anyar saka spesifikasi piranti sadurunge ngandelake informasi sing diterbitake lan sadurunge nggawe pesenan kanggo produk utawa layanan. * Jeneng lan merek liyane bisa uga diklaim minangka properti wong liya.
Optimization kanggo Kinerja DMA Apik
hwloc_topology_load(topologi); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topologi, dom, bus, dev, func); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(topologi, obj); #yen (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 %s\n”, str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->nodeset); printf(“NODESET iku %s\n”, str);#endif if (memory_affinity) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(topology, obj2->nodeset,HWLOC_MEMBIND_IND_THREMEAD,HWLOC_MEMBIND_THREMED_THREME,HWLOC_MEMBIND_THREMED_THREMEAD, HWLOC_MEMBIND_THREMED_THREMEAD, HWLOC_MEMBIND_THREMED_THREME, HWLOC_MEMBIND_THREM_AD_MEMBIND_THREMEAD | #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”); } yen (cpu_affinity) {retval = hwloc_set_cpubind(topology, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, "hwloc_set_cpubind"); }}
Arsip Pandhuan Pengguna Unit Fungsional Akselerator DMA
Versi tumpukan Intel Akselerasi | Pandhuan pangguna (PDF) |
2.0 | DMA Accelerator Functional Unit (AFU) Guide User |
Riwayat Revisi Dokumen kanggo Pandhuan Pangguna Unit Fungsional Akselerator DMA
Versi Dokumen |
Intel Akselerasi Versi tumpukan |
Owah-owahan |
2020.08.03 |
2.0.1 (didhukung karo Intel
Quartus® Prime Pro Edition Edition 19.2) |
Dibenerake gambar AF file jeneng ing bagean Kompilasi DMA AFU Example. |
2020.04.17 |
2.0.1 (didhukung karo Intel
Quartus Prime Pro Edition Edition 19.2) |
Dibenerake statement ing Tujuwan pamirsa bagean. |
2020.02.20 |
2.0.1 (didhukung karo Intel
Quartus Prime Pro Edition Edition 19.2) |
salah ketik tetep. |
2019.11.04 |
2.0.1 (didhukung karo Intel Quartus Prime Pro Edition Edition 19.2) |
• Ngganti fpgaconf karo fpgasupdate nalika ngonfigurasi FPGA nganggo AFU prebuild ing bagean Mlaku DMA AFU Example.
• Added subtitle Intel FPGA Programmable Akselerasi Card D5005 menyang judhul dokumen. • Added lingkungan variabel $ OPAE_PLATFORM_ROOT. • bagean dipunéwahi Model Pemrograman Perangkat Lunak kanggo suntingan cilik. • Added bagean anyar Kompilasi DMA AFU Example. • bagean dipunéwahi Optimization kanggo Kinerja DMA Apik kanggo suntingan cilik. |
2019.08.05 |
2.0 (didhukung karo Intel
Quartus Prime Pro Edition 18.1.2) |
Rilis wiwitan. |
Intel Corporation. Kabeh hak dilindhungi undhang-undhang. Intel, logo Intel, lan merek Intel liyane minangka merek dagang saka Intel Corporation utawa anak perusahaan. Intel njamin kinerja FPGA lan produk semikonduktor kanggo specifications saiki miturut babar pisan standar Intel, nanging nduweni hak kanggo owah-owahan kanggo produk lan layanan ing sembarang wektu tanpa kabar. Intel ora tanggung jawab utawa tanggung jawab sing muncul saka aplikasi utawa panggunaan informasi, produk, utawa layanan sing diterangake ing kene kajaba sing disepakati kanthi tinulis dening Intel. Pelanggan Intel disaranake njupuk versi paling anyar saka spesifikasi piranti sadurunge ngandelake informasi sing diterbitake lan sadurunge nggawe pesenan kanggo produk utawa layanan.
- Jeneng lan merek liyane bisa diklaim minangka properti wong liya.
Dokumen / Sumber Daya
![]() |
Intel FPGA Programmable Akselerasi Card D5005 [pdf] Pandhuan pangguna Kartu Akselerasi Programmable FPGA, D5005, Kartu Akselerasi Programmable FPGA D5005, Unit Fungsional Akselerator DMA |