Programirljiva pospeševalna kartica Intel FPGA D5005
O tem dokumentu
Ta dokument opisuje izvedbo funkcijske enote pospeševalnika (AFU) z neposrednim dostopom do pomnilnika (DMA) in kako zgraditi načrt za delovanje na strojni opremi ali v simulaciji.
Predvideno občinstvo
Predvideno občinstvo vključuje razvijalce strojne ali programske opreme, ki potrebujejo funkcijo pospeševalnika (AF) za lokalno medpomnilnik podatkov v pomnilniku, povezanem z napravo Intel FPGA.
konvencije
Konvencije dokumentov
konvencije | Opis |
# | Pred ukazom, ki označuje, da je treba ukaz vnesti kot root. |
$ | Označuje ukaz, ki ga je treba vnesti kot uporabnik. |
Ta pisava | Fileimena, ukazi in ključne besede so natisnjeni v tej pisavi. S to pisavo so natisnjene dolge ukazne vrstice. Čeprav se dolge ukazne vrstice lahko previjejo v naslednjo vrstico, vrnitev ni del ukaza; ne pritisnite enter. |
Označuje, da je treba besedilo nadomestnega mesta, ki se pojavi med kotnimi oklepaji, zamenjati z ustrezno vrednostjo. Ne vnašajte oglatih oklepajev. |
Kratice
Kratice
Kratice | Razširitev | Opis |
AF | Funkcija pospeševalnika | Prevedena slika strojnega pospeševalnika, implementirana v logiko FPGA, ki pospeši aplikacijo. |
AFU | Funkcionalna enota pospeševalnika | Hardware Accelerator, implementiran v logiko FPGA, ki razbremeni računsko operacijo za aplikacijo iz CPE-ja, da izboljša zmogljivost. |
API | Programski vmesnik aplikacij | Niz definicij podprogramov, protokolov in orodij za izdelavo programskih aplikacij. |
CCI-P | Core Cache vmesnik | CCI-P je standardni vmesnik AFU, ki ga uporabljajo za komunikacijo z gostiteljem. |
DFH | Glava funkcije naprave | Ustvari povezan seznam glav funkcij, da zagotovi razširljiv način dodajanja funkcij. |
nadaljevanje ... |
Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.
Kratice | Razširitev | Opis |
FIM | Upravljalnik vmesnika FPGA | Strojna oprema FPGA, ki vsebuje vmesniško enoto FPGA (FIU) in zunanje vmesnike za pomnilnik, mreženje itd.
Funkcija pospeševalnika (AF) je med izvajanjem povezana s FIM. |
FIU | Vmesniška enota FPGA | FIU je plast vmesnika platforme, ki deluje kot most med vmesniki platforme, kot so PCIe*, UPI in vmesniki na strani AFU, kot je CCI-P. |
MPF | Tovarna lastnosti pomnilnika | MPF je osnovni gradnik (BBB), ki ga AFU-ji lahko uporabljajo za zagotavljanje operacij oblikovanja prometa CCI-P za transakcije s FIU. |
Glosar za pospeševanje
Pospeševalni sklad za CPE Intel® Xeon® s FPGA Glosar
Izraz | Okrajšava | Opis |
Intel® Acceleration Stack za procesor Intel Xeon® s FPGA | Pospeševalni sklad | Zbirka programske opreme, vdelane programske opreme in orodij, ki zagotavlja povezljivost z optimizirano zmogljivostjo med procesorjem Intel FPGA in procesorjem Intel Xeon. |
Programirljiva pospeševalna kartica Intel FPGA | Intel FPGA PAC | PCIe FPGA pospeševalna kartica.
Vsebuje FPGA Interface Manager (FIM), ki se poveže s procesorjem Intel Xeon prek vodila PCIe. |
- Uporabniški priročnik za funkcionalno enoto pospeševalnika DMA: programabilna pospeševalna kartica Intel FPGA D5005
Opis DMA AFU
Uvod
Neposredni dostop do pomnilnika (DMA) AFU nprample prikazuje, kako upravljati prenose pomnilnika med gostiteljskim procesorjem in FPGA. DMA AFU lahko integrirate v svojo zasnovo za premikanje podatkov med pomnilnikom gostitelja in lokalnim pomnilnikom FPGA. DMA AFU sestavljajo naslednji podmoduli:
- Memory Properties Factory (MPF) Basic Building Block (BBB)
- Vmesnik jedrnega predpomnilnika (CCI-P) za adapter Avalon® Memory-Mapped (Avalon-MM)
- Testni sistem DMA, ki vsebuje DMA BBB
Ti podmoduli so podrobneje opisani v spodnji temi o komponentah strojne opreme DMA AFU.
Povezane informacije
- Komponente strojne opreme DMA AFU na strani 6
- Specifikacije vmesnika Avalon
Za več informacij o protokolu Avalon-MM, vključno s časovnimi diagrami za transakcije branja in pisanja.
Programski paket DMA AFU
Intel Acceleration Stack za procesor Intel Xeon s paketom FPGA file (*.tar.gz), vključuje DMA AFU example. Ta bivšiample zagotavlja gonilnik uporabniškega prostora. Gostiteljska aplikacija uporablja ta gonilnik tako, da DMA premika podatke med gostiteljem in pomnilnikom FPGA. Binarne datoteke strojne opreme, viri in gonilnik uporabniškega prostora so na voljo v naslednjem imeniku: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . Pred eksperimentiranjem z DMA AFU morate namestiti programski paket Open Programmable Acceleration Engine (OPAE). Za navodila za namestitev glejte Namestitev paketa programske opreme OPAE v vodniku za hiter začetek Intel Acceleration Stack za Intel FPGA Programmable Acceleration Card D5005. Ta vodnik za hiter začetek vključuje tudi osnovne informacije o Open Programmable Acceleration Engine (OPAE) in konfiguraciji AFU. Po namestitvi programskega paketa Open Programmable Acceleration Engine (OPAE), asampgostiteljska aplikacija in gonilnik uporabniškega prostora DMA AFU sta na voljo v naslednjem imeniku: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. Za vodenje sample gostiteljsko aplikacijo, fpga_dma_test na strojni opremi Intel FPGA PAC D5005, glejte korake v razdelku Zagon DMA AFU Example. Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.
Povezane informacije
- Priročnik za hiter začetek Intel Acceleration Stack za Intel FPGA programljivo pospeševalno kartico D5005
- Namestitev programskega paketa OPAE
Komponente strojne opreme DMA AFU
DMA AFU je povezan z vmesniško enoto FPGA (FIU) in pomnilnikom FPGA. Za podrobne specifikacije pomnilnika FPGA glejte podatkovni list upravljalnika vmesnika FPGA za programljivo pospeševalno kartico Intel FPGA D5005. Trenutno razpoložljiva strojna oprema narekuje to konfiguracijo pomnilnika. Prihodnja strojna oprema bo morda podpirala različne konfiguracije pomnilnika. DMA AFU lahko uporabite za kopiranje podatkov med naslednjimi izvornimi in ciljnimi lokacijami:
- Pomnilnik FPGA od gostitelja do naprave
- Pomnilnik naprave FPGA do gostitelja
Sistem Platform Designer, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys implementira večino DMA
- AFU. Del DMA AFU, ki je implementiran v sistemu Platform Designer, je na voljo v nadaljevanju
lokacija: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ DMA BBB najdete na naslednji lokaciji:
- $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/dma_bbb
Uporabniški priročnik za funkcionalno enoto pospeševalnika DMA: programabilna pospeševalna kartica Intel FPGA D5005
Blokovni diagram strojne opreme DMA AFU
DMA AFU vključuje naslednje notranje module za vmesnik z vmesniško enoto FPGA (FIU):
- Logika dekoderja Memory-Mapped IO (MMIO): zazna transakcije branja in pisanja MMIO in jih loči od kanala CCI-P RX 0, iz katerega prihajajo. To zagotavlja, da promet MMIO nikoli ne doseže MPF BBB in ga servisira neodvisen ukazni kanal MMIO.
- Tovarna lastnosti pomnilnika (MPF): Ta modul zagotavlja, da se branje odzivov iz DMA vrne v vrstnem redu, v katerem so bili izdani. Protokol Avalon-MM zahteva, da se odgovori branja vrnejo v pravilnem vrstnem redu.
- Adapter CCI-P v Avalon-MM: Ta modul prevaja med transakcijami CCI-P in Avalon-MM, kot sledi:
- Adapter CCI-P v Avalon-MMIO: Ta pot prevede transakcije CCI-P MMIO v transakcije Avalon-MM.
- Avalon v gostiteljski adapter CCI-P: Te poti ustvarijo ločeni poti samo za branje in samo za pisanje za DMA za dostop do pomnilnika gostitelja.
- Testni sistem DMA: Ta modul služi kot ovoj okoli DMA BBB, da izpostavi glavne enote DMA preostali logiki v AFU. Zagotavlja vmesnik med DMA BBB in adapterjem CCI-P za Avalon. Zagotavlja tudi vmesnik med DMA BBB in lokalnimi bankami FPGA SDRAM.
Povezane informacije
Podatkovni list upravljalnika vmesnika FPGA za programljivo pospeševalno kartico Intel FPGA D5005
Testni sistem DMA
Testni sistem DMA povezuje DMA BBB s preostalim delom zasnove FPGA, vključno s prilagoditvijo CCI-P in lokalnim pomnilnikom FPGA.
Blokovni diagram testnega sistema DMA
Ta blokovni diagram prikazuje notranjost testnega sistema DMA. Preskusni sistem DMA je prikazan kot monoliten blok na sliki 1 na strani 7.
Testni sistem DMA vključuje naslednje notranje module:
- Most Far Reach/Pipeline Bridge: Cevovodni most z vključeno nastavljivo zakasnitvijo za nadzor topologije in izboljšanje zasnove Fmax.
- DMA AFU Device Feature Header (DFH): To je DFH za DMA AFU. Ta DFH kaže na naslednji DFH, ki se nahaja na odmiku 0x100 (DMA BBB DFH).
- Null DFH: Ta komponenta konča povezani seznam DFH. Če v zasnovo dodate več DMA BBB-jev, zagotovite, da se ničelni osnovni naslov DFH nahaja na koncu povezanega seznama DFH.
- MA Basic Building Block (BBB): ta blok premika podatke med gostiteljem in lokalnim pomnilnikom FPGA. Prav tako dostopa do pomnilnika gostitelja za dostop do verig deskriptorjev.
DMA BBB
Podsistem DMA BBB prenaša podatke od izvornih do ciljnih naslovov z uporabo transakcij Avalon-MM. Gonilnik DMA nadzoruje DMA BBB z dostopom do nadzornega in statusnega registra različnih komponent znotraj sistema. Gonilnik DMA nadzoruje tudi DMA BBB z uporabo skupnega pomnilnika za sporočanje deskriptorjev prenosa. DMA BBB dostopa do podatkov v pomnilniku FPGA pri odmiku 0x0. DMA BBB dostopa do podatkov in deskriptorjev v pomnilniku gostitelja pri odmiku 0x1_0000_0000_0000.
Blokovni diagram oblikovalca platforme DMA BBB
Ta blokovni diagram izključuje nekatera notranja IP jedra cevovodnega mostu.
Uporabniški priročnik za funkcionalno enoto pospeševalnika DMA: programabilna pospeševalna kartica Intel FPGA D5005
Opis DMA AFU
Komponente v DMA BBB Platform Designer izvajajo naslednje funkcije:
- Daljni most/most cevovoda: Cevovodni most z nastavljivo zakasnitvijo je vključen za nadzor topologije in izboljšanje zasnove Fmax.
- MA BBB DFH: To je glava funkcije naprave za DMA BBB. Ta DFH kaže na naslednji DFH, ki se nahaja na odmiku 0x100 (Null DFH).
- Frontend deskriptorja: Odgovoren za pridobivanje deskriptorjev in njihov prenos dispečerju. Ko se prenos DMA zaključi, sprednji del prejme oblikovanje statusa od dispečerja in prepiše deskriptor v pomnilniku gostitelja.
- Dispečer: Ta blok razporeja zahteve za prenose DMA na glavno enoto za branje in pisanje.
- Preberi Mojstra: Ta blok je odgovoren za branje podatkov iz gostiteljskega ali lokalnega pomnilnika FPGA in pošiljanje kot pretočne podatke v Write Master.
- Napišite mojstra: Ta blok je odgovoren za sprejemanje pretočnih podatkov iz Read Master in zapisovanje vsebine v gostiteljski ali lokalni pomnilnik FPGA.
Registrirajte zemljevid in naslovne prostore
DMA AFU podpira dva pomnilnika views: DMA view in gostitelj view. DMA view podpira 49-bitni naslovni prostor. Spodnja polovica DMA view preslika v lokalni pomnilnik FPGA. Zgornja polovica DMA view preslikave v pomnilnik gostitelja. Gostitelj view vključuje vse registre, dostopne prek dostopov MMIO, kot so tabele DFH, in registre nadzora/statusa različnih jeder IP, ki se uporabljajo znotraj DMA AFU. Registri MMIO v DMA BBB in AFU podpirajo 32- in 64-bitni dostop. DMA AFU ne podpira 512-bitnih dostopov MMIO. Dostopi do dispečerskih registrov znotraj DMA BBB morajo biti 32-bitni (vmesnik deskriptorja izvaja 64-bitne registre).
Zemljevid registra DMA AFU
Zemljevid registra DMA AFU zagotavlja absolutne naslove vseh lokacij znotraj enote. Ti registri so v gostitelju view ker do njih lahko dostopa samo gostitelj.
Zemljevid pomnilnika DMA AFU
Odmiki bajtnega naslova | Ime | Razpon v bajtih | Opis |
0x0 | DMA AFU DFH | 0x40 | Glava funkcije naprave za DMA AFU. ID_L je nastavljen na 0x9081f88b8f655caa, ID_H pa na 0x331db30c988541ea. DMA AFU DFH je bil parametriran tako, da kaže na odmik 0x100 za iskanje naslednjega DFH (DMA BBB DFH). Osnovnega naslova DMA AFU DFH ne smete spreminjati, ker se mora nahajati na naslovu 0x0, kot je opredeljeno v specifikaciji CCIP. |
0x100 | DMA BBB | 0x100 | Podaja nadzor DMA BBB in vmesnik statusnega registra. Za več informacij si lahko ogledate zemljevid registra DMA BBB. Znotraj DMA BBB pri odmiku 0 vključuje DMA BBB svoj lastni DFH. Ta DFH je bil nastavljen za iskanje naslednjega DFH pri odmiku 0x100 (NULL DFH). Če dodate več DMA BBB, jih razmaknite 0x100 narazen in zagotovite, da NULL DFH sledi zadnjemu DMA za 0x100. |
0x200 | NIČ DFH | 0x40 | Zaključi povezani seznam DFH. ID_L je nastavljen na 0x90fe6aab12a0132f, ID_H pa na 0xda1182b1b3444e23. NULL DFH je bil parametriran kot zadnji DFH v strojni opremi. Iz tega razloga se NULL DFH nahaja na naslovu 0x200. Če sistemu dodate dodatne BBB-je DMA, morate ustrezno povečati osnovni naslov NULL DFH, tako da ostane na najvišjem naslovu. Gonilnik DMA in preskusna aplikacija ne uporabljata te strojne opreme. |
Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.
Registrirajte zemljevid in naslovne prostore
Zemljevid pomnilnika DMA BBB
Naslednji bajtni naslovi so relativni odmiki od osnovnega naslova DMA BBB v sistemu DMA AFU (0x100).
Odmiki bajtnega naslova | Ime | Razpon v bajtih | Opis |
0x0 | DMA BBB DFH | 0x40 | Glava funkcije naprave za DMA AFU. ID_L je nastavljen na 0xa9149a35bace01ea in ID_H je nastavljen na 0xef82def7f6ec40fc. DMA BBB DFH je bil parametriran tako, da kaže na 0x100 za naslednji odmik DFH. Ta naslednji odmik je lahko drug DMA BBB, drug DFH (ni vključen v to zasnovo) ali NULL DFH. |
0x40 | Dispečer | 0x40 | Nadzorna vrata za dispečerja. Gonilnik DMA uporablja to lokacijo za nadzor DMA ali poizvedovanje o njegovem stanju. |
0x80 | Deskriptor Frontend | 0x40 | Frontend deskriptorja je komponenta po meri, ki bere deskriptorje iz pomnilnika gostitelja in prepiše deskriptor, ko je prenos DMA končan. Gonilnik ukaže sprednjemu delu, kje v pomnilniku gostitelja živi prvi deskriptor, nato pa strojna oprema sprednjega dela komunicira z gonilnikom predvsem prek deskriptorjev, shranjenih v pomnilniku gostitelja. |
Naslovni prostor DMA AFU
Gostitelj lahko dostopa do registrov, navedenih v tabeli 4 na strani 12 in tabeli 5 na strani 13. Podsistem DMA BBB ima dostop do celotnega 49-bitnega naslovnega prostora. Spodnja polovica tega naslovnega prostora vključuje lokalne pomnilnike FPGA. Zgornja polovica tega naslovnega prostora vključuje 48-bitni naslovni pomnilnik gostitelja. Naslednja slika prikazuje gostitelja in DMA views spomina.
DMA AFU in Host Views spomina
Povezani seznam glave funkcij naprave
Dizajn DMA AFU exampvsebuje tri glave funkcij naprave (DFH), ki tvorijo povezan seznam. Ta povezani seznam omogoča sample aplikacija za identifikacijo DMA AFU kot tudi gonilnik za identifikacijo DMA BBB. Seznam DFH na koncu vključuje NULL DFH. Vključitev ničelnega DFH na koncu povezanega seznama vam omogoča, da svojemu dizajnu dodate več DMA BBB. Preprosto morate premakniti NULL DFH na naslov za drugimi BBB-ji. Vsak DMA BBB pričakuje, da bo naslednji DFH lociran 0x100 bajtov od osnovnega naslova BBB. Naslednja slika prikazuje povezani seznam za načrt DMA AFU example.
Registrirajte zemljevid in naslovne prostore
Veriženje glave funkcij naprave DMA AFU (DFH).
Model programiranja programske opreme
DMA AFU vključuje programski gonilnik, ki ga lahko uporabite v svoji gostiteljski aplikaciji. Fpga_dma.cpp in fpga_dma.h files, ki se nahaja na naslednjem mestu, izvaja programski gonilnik: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Ta gonilnik podpira naslednje funkcije:
API | Opis |
fpgaCountDMAChannels | Preišče verigo funkcij naprave za DMA BBB in prešteje vse razpoložljive kanale. |
fpgaDMAOpen | Odpre ročico za kanal DMA. |
fpgaDMAClose | Zapre ročico za kanal DMA. |
fpgaDMATransferInit | Inicializira objekt, ki predstavlja prenos DMA. |
fpgaDMATransferReset | Ponastavi objekt atributa prenosa DMA na privzete vrednosti. |
fpgaDMATransferDestroy | Uniči objekt atributa prenosa DMA. |
fpgaDMATransferSetSrc | Nastavi izvorni naslov prenosa. Ta naslov mora biti poravnan s 64 bajti. |
fpgaDMATransferSetDst | Nastavi ciljni naslov prenosa. Ta naslov mora biti poravnan s 64 bajti. |
fpgaDMATransferSetLen | Nastavi dolžine prenosa v bajtih. Za prenose brez paketov morate nastaviti dolžino prenosa na večkratnik 64 bajtov. Za paketne prenose to ni pogoj. |
fpgaDMATransferSetTransferType | Nastavi vrsto prenosa. Pravne vrednosti so:
• HOST_MM_TO_FPGA_MM = TX (gostitelj v AFU) • FPGA_MM_TO_HOST_MM = RX (AFU do gostitelja) |
fpgaDMATransferSetTransferCallback | Registrira povratni klic za obvestilo o zaključku asinhronega prenosa. Če določite povratni klic, se fpgaDMATransfer takoj vrne (asinhroni prenos).
Če ne določite povratnega klica, se fpgaDMATransfer vrne po končanem prenosu (sinhroni/blokirni prenos). |
fpgaDMATransferSetLast | Označuje zadnji prenos, tako da DMA lahko začne obdelovati vnaprej pridobljene prenose. Privzeta vrednost je 64 prenosov v cevovodu, preden DMA začne delati na prenosih. |
fpgaDMATransfer | Izvaja prenos DMA. |
Za več informacij o API-ju, vhodnih in izhodnih argumentih glejte glavo file nahaja $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. Druga imena in blagovne znamke se lahko zahtevajo kot last drugih.
Model programiranja programske opreme
Če želite izvedeti več o modelu uporabe gonilnika programske opreme, glejte README file ki se nahaja na $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/README.md
Teče DMA AFU Example
Preden začnete:
- Bivšega bi morali poznatiampv vodniku za hitri začetek Intel Acceleration Stack za Intel FPGA Programmable Acceleration Card D5005.
- Določiti morate spremenljivko okolja. Spremenljivka okolja je odvisna od različice Intel Acceleration Stack, ki jo uporabljate:
- Za trenutno različico nastavite spremenljivko okolja na $OPAE_PLATFORM_ROOT
- Namestiti morate knjižnico Intel Threading Building Blocks (TBB), ker se gonilnik DMA opira nanjo.
- Za zagon sample aplikacija. $ sudo sh -c “echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages”
Opravite naslednje korake, da prenesete bitni tok DMA Accelerator Function (AF), zgradite aplikacijo in gonilnik ter zaženete načrtovanje example:
- Spremenite v imenik aplikacije in gonilnika DMA: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
- Zgradite gonilnik in aplikacijo: make
- Prenesite bitni tok DMA AFU: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
- Izvedite gostiteljsko aplikacijo, da zapiše 100 MB v 1 MB delih iz pomnilnika gostitelja v pomnilnik naprave FPGA in jo prebere nazaj: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom
Povezane informacije
Priročnik za hiter začetek Intel Acceleration Stack za programljivo pospeševalno kartico Intel FPGA D5005 Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.
Sestavljanje DMA AFU Example
Če želite ustvariti okolje gradnje sinteze za prevajanje AF, uporabite ukaz afu_synth_setup kot sledi:
- Sprememba v DMA AFU sampdatotečni imenik: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Ustvarite imenik gradnje načrta: afu_synth_setup –source hw/rtl/filelist.txt build_synth
- Iz imenika sintezne gradnje, ki ga ustvari afu_synth_setup, vnesite naslednje ukaze iz okna terminala, da ustvarite AF za ciljno platformo strojne opreme: cd build_synth run.sh Skript za generiranje AF run.sh ustvari sliko AF z isto osnovo fileime kot konfiguracija platforme AFU file (.json) s pripono .gbs na lokaciji: $OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Korporacija Intel. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.
Simulacija AFU Example
Intel priporoča, da si ogledate vodnik za hiter začetek simulacijskega okolja (ASE) Intel Accelerator Functional Unit (AFU) za vaš Intel FPGA PAC, da se seznanite s simulacijo podobnih exampin nastavite svoje okolje. Preden nadaljujete z naslednjimi koraki, preverite, ali je spremenljivka okolja OPAE_PLATFORM_ROOT nastavljena na namestitveni imenik OPAE SDK. Izvedite naslednje korake za nastavitev simulatorja strojne opreme za DMA AFU:
- Sprememba v DMA AFU sampimenik datotek: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Ustvarite okolje ASE v novem imeniku in ga konfigurirajte za simulacijo AFU: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
- Spremenite v imenik gradnje ASE: cd build_ase_dir
- Zgradite gonilnik in aplikacijo: make
- Naredite simulacijo: naredite sim
Sampizhod datoteke iz simulatorja strojne opreme:
[SIM] ** POZOR: PREDEN zaženete programsko aplikacijo ** [SIM] Nastavite env(ASE_WORKDIR) v terminalu, kjer se bo izvajala aplikacija (kopiraj in prilepi) => [SIM] $SHELL | Zaženi: [SIM] ———+———————————————— [SIM] bash/zsh | izvoz 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] Za kateri koli drug $SHELL se posvetujte s skrbnikom Linuxa [SIM] [SIM] Pripravljen za simulacijo… [SIM] Pritisnite CTRL-C, da zaprete simulator…Izvedite naslednje korake za prevajanje in izvajanje programske opreme DMA AFU v simulacijskem okolju:
- Odprite novo terminalsko okno.
- Spremenite imenik v: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.
Simulacija AFU Example
- Kopirajte niz nastavitve okolja (izberite niz, ki ustreza vaši lupini) iz zgornjih korakov v simulaciji strojne opreme v okno terminala. Glej naslednje vrstice v sample izhod iz simulatorja strojne opreme. [SIM] bash/zsh | izvoz 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
- Prevedite programsko opremo: $ make USE_ASE=1
- Izvedite gostiteljsko aplikacijo za pisanje 4 KB v delih po 1 KB iz pomnilnika gostitelja nazaj v pomnilnik naprave FPGA v načinu povratne zanke: ./ fpga_dma_test -s 4096 -p 1024 -r mtom
Povezane informacije
Hitri uporabniški priročnik za simulacijsko okolje ASE (Intel Accelerator Functional Unit (AFU)).
Optimizacija za izboljšano delovanje DMA
Izvedba optimizacije NUMA (neenoten dostop do pomnilnika) v fpga_dma_test.cpp omogoča procesorju hitrejši dostop do lastnega lokalnega pomnilnika kot dostop do nelokalnega pomnilnika (lokalni pomnilnik drugega procesorja). Tipična konfiguracija NUMA je prikazana na spodnjem diagramu. Lokalni dostop predstavlja dostop od jedra do pomnilnika, lokalnega za isto jedro. Oddaljeni dostop ponazarja pot, po kateri jedro na vozlišču 0 dostopa do pomnilnika, ki se nahaja v pomnilniku, lokalnem za vozlišče 1.
Tipična konfiguracija NUMA
Za implementacijo optimizacije NUMA v testni aplikaciji uporabite naslednjo kodo:
// Nastavitev ustrezne afinitete, če je zahtevana if (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 *) & 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(res, out_destroy_tok, “fpgaPropertiesGetFunction”); // Najdi napravo iz topologije hwloc_topology_t topology; hwloc_topology_init(&topologija); hwloc_topology_set_flags(topologija, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve. *Druga imena in blagovne znamke so lahko last drugih.
Optimizacija za izboljšano delovanje DMA
hwloc_topology_load(topologija); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topologija, dom, vodilo, dev, func); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(topologija, 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 je %s\n”, str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->nodeset); printf(“NODESET je %s\n”, str);#endif if (memory_affinity) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(topologija, obj2->nodeset,HWLOC_MEMBIND_THREAD, HWLOC_MEMBIND_MIGRATE |HWLOC_MEMBIND_BYNODESET); #else retval =hwloc_set_membind_nodeset(topologija, 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(topologija, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_cpubind”); }}
Arhiv uporabniškega priročnika za funkcionalno enoto DMA Accelerator
Različica Intel Acceleration Stack | Uporabniški priročnik (PDF) |
2.0 | Uporabniški priročnik za funkcionalno enoto pospeševalnika DMA (AFU). |
Zgodovina revizij dokumenta za uporabniški priročnik funkcionalne enote DMA Accelerator
Različica dokumenta |
Intelov pospešek Različica sklada |
Spremembe |
2020.08.03 |
2.0.1 (podprto z Intel
Quartus® Prime Pro Edition Edition 19.2) |
Popravljena slika AF file ime v razdelku Sestavljanje DMA AFU Example. |
2020.04.17 |
2.0.1 (podprto z Intel
Quartus Prime Pro Edition Edition 19.2) |
Popravil izjavo v Predvideno občinstvo razdelek. |
2020.02.20 |
2.0.1 (podprto z Intel
Quartus Prime Pro Edition Edition 19.2) |
Popravljena tipkarska napaka. |
2019.11.04 |
2.0.1 (podprto z Intel Quartus Prime Pro Edition Edition 19.2) |
• Fpgaconf je bil zamenjan s fpgasupdate pri konfiguraciji FPGA s predzgrajenim AFU v razdelku Izvajanje DMA AFU Example.
• Dodan podnapis Programirljiva pospeševalna kartica Intel FPGA D5005 na naslov dokumenta. • Dodana spremenljivka okolja $OPAE_PLATFORM_ROOT. • Spremenjen razdelek Model programiranja programske opreme za manjše popravke. • Dodan nov razdelek Sestavljanje DMA AFU Example. • Spremenjen razdelek Optimizacija za izboljšano delovanje DMA za manjše popravke. |
2019.08.05 |
2.0 (podprto z Intel
Quartus Prime Pro Edition 18.1.2) |
Začetna izdaja. |
Intel Corporation. Vse pravice pridržane. Intel, logotip Intel in druge znamke Intel so blagovne znamke družbe Intel Corporation ali njenih podružnic. Intel jamči za delovanje svojih izdelkov FPGA in polprevodnikov v skladu s trenutnimi specifikacijami v skladu z Intelovo standardno garancijo, vendar si pridržuje pravico do sprememb katerega koli izdelka in storitve kadar koli brez predhodnega obvestila. Intel ne prevzema nobene odgovornosti ali obveznosti, ki izhaja iz uporabe ali uporabe katere koli informacije, izdelka ali storitve, opisanih tukaj, razen če je Intel izrecno pisno privolil v to. Intelovim strankam svetujemo, da pridobijo najnovejšo različico specifikacij naprave, preden se zanesejo na kakršne koli objavljene informacije in preden oddajo naročila za izdelke ali storitve.
- Druga imena in blagovne znamke se lahko zahtevajo kot last drugih.
Dokumenti / Viri
![]() |
Programirljiva pospeševalna kartica Intel FPGA D5005 [pdf] Uporabniški priročnik FPGA programabilna pospeševalna kartica, D5005, FPGA programabilna pospeševalna kartica D5005, funkcijska enota pospeševalnika DMA |