Intel logotips

Intel FPGA programmējamā paātrinājuma karte D5005

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

Par šo dokumentu

Šajā dokumentā ir aprakstīta tiešās atmiņas piekļuves (DMA) paātrinātāja funkcionālās vienības (AFU) ieviešana un tas, kā izveidot dizainu, lai tas darbotos ar aparatūru vai simulāciju.

Paredzētā auditorija

Paredzētā auditorija ir aparatūras vai programmatūras izstrādātāji, kuriem nepieciešama paātrinātāja funkcija (AF), lai lokāli buferētu datus atmiņā, kas savienota ar Intel FPGA ierīci.

konvencijas

Dokumentu konvencijas

konvencija Apraksts
# Pirms komandas, kas norāda, ka komanda ir jāievada kā root.
$ Norāda, ka komanda ir jāievada kā lietotājam.
Šis fonts Filenosaukumi, komandas un atslēgvārdi tiek drukāti ar šo fontu. Šajā fontā tiek drukātas garas komandrindas. Lai gan garas komandrindas var pāriet uz nākamo rindu, atgriešana nav komandas daļa; nespiediet enter.
Norāda, ka viettura teksts, kas parādās starp leņķa iekavām, ir jāaizstāj ar atbilstošu vērtību. Neievadiet leņķa iekavās.

Akronīmi

Akronīmi

Akronīmi Paplašināšanās Apraksts
AF Akseleratora funkcija Kompilēts aparatūras paātrinātāja attēls, kas ieviests FPGA loģikā, kas paātrina lietojumprogrammu.
AFU Akseleratora funkcionālā vienība Aparatūras paātrinātājs, kas ieviests FPGA loģikā, kas no CPU izlādē lietojumprogrammas skaitļošanas darbību, lai uzlabotu veiktspēju.
API Lietojumprogrammu interfeiss Apakšprogrammu definīciju, protokolu un rīku komplekts programmatūras lietojumprogrammu veidošanai.
CCI-P Galvenā kešatmiņas saskarne CCI-P ir standarta interfeisa AFU, ko izmanto, lai sazinātos ar resursdatoru.
DFH Ierīces funkcijas galvene Izveido saistītu līdzekļu galveņu sarakstu, lai nodrošinātu paplašināmu veidu līdzekļu pievienošanai.
turpinājums…

Intel korporācija. Visas tiesības aizsargātas. Intel, Intel logotips un citas Intel preču zīmes ir Intel Corporation vai tās meitasuzņēmumu preču zīmes. Intel garantē savu FPGA un pusvadītāju produktu veiktspēju atbilstoši pašreizējām specifikācijām saskaņā ar Intel standarta garantiju, taču patur tiesības jebkurā laikā bez brīdinājuma veikt izmaiņas jebkuros produktos un pakalpojumos. Intel neuzņemas nekādu atbildību vai saistības, kas izriet no jebkādas šeit aprakstītās informācijas, produkta vai pakalpojuma lietojuma vai izmantošanas, izņemot gadījumus, kad Intel ir nepārprotami rakstiski piekritis. Intel klientiem ir ieteicams iegūt jaunāko ierīces specifikāciju versiju, pirms paļauties uz jebkādu publicētu informāciju un pirms preču vai pakalpojumu pasūtījumu veikšanas. *Citi nosaukumi un zīmoli var tikt uzskatīti par citu personu īpašumiem.

Akronīmi Paplašināšanās Apraksts
FIM FPGA interfeisa pārvaldnieks FPGA aparatūra, kas satur FPGA interfeisa bloku (FIU) un ārējās saskarnes atmiņai, tīkla izveidei utt.

Akseleratora funkcija (AF) darbojas saskarnē ar FIM.

FIU FPGA interfeisa vienība FIU ir platformas saskarnes slānis, kas darbojas kā tilts starp platformas saskarnēm, piemēram, PCIe*, UPI un AFU puses saskarnēm, piemēram, CCI-P.
MPF Atmiņas īpašību rūpnīca MPF ir pamata veidošanas bloks (BBB), ko AFU var izmantot, lai nodrošinātu CCI-P trafika veidošanas darbības darījumiem ar FIU.

Paātrinājuma vārdnīca

Paātrinājuma kaudze Intel® Xeon® CPU ar FPGA Glosārijs

Termiņš Saīsinājums Apraksts
Intel® Acceleration Stack Intel Xeon® CPU ar FPGA Paātrinājuma kaudze Programmatūras, programmaparatūras un rīku kolekcija, kas nodrošina veiktspējai optimizētu savienojumu starp Intel FPGA un Intel Xeon procesoru.
Intel FPGA programmējamā paātrinājuma karte Intel FPGA PAC PCIe FPGA akseleratora karte.

Satur FPGA interfeisa pārvaldnieku (FIM), kas savienojas pārī ar Intel Xeon procesoru, izmantojot PCIe kopni.

  • DMA akseleratora funkcionālās vienības lietotāja rokasgrāmata: Intel FPGA programmējamā paātrinājuma karte D5005

DMA AFU apraksts

Ievads

Tiešās atmiņas piekļuves (DMA) AFU example parāda, kā pārvaldīt atmiņas pārsūtīšanu starp resursdatora procesoru un FPGA. Varat integrēt DMA AFU savā dizainā, lai pārvietotu datus starp resursdatora atmiņu un FPGA lokālo atmiņu. DMA AFU ietver šādus apakšmoduļus:

  • Atmiņas īpašību rūpnīcas (MPF) pamata celtniecības bloks (BBB)
  • Galvenās kešatmiņas interfeiss (CCI-P) ar Avalon® atmiņas kartējumu (Avalon-MM) adapteri
  • DMA testa sistēma, kas satur DMA BBB

Šie apakšmoduļi ir sīkāk aprakstīti tālāk esošajā tēmā DMA AFU aparatūras komponenti.

Saistītā informācija

  • DMA AFU aparatūras komponenti 6. lpp
  • Avalon interfeisa specifikācijas

Lai iegūtu papildinformāciju par Avalon-MM protokolu, tostarp lasīšanas un rakstīšanas transakciju laika diagrammām.

DMA AFU programmatūras pakotne

Intel Acceleration Stack Intel Xeon CPU ar FPGA pakotni file (*.tar.gz), ietver DMA AFU example. Šis bijušaisample nodrošina lietotāja vietas draiveri. Resursdatora lietojumprogramma izmanto šo draiveri, lai DMA pārvietotu datus starp resursdatora un FPGA atmiņu. Aparatūras binārie faili, avoti un lietotāja vietas draiveris ir pieejami šādā direktorijā: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . Pirms eksperimentēt ar DMA AFU, jāinstalē Open Programmable Acceleration Engine (OPAE) programmatūras pakotne. Instalēšanas norādījumus skatiet Intel Acceleration Stack īsajā lietošanas pamācībā Intel FPGA programmējamai paātrinājuma kartei D5005. Šajā Īsajā lietošanas pamācībā ir iekļauta arī pamatinformācija par atvērto programmējamo paātrinājuma dzinēju (OPAE) un AFU konfigurēšanu. Pēc Open Programmable Acceleration Engine (OPAE) programmatūras pakotnes instalēšanas, kāampresursdatora lietojumprogramma un DMA AFU lietotāja vietas draiveris ir pieejami šādā direktorijā: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. Lai palaistu sampresursdatora lietojumprogrammu, fpga_dma_test savā Intel FPGA PAC D5005 aparatūrā, skatiet darbības sadaļā DMA AFU Ex palaišana.ample. Intel korporācija. Visas tiesības aizsargātas. Intel, Intel logotips un citas Intel preču zīmes ir Intel Corporation vai tās meitasuzņēmumu preču zīmes. Intel garantē savu FPGA un pusvadītāju produktu veiktspēju atbilstoši pašreizējām specifikācijām saskaņā ar Intel standarta garantiju, taču patur tiesības jebkurā laikā bez brīdinājuma veikt izmaiņas jebkuros produktos un pakalpojumos. Intel neuzņemas nekādu atbildību vai saistības, kas izriet no jebkādas šeit aprakstītās informācijas, produkta vai pakalpojuma lietojuma vai izmantošanas, izņemot gadījumus, kad Intel ir nepārprotami rakstiski piekritis. Intel klientiem ieteicams iegūt jaunāko ierīces specifikāciju versiju, pirms paļauties uz jebkādu publicētu informāciju un pirms preču vai pakalpojumu pasūtījumu veikšanas. *Citi nosaukumi un zīmoli var tikt uzskatīti par citu personu īpašumiem.

Saistītā informācija

  • Intel Acceleration Stack Īsā lietošanas pamācība Intel FPGA programmējamai paātrinājuma kartei D5005
  • OPAE programmatūras pakotnes instalēšana

DMA AFU aparatūras komponenti

DMA AFU saskaras ar FPGA interfeisa bloku (FIU) un FPGA atmiņu. Detalizētas FPGA atmiņas specifikācijas skatiet Intel FPGA programmējamās paātrinājuma kartes D5005 FPGA interfeisa pārvaldnieka datu lapā. Pašlaik pieejamā aparatūra nosaka šo atmiņas konfigurāciju. Nākotnes aparatūra var atbalstīt dažādas atmiņas konfigurācijas. Varat izmantot DMA AFU, lai kopētu datus starp tālāk norādītajām avota un galamērķa vietām.

  • No saimniekdatora uz ierīci FPGA atmiņa
  • Ierīces FPGA atmiņa uz saimniekdatoru

Platformas izstrādātāja sistēma, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys ievieš lielāko daļu DMA

  • AFU. Daļa no Platform Designer sistēmā ieviestās DMA AFU ir atrodama tālāk

atrašanās vieta: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ Jūs varat atrast DMA BBB šādā vietā:

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

DMA akseleratora funkcionālās vienības lietotāja rokasgrāmata: Intel FPGA programmējamā paātrinājuma karte D5005

DMA AFU aparatūras blokshēma

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

DMA AFU ietver šādus iekšējos moduļus saskarnei ar FPGA interfeisa bloku (FIU):

  • Atmiņas kartējuma IO (MMIO) dekodētāja loģika: nosaka MMIO lasīšanas un rakstīšanas transakcijas un atdala tos no CCI-P RX kanāla 0, no kura tie nāk. Tas nodrošina, ka MMIO trafiks nekad nesasniedz MPF BBB un to apkalpo neatkarīgs MMIO komandu kanāls.
  • Atmiņas rekvizītu rūpnīca (MPF): šis modulis nodrošina, ka nolasītās atbildes no DMA tiek atgrieztas tādā secībā, kādā tās tika izdotas. Avalon-MM protokolam ir nepieciešamas lasīšanas atbildes, lai tās atgrieztos pareizajā secībā.
  • CCI-P uz Avalon-MM adapteri: šis modulis pārvērš starp CCI-P un Avalon-MM transakcijām šādi:
  • CCI-P uz Avalon-MMIO adapteri: šis ceļš pārveido CCI-P MMIO transakcijas par Avalon-MM transakcijām.
  • Avalon uz CCI-P resursdatora adapteri: šie ceļi izveido atsevišķus tikai lasīšanas un rakstīšanas ceļus, lai DMA piekļūtu resursdatora atmiņai.
  • DMA testa sistēma: šis modulis kalpo kā aptinums ap DMA BBB, lai DMA meistarus pakļautu pārējai AFU loģikai. Tas nodrošina saskarni starp DMA BBB un CCI-P uz Avalon adapteri. Tas arī nodrošina saskarni starp DMA BBB un vietējām FPGA SDRAM bankām.

Saistītā informācija
FPGA interfeisa pārvaldnieka datu lapa Intel FPGA programmējamai paātrinājuma kartei D5005

DMA pārbaudes sistēma

DMA pārbaudes sistēma savieno DMA BBB ar pārējo FPGA dizainu, ieskaitot CCI-P adaptāciju un vietējo FPGA atmiņu.

DMA pārbaudes sistēmas blokshēma
Šī blokshēma parāda DMA pārbaudes sistēmas iekšējos elementus. DMA pārbaudes sistēma ir parādīta kā monolīts bloks 1. attēlā 7. lpp.Intel.-FPGA-Programmable-Acceleration-Card-D5005-fig-2

DMA pārbaudes sistēma ietver šādus iekšējos moduļus:

  • Tāls sasniedzamības tilts/cauruļvada tilts: cauruļvada tilts ar regulējamu latentumu, kas iekļauts, lai kontrolētu topoloģiju un uzlabotu Fmax.
  • DMA AFU ierīces funkcijas galvene (DFH): šī ir DMA AFU DFH. Šis DFH norāda uz nākamo DFH, kas atrodas nobīdē 0x100 (DMA BBB DFH).
  • Null DFH: šis komponents pārtrauc DFH saistīto sarakstu. Ja dizainam pievienojat vairāk DMA BBB, pārliecinieties, ka nulles DFH bāzes adrese atrodas DFH saistīto saraksta beigās.
  • MA pamata veidošanas bloks (BBB): šis bloks pārvieto datus starp resursdatoru un vietējo FPGA atmiņu. Tas arī piekļūst resursdatora atmiņai, lai piekļūtu deskriptoru ķēdēm.

DMA BBB

DMA BBB apakšsistēma pārsūta datus no avota uz galamērķa adresēm, izmantojot Avalon-MM darījumus. DMA draiveris kontrolē DMA BBB, piekļūstot dažādu sistēmas komponentu vadības un statusa reģistram. DMA draiveris arī kontrolē DMA BBB, izmantojot koplietojamo atmiņu, lai paziņotu pārsūtīšanas deskriptorus. DMA BBB piekļūst datiem FPGA atmiņā ar nobīdi 0x0. DMA BBB piekļūst datiem un deskriptoriem resursdatora atmiņā ar nobīdi 0x1_0000_0000_0000.

DMA BBB platformas dizainera blokshēma
Šajā blokshēmā nav iekļauti daži iekšējie Pipeline Bridge IP kodoli.Intel.-FPGA-Programmable-Acceleration-Card-D5005-fig-6

DMA akseleratora funkcionālās vienības lietotāja rokasgrāmata: Intel FPGA programmējamā paātrinājuma karte D5005

DMA AFU apraksts

DMA BBB Platform Designer komponenti īsteno šādas funkcijas:

  • Far Reach tilts/cauruļvada tilts: Iekļauts cauruļvada tilts ar regulējamu latentumu, lai kontrolētu topoloģiju un uzlabotu Fmax dizainu.
  • MA BBB DFH: Šī ir DMA BBB ierīces funkcijas galvene. Šis DFH norāda uz nākamo DFH, kas atrodas nobīdē 0x100 (nulle DFH).
  • Deskriptora priekšgals: Atbildīgs par deskriptoru iegūšanu un nodošanu dispečeram. Kad DMA pārsūtīšana ir pabeigta, priekšgals saņem statusa veidošanu no dispečera un pārraksta deskriptoru resursdatora atmiņā.
  • Dispečers: Šis bloks ieplāno DMA pārsūtīšanas pieprasījumus uz lasīšanas un rakstīšanas galveno.
  • Lasīt meistaru: Šis bloks ir atbildīgs par datu nolasīšanu no resursdatora vai vietējās FPGA atmiņas un to kā straumēšanas datu nosūtīšanu uz Write Master.
  • Rakstīt meistars: Šis bloks ir atbildīgs par straumēšanas datu saņemšanu no Read Master un satura ierakstīšanu resursdatora vai vietējā FPGA atmiņā.

Reģistrēt kartes un adrešu telpas

DMA AFU atbalsta divas atmiņas views: DMA view un saimnieks view. DMA view atbalsta 49 bitu adrešu telpu. DMA apakšējā puse view kartes uz vietējo FPGA atmiņu. DMA augšējā puse view kartes mitinātāja atmiņai. Vadītājs view ietver visus reģistrus, kas pieejami, izmantojot MMIO piekļuves, piemēram, DFH tabulas, un dažādu IP kodolu vadības/statusa reģistrus, ko izmanto DMA AFU. MMIO reģistri DMA BBB un AFU atbalsta 32 un 64 bitu piekļuvi. DMA AFU neatbalsta 512 bitu MMIO piekļuvi. Piekļuvei Dispečeru reģistriem DMA BBB iekšienē ir jābūt 32 bitiem (Descriptor frontend īsteno 64 bitu reģistrus).

DMA AFU Reģistrācijas karte

DMA AFU reģistra karte nodrošina visu vienības atrašanās vietu absolūtās adreses. Šie reģistri atrodas saimniekdatorā view jo tiem var piekļūt tikai saimniekdators.

DMA AFU atmiņas karte

Baitu adrešu nobīdes Vārds Apjoms baitos Apraksts
0x0 DMA AFU DFH 0x40 Ierīces funkcijas galvene DMA AFU. ID_L ir iestatīts uz 0x9081f88b8f655caa un ID_H ir iestatīts uz 0x331db30c988541ea. DMA AFU DFH ir parametrizēts, lai norādītu uz nobīdi 0x100, lai atrastu nākamo DFH (DMA BBB DFH). Jūs nedrīkstat modificēt DMA AFU DFH bāzes adresi, jo tai ir jāatrodas adresē 0x0, kā noteikts CCIP specifikācijā.
0x100 DMA BBB 0x100 Norāda DMA BBB vadības un statusa reģistra saskarni. Papildinformāciju varat skatīt DMA BBB reģistra kartē. DMA BBB ietvaros ar nobīdi 0 DMA BBB ietver savu DFH. Šis DFH ir iestatīts, lai atrastu nākamo DFH ar nobīdi 0x100 (NULL DFH). Ja pievienojat vairāk DMA BBB, novietojiet tos 0x100 attālumā viens no otra un pārliecinieties, ka NULL DFH seko pēdējam DMA par 0x100.
0x200 NULL DFH 0x40 Pārtrauc DFH saistīto sarakstu. ID_L ir iestatīts uz 0x90fe6aab12a0132f un ID_H ir iestatīts uz 0xda1182b1b3444e23. NULL DFH ir parametrizēts, lai tas būtu pēdējais DFH aparatūrā. Šī iemesla dēļ NULL DFH atrodas adresē 0x200. Ja sistēmai pievienojat papildu DMA BBB, jums attiecīgi jāpalielina NULL DFH bāzes adrese, lai tā paliktu visaugstākajā adresē. DMA draiveris un testa lietojumprogramma neizmanto šo aparatūru.

Intel korporācija. Visas tiesības aizsargātas. Intel, Intel logotips un citas Intel preču zīmes ir Intel Corporation vai tās meitasuzņēmumu preču zīmes. Intel garantē savu FPGA un pusvadītāju produktu veiktspēju atbilstoši pašreizējām specifikācijām saskaņā ar Intel standarta garantiju, taču patur tiesības jebkurā laikā bez brīdinājuma veikt izmaiņas jebkuros produktos un pakalpojumos. Intel neuzņemas nekādu atbildību vai saistības, kas izriet no jebkādas šeit aprakstītās informācijas, produkta vai pakalpojuma lietojuma vai izmantošanas, izņemot gadījumus, kad Intel ir nepārprotami rakstiski piekritis. Intel klientiem ir ieteicams iegūt jaunāko ierīces specifikāciju versiju, pirms paļauties uz jebkādu publicētu informāciju un pirms preču vai pakalpojumu pasūtījumu veikšanas. *Citi nosaukumi un zīmoli var tikt uzskatīti par citu personu īpašumiem.

Reģistrēt kartes un adrešu telpas

DMA BBB atmiņas karte
Tālāk norādītās baitu adreses ir relatīvas nobīdes no DMA BBB bāzes adreses DMA AFU sistēmā (0x100).

Baitu adrešu nobīdes Vārds Apjoms baitos Apraksts
0x0 DMA BBB DFH 0x40 Ierīces funkcijas galvene DMA AFU. ID_L ir iestatīts uz 0xa9149a35bace01ea un ID_H ir iestatīts uz 0xef82def7f6ec40fc. DMA BBB DFH ir parametrizēts, lai norādītu uz 0x100 nākamajai DFH nobīdei. Šī nākamā nobīde var būt cita DMA BBB, cita DFH (nav iekļauta šajā dizainā) vai NULL DFH.
0x40 Dispečers 0x40 Dispečera vadības ports. DMA draiveris izmanto šo atrašanās vietu, lai kontrolētu DMA vai pieprasītu tā statusu.
0x80 Deskriptors Frontend 0x40 Deskriptora priekšgals ir pielāgots komponents, kas nolasa deskriptorus no resursdatora atmiņas un pārraksta deskriptoru, kad DMA pārsūtīšana ir pabeigta. Draiveris norāda priekšgalam, kur resursdatora atmiņā atrodas pirmais deskriptors, un pēc tam priekšgala aparatūra sazinās ar draiveri galvenokārt, izmantojot resursdatora atmiņā saglabātos deskriptorus.

DMA AFU adrešu telpa

Resursdators var piekļūt reģistriem, kas norādīti 4. tabulā 12. lappusē un 5. tabulā 13. lappusē. DMA BBB apakšsistēmai ir piekļuve pilnai 49 bitu adrešu telpai. Šīs adrešu telpas apakšējā puse ietver vietējās FPGA atmiņas. Šīs adrešu telpas augšējā puse ietver 48 bitu resursdatora adreses atmiņu. Nākamajā attēlā parādīts resursdators un DMA views atmiņas.

DMA AFU un saimniekdators Views atmiņa

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

Ierīces funkciju galvenes saistītais saraksts

DMA AFU dizains example satur trīs ierīces funkciju galvenes (DFH), kas veido saistīto sarakstu. Šis saistītais saraksts ļauj samplietojumprogramma, lai identificētu DMA AFU, kā arī draiveri, lai identificētu DMA BBB. DFH saraksta beigās ir iekļauts NULL DFH. Nulles DFH iekļaušana saistītā saraksta beigās ļauj savam dizainam pievienot vairāk DMA BBB. Jums vienkārši jāpārvieto NULL DFH uz adresi pēc citiem BBB. Katrs DMA BBB paredz, ka nākamais DFH atrodas 0 x 100 baitu attālumā no BBB bāzes adreses. Nākamajā attēlā ir attēlots DMA AFU dizaina, piemēram, saistīto sarakstu sarakstsample.

Reģistrēt kartes un adrešu telpas

DMA AFU ierīces funkciju galvenes (DFH) ķēde

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

Programmatūras programmēšanas modelis

DMA AFU ietver programmatūras draiveri, ko varat izmantot savā resursdatora lietojumprogrammā. Faili fpga_dma.cpp un fpga_dma.h files atrodas šādā vietā, ievieš programmatūras draiveri: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Šis draiveris atbalsta šādas funkcijas:

API Apraksts
fpgaCountDMAChannels Skenē ierīces funkciju ķēdi, lai atrastu DMA BBB, un saskaita visus pieejamos kanālus.
fpgaDMAOpen Atver DMA kanāla rokturi.
fpgaDMACaizvērt Aizver DMA kanāla rokturi.
fpgaDMATransferInit Inicializē objektu, kas attēlo DMA pārsūtīšanu.
fpgaDMATransferReset Atiestata DMA pārsūtīšanas atribūta objekta noklusējuma vērtības.
fpgaDMATransferDestroy Iznīcina DMA pārsūtīšanas atribūta objektu.
fpgaDMATransferSetSrc Iestata pārsūtīšanas avota adresi. Šai adresei jābūt līdzinātai ar 64 baitiem.
fpgaDMATransferSetDst Iestata pārsūtīšanas galamērķa adresi. Šai adresei jābūt līdzinātai ar 64 baitiem.
fpgaDMATransferSetLen Iestata pārsūtīšanas garumus baitos. Pārsūtīšanai bez pakešu pārsūtīšanas garums ir jāiestata uz 64 baitiem. Pakešu pārsūtīšanai tā nav obligāta prasība.
fpgaDMATransferSetTransferType Iestata pārsūtīšanas veidu. Juridiskās vērtības ir:

• HOST_MM_TO_FPGA_MM = TX (resursdators uz AFU)

• FPGA_MM_TO_HOST_MM = RX (AFU uz saimniekdatoru)

fpgaDMATransferSetTransferCallback Reģistrē atzvanīšanu, lai saņemtu paziņojumu par asinhronās pārsūtīšanas pabeigšanu. Ja norādāt atzvanīšanu, fpgaDMATransfer nekavējoties atgriežas (asinhronā pārsūtīšana).

Ja nenorādīsiet atzvanīšanu, fpgaDMATransfer atgriežas pēc pārsūtīšanas pabeigšanas (sinhronā/bloķējošā pārsūtīšana).

fpgaDMATransferSetLast Norāda pēdējo pārsūtīšanu, lai DMA varētu sākt apstrādāt iepriekš ielādētos pārsūtījumus. Noklusējuma vērtība ir 64 pārsūtījumi konveijerā, pirms DMA sāk strādāt ar pārsūtīšanu.
fpgaDMATtransfer Veic DMA pārsūtīšanu.

Lai iegūtu papildinformāciju par API, ievades un izvades argumentiem, skatiet galveni file atrodas $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel Corporation. Visas tiesības aizsargātas. Intel, Intel logotips un citas Intel preču zīmes ir Intel Corporation vai tās meitasuzņēmumu preču zīmes. Intel garantē savu FPGA un pusvadītāju produktu veiktspēju atbilstoši pašreizējām specifikācijām saskaņā ar Intel standarta garantiju, taču patur tiesības jebkurā laikā bez brīdinājuma veikt izmaiņas jebkuros produktos un pakalpojumos. Intel neuzņemas nekādu atbildību vai saistības, kas izriet no jebkādas šeit aprakstītās informācijas, produkta vai pakalpojuma lietojuma vai izmantošanas, izņemot gadījumus, kad Intel ir nepārprotami rakstiski piekritis. Intel klientiem ieteicams iegūt jaunāko ierīces specifikāciju versiju, pirms paļauties uz jebkādu publicētu informāciju un pirms preču vai pakalpojumu pasūtījumu veikšanas. Citi nosaukumi un zīmoli var tikt uzskatīti par citu personu īpašumu.

Programmatūras programmēšanas modelis

Lai uzzinātu vairāk par programmatūras draivera lietošanas modeli, skatiet README file atrodas $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/README.md

Darbojas DMA AFU Example

Pirms sākat:

  • Jums vajadzētu būt pazīstamam ar bijušoampIntel Acceleration Stack īsajā lietošanas pamācībā Intel FPGA programmējamai paātrinājuma kartei D5005.
  • Jums ir jādefinē vides mainīgais. Vides mainīgais ir atkarīgs no izmantotās Intel Acceleration Stack versijas:
    • Pašreizējai versijai iestatiet vides mainīgo uz $OPAE_PLATFORM_ROOT
  • Jums ir jāinstalē Intel Threading Building Blocks (TBB) bibliotēka, jo DMA draiveris paļaujas uz to.
  • Lai palaistu s, jums ir arī jāiestata divas lielas 1 GB lapasample pieteikumu. $ sudo sh -c “echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages”

Veiciet tālāk norādītās darbības, lai lejupielādētu DMA paātrinātāja funkcijas (AF) bitu straumi, izveidotu lietojumprogrammu un draiveri un palaistu dizainu ex.ample:

  1. Mainiet uz DMA lietojumprogrammu un draivera direktoriju: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
  2. Izveidojiet draiveri un lietojumprogrammu: make
  3. Lejupielādējiet DMA AFU bitu straumi: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
  4. Palaidiet resursdatora lietojumprogrammu, lai ierakstītu 100 MB 1 MB daļās no resursdatora atmiņas uz FPGA ierīces atmiņu un nolasītu to atpakaļ: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom

Saistītā informācija
Intel Acceleration Stack Īsā lietošanas pamācība Intel FPGA programmējamai paātrinājuma kartei D5005 Intel Corporation. Visas tiesības aizsargātas. Intel, Intel logotips un citas Intel preču zīmes ir Intel Corporation vai tās meitasuzņēmumu preču zīmes. Intel garantē savu FPGA un pusvadītāju produktu veiktspēju atbilstoši pašreizējām specifikācijām saskaņā ar Intel standarta garantiju, taču patur tiesības jebkurā laikā bez brīdinājuma veikt izmaiņas jebkuros produktos un pakalpojumos. Intel neuzņemas nekādu atbildību vai saistības, kas izriet no jebkādas šeit aprakstītās informācijas, produkta vai pakalpojuma lietojuma vai izmantošanas, izņemot gadījumus, kad Intel ir nepārprotami rakstiski piekritis. Intel klientiem ieteicams iegūt jaunāko ierīces specifikāciju versiju, pirms paļauties uz jebkādu publicētu informāciju un pirms preču vai pakalpojumu pasūtījumu veikšanas. *Citi nosaukumi un zīmoli var tikt uzskatīti par citu personu īpašumiem.

Sastādot DMA AFU Example

Lai ģenerētu sintēzes veidošanas vidi AF kompilēšanai, izmantojiet komandu afu_synth_setup šādi:

  1. Mainiet uz DMA AFU sampdirektorijā: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Ģenerējiet dizaina izveides direktoriju: afu_synth_setup –source hw/rtl/filelist.txt build_synth
  3. Sintēzes veidošanas direktorijā, ko ģenerē afu_synth_setup, ievadiet šādas komandas no termināļa loga, lai ģenerētu AF mērķa aparatūras platformai: cd build_synth run.sh Run.sh AF ģenerēšanas skripts izveido AF attēlu ar tādu pašu bāzi. filenosaukums kā AFU platformas konfigurācija file (.json) ar .gbs sufiksu atrašanās vietā: $OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel Corporation. Visas tiesības aizsargātas. Intel, Intel logotips un citas Intel preču zīmes ir Intel Corporation vai tās meitasuzņēmumu preču zīmes. Intel garantē savu FPGA un pusvadītāju produktu veiktspēju atbilstoši pašreizējām specifikācijām saskaņā ar Intel standarta garantiju, taču patur tiesības jebkurā laikā bez brīdinājuma veikt izmaiņas jebkuros produktos un pakalpojumos. Intel neuzņemas nekādu atbildību vai saistības, kas izriet no jebkādas šeit aprakstītās informācijas, produkta vai pakalpojuma lietojuma vai izmantošanas, izņemot gadījumus, kad Intel ir nepārprotami rakstiski piekritis. Intel klientiem ieteicams iegūt jaunāko ierīces specifikāciju versiju, pirms paļauties uz jebkādu publicētu informāciju un pirms preču vai pakalpojumu pasūtījumu veikšanas. *Citi nosaukumi un zīmoli var tikt uzskatīti par citu personu īpašumiem.

Imitējot AFU Example

Intel iesaka skatīt Intel Accelerator Functional Unit (AFU) simulācijas vides (ASE) īso darba sākšanas rokasgrāmatu, lai jūsu Intel FPGA PAC būtu pazīstams ar līdzīgu ex simulāciju.amples un iestatīt savu vidi. Pirms veicat tālāk norādītās darbības, pārbaudiet, vai vides mainīgais OPAE_PLATFORM_ROOT ir iestatīts uz OPAE SDK instalācijas direktoriju. Lai iestatītu aparatūras simulatoru DMA AFU, veiciet tālāk norādītās darbības.

  1. Mainiet uz DMA AFU sample direktorijā: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
  2. Izveidojiet ASE vidi jaunā direktorijā un konfigurējiet to AFU simulācijai: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
  3. Mainiet uz ASE būvēšanas direktoriju: cd build_ase_dir
  4. Izveidojiet draiveri un lietojumprogrammu: make
  5. Izveidojiet simulāciju: izveidojiet sim

Sampaparatūras simulatora izvade:

[SIM] ** UZMANĪBU: PIRMS lietojumprogrammas palaišanas ** [SIM] Iestatiet env(ASE_WORKDIR) terminālī, kurā lietojumprogramma darbosies (copy-and-paste) => [SIM] $SHELL | Palaist:[SIM] ———+————————————————— [SIM] bash/zsh | eksportēt 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] Par jebkuru citu $SHELL, sazinieties ar savu Linux administratoru [SIM] [SIM] Gatavs simulācijai… [SIM] Nospiediet CTRL-C, lai aizvērtu simulatoru...

Lai simulācijas vidē apkopotu un izpildītu DMA AFU programmatūru, veiciet šādas darbības:

  1. Atveriet jaunu termināļa logu.
  2. Mainīt direktoriju uz: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw

Intel korporācija. Visas tiesības aizsargātas. Intel, Intel logotips un citas Intel preču zīmes ir Intel Corporation vai tās meitasuzņēmumu preču zīmes. Intel garantē savu FPGA un pusvadītāju produktu veiktspēju atbilstoši pašreizējām specifikācijām saskaņā ar Intel standarta garantiju, taču patur tiesības jebkurā laikā bez brīdinājuma veikt izmaiņas jebkuros produktos un pakalpojumos. Intel neuzņemas nekādu atbildību vai saistības, kas izriet no jebkādas šeit aprakstītās informācijas, produkta vai pakalpojuma lietojuma vai izmantošanas, izņemot gadījumus, kad Intel ir nepārprotami rakstiski piekritis. Intel klientiem ir ieteicams iegūt jaunāko ierīces specifikāciju versiju, pirms paļauties uz jebkādu publicētu informāciju un pirms preču vai pakalpojumu pasūtījumu veikšanas. *Citi nosaukumi un zīmoli var tikt uzskatīti par citu personu īpašumiem.

Imitējot AFU Example

  1. Kopējiet vides iestatīšanas virkni (izvēlieties čaulai atbilstošu virkni) no iepriekš norādītajām aparatūras simulācijas darbībām termināļa logā. Skatiet šādas rindiņas sample izvade no aparatūras simulatora. [SIM] bash/zsh | eksportēt 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. Kompilējiet programmatūru: $ make USE_ASE=1
  3. Palaidiet resursdatora lietojumprogrammu, lai no resursdatora atmiņas rakstītu 4 KB 1 KB daļās atpakaļ uz FPGA ierīces atmiņu cilpas režīmā: ./ fpga_dma_test -s 4096 -p 1024 -r mtom

Saistītā informācija
Intel Accelerator Functional Unit (AFU) simulācijas vides (ASE) īsā lietošanas pamācība

Optimizācija uzlabotai DMA veiktspējai

NUMA (nevienotās atmiņas piekļuves) optimizācijas ieviešana fpga_dma_test.cpp ļauj procesoram piekļūt savai vietējai atmiņai ātrāk nekā nelokālajai atmiņai (citam procesoram lokālajai atmiņai). Tipiska NUMA konfigurācija ir parādīta zemāk esošajā diagrammā. Vietējā piekļuve apzīmē piekļuvi no kodola uz atmiņu, kas ir lokāla uz to pašu kodolu. Attālā piekļuve ilustrē ceļu, kas paiets, kad 0. mezgla kodols piekļūst atmiņai, kas atrodas 1. mezgla lokālajā atmiņā.

Tipiska NUMA konfigurācija

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

Izmantojiet šo kodu, lai ieviestu NUMA optimizāciju savā testa lietojumprogrammā:

// Iestatiet pareizu afinitāti, ja tas tiek pieprasīts if (cpu_affinity || memory_affinity) {unsigned dom = 0, kopne = 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,Properties"TOFRETTOPPER" // Atrodiet ierīci no topoloģijas hwloc_topology_t topoloģijas; hwloc_topology_init(&topoloģija); hwloc_topology_set_flags(topoloģija, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel Corporation. Visas tiesības aizsargātas. Intel, Intel logotips un citas Intel preču zīmes ir Intel Corporation vai tās meitasuzņēmumu preču zīmes. Intel garantē savu FPGA un pusvadītāju produktu darbību atbilstoši pašreizējām specifikācijām saskaņā ar Intel standarta garantiju, taču patur tiesības jebkurā laikā bez brīdinājuma veikt izmaiņas jebkurā izstrādājumā un pakalpojumos. Intel neuzņemas nekādu atbildību vai saistības, kas izriet no jebkādas šeit aprakstītās informācijas, produkta vai pakalpojuma lietojuma vai izmantošanas, izņemot gadījumus, kad Intel ir nepārprotami rakstiski piekritis. Intel klientiem ieteicams iegūt jaunāko ierīces specifikāciju versiju, pirms paļauties uz jebkādu publicētu informāciju un pirms preču vai pakalpojumu pasūtījumu veikšanas. *Citi nosaukumi un zīmoli var tikt uzskatīti par citu personu īpašumiem.

Optimizācija uzlabotai DMA veiktspējai

hwloc_topology_load(topoloģija); hwloc_obj_t obj = hwloc_get_pcidev_by_busid(topoloģija, dom, kopne, dev, funkcija); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj(topoloģija, 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 ir %s\n”, str); hwloc_bitmap_taskset_snprintf(str, 4096, obj2->nodeset); printf(“NODESET ir %s\n”, str);#endif if (atmiņas_piederība) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(topoloģija, obj2->mezglkopa,HWLOC_MEMBIND_THREAD, HWLOC_MEMBIND_THREAD, HWINDYBLODEMEMBH | #else retval =hwloc_set_membind_nodeset(topoloģija, obj2->mezglu kopa, HWLOC_MEMBIND_THREAD,HWLOC_MEMBIND_MIGRATE); #endifON_ERR_GOTO(retval, out_destroy_tok, "hwloc_set_membind"); } if (cpu_affinity) { retval = hwloc_set_cpubind(topoloģija, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, "hwloc_set_cpubind"); } }

DMA Accelerator Functional Unit User Guide Archives

Intel Acceleration Stack versija Lietotāja rokasgrāmata (PDF)
2.0 DMA akseleratora funkcionālās vienības (AFU) lietotāja rokasgrāmata

DMA paātrinātāja funkcionālās vienības lietotāja rokasgrāmatas dokumentu pārskatīšanas vēsture

 

Dokumenta versija

Intel paātrinājums Stack versija  

Izmaiņas

 

 

2020.08.03

2.0.1 (atbalsta ar Intel

Quartus® Prime Pro Edition 19.2)

 

Izlabots AF attēls file nosaukums sadaļā Sastādot DMA AFU Example.

 

 

2020.04.17

2.0.1 (atbalsta ar Intel

Quartus Prime Pro Edition 19.2)

 

 

Labots paziņojums iekšā Paredzētā auditorija sadaļā.

 

 

2020.02.20

2.0.1 (atbalsta ar Intel

Quartus Prime Pro Edition 19.2)

 

 

Izlabota drukas kļūda.

 

 

 

 

2019.11.04

 

 

2.0.1 (atbalsta ar Intel

Quartus Prime Pro Edition 19.2)

• Nomainīja fpgaconf ar fpgasupdate, konfigurējot FPGA ar iepriekš izveidoto AFU sadaļā Palaižot DMA AFU Example.

• Pievienoti subtitri Intel FPGA programmējamā paātrinājuma karte D5005 uz dokumenta nosaukumu.

• Pievienots vides mainīgais $OPAE_PLATFORM_ROOT.

• Modificēta sadaļa Programmatūras programmēšanas modelis nelieliem labojumiem.

• Pievienota jauna sadaļa Sastādot DMA AFU Example.

• Modificēta sadaļa Optimizācija uzlabotai DMA veiktspējai nelieliem labojumiem.

 

 

2019.08.05

2.0 (atbalsta ar Intel

Quartus Prime Pro Edition 18.1.2)

 

 

Sākotnējā izlaišana.

Intel korporācija. Visas tiesības aizsargātas. Intel, Intel logotips un citas Intel preču zīmes ir Intel Corporation vai tās meitasuzņēmumu preču zīmes. Intel garantē savu FPGA un pusvadītāju produktu veiktspēju atbilstoši pašreizējām specifikācijām saskaņā ar Intel standarta garantiju, taču patur tiesības jebkurā laikā bez brīdinājuma veikt izmaiņas jebkuros produktos un pakalpojumos. Intel neuzņemas nekādu atbildību vai saistības, kas izriet no jebkādas šeit aprakstītās informācijas, produkta vai pakalpojuma lietojuma vai izmantošanas, izņemot gadījumus, kad Intel ir nepārprotami rakstiski piekritis. Intel klientiem ieteicams iegūt jaunāko ierīces specifikāciju versiju, pirms paļauties uz jebkādu publicētu informāciju un pirms preču vai pakalpojumu pasūtījumu veikšanas.

  • Citi nosaukumi un zīmoli var tikt uzskatīti par citu personu īpašumu.

 

Dokumenti / Resursi

Intel FPGA programmējamā paātrinājuma karte D5005 [pdfLietotāja rokasgrāmata
FPGA programmējamā paātrinājuma karte, D5005, FPGA programmējamā paātrinājuma karte D5005, DMA akseleratora funkcionālā vienība

Atsauces

Atstājiet komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti *