Intel FPGA pwogramasyon kat akselerasyon D5005
Konsènan Dokiman sa a
Dokiman sa a dekri aplikasyon akseleratè fonksyonèl inite (AFU) akseleratè aksè memwa dirèk (DMA) ak fason pou konstwi konsepsyon pou kouri sou pyès ki nan konpitè oswa nan simulation.
Odyans ki gen entansyon
Odyans lan gen entansyon devlopè pyès ki nan konpitè oswa lojisyèl ki mande pou yon Fonksyon Accélérateur (AF) pou tampon done lokalman nan memwa ki konekte ak aparèy Intel FPGA la.
Konvansyon
Konvansyon dokiman yo
Konvansyon | Deskripsyon |
# | Anvan yon kòmandman ki endike kòmandman an dwe antre kòm rasin. |
$ | Endike yon lòd yo dwe antre kòm yon itilizatè. |
Polis sa a | Filenon, kòmandman, ak mo kle yo enprime nan font sa a. Liy kòmand long yo enprime nan font sa a. Malgre ke liy kòmand long yo ka vlope nan liy kap vini an, retounen nan pa fè pati kòmandman an; pa peze antre. |
Endike tèks anplasman ki parèt ant parantèz ang yo dwe ranplase ak yon valè ki apwopriye. Pa antre parantèz ang yo. |
Akwonim
Akwonim
Akwonim | Ekspansyon | Deskripsyon |
AF | Fonksyon akseleratè | Konpile imaj Accélérateur Materyèl aplike nan lojik FPGA ki akselere yon aplikasyon. |
AFU | Inite fonksyonèl akseleratè | Materyèl akseleratè aplike nan lojik FPGA ki debake yon operasyon enfòmatik pou yon aplikasyon nan CPU a amelyore pèfòmans. |
API | Entèfas pwogramasyon aplikasyon an | Yon seri definisyon souroutine, pwotokòl, ak zouti pou bati aplikasyon lojisyèl. |
CCI-P | Nwayo Cache Entèfas | CCI-P se koòdone estanda AFU yo itilize pou kominike ak lame a. |
DFH | Aparèy Feature Header | Kreye yon lis lye nan tèt karakteristik yo bay yon fason extensible pou ajoute karakteristik. |
kontinye… |
Intel Corporation. Tout dwa rezève. Intel, logo Intel ak lòt mak Intel yo se mak komèsyal Intel Corporation oswa filiales li yo. Intel garanti pèfòmans pwodwi FPGA ak semiconductor li yo selon espesifikasyon aktyèl yo an akò ak garanti estanda Intel a, men li rezève dwa pou fè chanjman nan nenpòt pwodwi ak sèvis nenpòt ki lè san avètisman. Intel pa asime okenn responsablite oswa responsablite ki soti nan aplikasyon an oswa itilizasyon nenpòt enfòmasyon, pwodwi oswa sèvis ki dekri la a eksepte si Intel te dakò ekspreseman alekri. Yo konseye kliyan Intel yo pou yo jwenn dènye vèsyon espesifikasyon aparèy yo anvan yo konte sou nenpòt enfòmasyon ki pibliye epi anvan yo pase lòd pou pwodwi oswa sèvis yo. *Yo ka reklame lòt non ak mak kòm pwopriyete lòt moun.
Akwonim | Ekspansyon | Deskripsyon |
FIM | Manadjè entèfas FPGA | Pyès ki nan konpitè FPGA ki genyen Inite Entèfas FPGA (FIU) ak entèfas ekstèn pou memwa, rezo, elatriye.
Fonksyon akseleratè a (AF) koòdone ak FIM nan tan kouri. |
FIU | Inite entèfas FPGA | FIU se yon kouch koòdone platfòm ki aji kòm yon pon ant koòdone platfòm tankou PCIe *, UPI ak koòdone AFU-bò tankou CCI-P. |
MPF | Faktori Pwopriyete memwa | MPF a se yon Blòk Konstriksyon Debaz (BBB) ke AFU yo ka itilize pou bay CCI-P operasyon fòm trafik pou tranzaksyon ak FIU a. |
Glosè akselerasyon
Pile akselerasyon pou CPU Intel® Xeon® ak Glosè FPGAs
Tèm | Abreviyasyon | Deskripsyon |
Pile akselerasyon Intel® pou CPU Intel Xeon® ak FPGA | Pile akselerasyon | Yon koleksyon lojisyèl, firmwèr, ak zouti ki bay koneksyon optimize pèfòmans ant yon Intel FPGA ak yon processeur Intel Xeon. |
Intel FPGA pwogramasyon kat akselerasyon | Intel FPGA PAC | PCIe FPGA kat akseleratè.
Gen yon Manadjè Entèfas FPGA (FIM) ki asosye ak yon processeur Intel Xeon sou otobis PCIe la. |
- Gid Itilizatè Inite Fonksyonèl DMA Akseleratè: Intel FPGA Pwogram Akselerasyon Kat D5005
Deskripsyon DMA AFU
Entwodiksyon
Aksè memwa dirèk (DMA) AFU example montre kijan pou jere transfè memwa ant processeur lame a ak FPGA la. Ou ka entegre DMA AFU a nan konsepsyon ou pou deplase done ant memwa lame a ak memwa lokal FPGA la. DMA AFU a gen ladann submodil sa yo:
- Memory Properties Factory (MPF) Blòk Konstriksyon debaz (BBB)
- Nwayo Cache Entèfas (CCI-P) nan adaptè Avalon® Memory-Mapped (Avalon-MM)
- Sistèm tès DMA ki gen DMA BBB la
Soumodil sa yo dekri an plis detay nan sijè konpozan pyès ki nan konpitè DMA AFU ki anba a.
Enfòmasyon ki gen rapò
- Eleman Materyèl DMA AFU yo nan paj 6
- Espesifikasyon entèfas Avalon
Pou plis enfòmasyon sou pwotokòl Avalon-MM, ki gen ladan dyagram distribisyon pou tranzaksyon li ak ekri.
Pake lojisyèl DMA AFU a
Pile akselerasyon Intel pou CPU Intel Xeon ak pake FPGA file (*.tar.gz), gen ladann DMA AFU example. Ansyen sa aample bay yon chofè espas itilizatè. Aplikasyon lame a sèvi ak chofè sa a pou DMA a deplase done ant lame ak memwa FPGA. Binè pyès ki nan konpitè, sous, ak chofè espas itilizatè yo disponib nan anyè sa a: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu . Anvan ou fè eksperyans ak DMA AFU a, ou dwe enstale pake lojisyèl Open Programable Acceleration Engine (OPAE). Al gade nan Enstale Pake lojisyèl OPAE nan Intel Acceleration Stack Quick Start Guide for Intel FPGA Programable Acceleration Card D5005 pou jwenn enstriksyon sou enstalasyon. Gid Quick Start sa a gen ladan tou enfòmasyon debaz sou Open Programmable Acceleration Engine (OPAE) ak konfigirasyon yon AFU. Apre enstale pakè lojisyèl Open Programable Acceleration Engine (OPAE), kòmampaplikasyon lame ak chofè espas itilizatè DMA AFU disponib nan anyè sa a: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw. Pou kouri sampaplikasyon lame a, fpga_dma_test sou pyès ki nan konpitè Intel FPGA PAC D5005 ou, al gade nan etap sa yo nan seksyon Kouri DMA AFU Ex la.ample. Intel Corporation. Tout dwa rezève. Intel, logo Intel ak lòt mak Intel yo se mak komèsyal Intel Corporation oswa filiales li yo. Intel garanti pèfòmans pwodwi FPGA ak semi-conducteurs li yo selon espesifikasyon aktyèl yo an akò ak garanti estanda Intel a, men li rezève dwa pou fè chanjman nan nenpòt pwodwi ak sèvis nenpòt ki lè san avètisman. Intel pa asime okenn responsablite oswa responsablite ki soti nan aplikasyon an oswa itilizasyon nenpòt enfòmasyon, pwodwi oswa sèvis ki dekri la a eksepte si Intel te dakò ekspreseman alekri. Yo konseye kliyan Intel yo pou yo jwenn dènye vèsyon espesifikasyon aparèy yo anvan yo konte sou nenpòt enfòmasyon ki pibliye epi anvan yo pase lòd pou pwodwi oswa sèvis yo. *Yo ka reklame lòt non ak mak kòm pwopriyete lòt moun.
Enfòmasyon ki gen rapò
- Intel Acceleration Stack Quick Start Gid pou Intel FPGA pwogramasyon kat akselerasyon D5005
- Enstale pake lojisyèl OPAE
Eleman pyès ki nan konpitè DMA AFU
DMA AFU a koòdone ak Inite Entèfas FPGA (FIU) ak memwa FPGA. Ale nan Fèy Done Manadjè Entèfas FPGA pou Intel FPGA Pwogram Akselerasyon Kat D5005 pou espesifikasyon detaye memwa FPGA la. Materyèl ki disponib kounye a dikte konfigirasyon memwa sa a. Materyèl nan lavni ka sipòte konfigirasyon memwa diferan. Ou ka itilize DMA AFU pou kopye done ant kote sous ak destinasyon sa yo:
- Lame a aparèy memwa FPGA
- Aparèy FPGA memwa nan lame a
Yon sistèm Platform Designer, $OPAE_PLATFORM_ROOT/hw/samples/ dma_afu/hw/rtl/TEST_dma/ /dma_test_system.qsys aplike pi fò nan DMA la
- AFU. Ou ka jwenn yon pati nan DMA AFU ki aplike nan sistèm Platform Designer nan sa ki annapre yo
kote:$OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/TEST_dma/ Ou ka jwenn DMA BBB nan kote sa a:
- $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/hw/rtl/dma_bbb
Gid Itilizatè Inite Fonksyonèl DMA Akseleratè: Intel FPGA Pwogram Akselerasyon Kat D5005
Dyagram blòk DMA AFU Materyèl
DMA AFU a gen ladan modil entèn sa yo pou koòdone ak Inite Entèfas FPGA (FIU):
- Memory-Mapped IO (MMIO) Decoder Lojik: detekte tranzaksyon li ak ekri MMIO epi separe yo ak chanèl CCI-P RX 0 ke yo rive. Sa a asire ke trafik MMIO pa janm rive nan MPF BBB epi li se sèvis pa yon kanal endepandan kòmand MMIO.
- Memory Properties Factory (MPF): Modil sa a asire repons li nan DMA a retounen nan lòd yo te bay yo. Pwotokòl Avalon-MM mande pou repons li yo retounen nan lòd ki kòrèk la.
- Adaptè CCI-P pou Avalon-MM: Modil sa a tradwi ant tranzaksyon CCI-P ak Avalon-MM, jan sa a:
- Adaptè CCI-P pou Avalon-MMIO: Chemen sa a tradui tranzaksyon CCI-P MMIO an tranzaksyon Avalon-MM.
- Adaptè Avalon pou CCI-P Host: Chemen sa yo kreye chemen separe pou lekti sèlman ak ekri sèlman pou DMA a jwenn aksè nan memwa lame.
- Sistèm Tès DMA: Modil sa a sèvi kòm yon anbalaj alantou DMA BBB pou ekspoze mèt DMA yo nan rès la nan lojik nan AFU la. Li bay koòdone ant DMA BBB ak CCI-P pou Avalon adaptè. Li bay tou koòdone ant DMA BBB ak bank lokal FPGA SDRAM yo.
Enfòmasyon ki gen rapò
Fèy Done Manadjè Entèfas FPGA pou Intel FPGA Pwogram Akselerasyon Kat D5005
Sistèm tès DMA
Sistèm tès DMA a konekte DMA BBB a ak rès konsepsyon FPGA ki gen ladan adaptasyon CCI-P ak memwa FPGA lokal la.
Dyagram blòk sistèm tès DMA
Dyagram blòk sa a montre entèn sistèm tès DMA a. Sistèm tès DMA a montre kòm yon blòk monolitik nan Figi 1 nan paj 7 la.
Sistèm tès DMA a gen ladan modil entèn sa yo:
- Far Reach Bridge/Pipeline Bridge: Yon pon tiyo ak latansi reglabl enkli pou kontwole topoloji ak amelyore konsepsyon Fmax la.
- DMA AFU Aparèy Feature Header (DFH): Sa a se yon DFH pou DMA AFU la. DFH sa a montre pwochen DFH ki sitiye nan konpanse 0x100 (DMA BBB DFH).
- Null DFH: Eleman sa a mete fen nan lis lye DFH la. Si ou ajoute plis DMA BBB nan konsepsyon an, asire w ke adrès baz DFH nil la sitiye nan fen lis DFH ki lye a.
- MA Basic Building Block (BBB): Blòk sa a deplase done ant lame a ak memwa FPGA lokal la. Li jwenn aksè tou memwa lame pou jwenn aksè nan chenn deskriptè yo.
DMA BBB
Sou-sistèm DMA BBB a transfere done ki soti nan adrès sous ak destinasyon lè l sèvi avèk tranzaksyon Avalon-MM. Chofè DMA a kontwole DMA BBB a lè li gen aksè nan rejis kontwòl ak estati divès konpozan anndan sistèm lan. Chofè DMA a tou kontwole DMA BBB a lè l sèvi avèk memwa pataje pou kominike deskriptè transfè yo. DMA BBB a jwenn aksè nan done nan memwa FPGA nan konpanse 0x0. DMA BBB a jwenn aksè nan done ak deskriptè nan memwa lame nan konpanse 0x1_0000_0000_0000.
DMA BBB Platform Designer Blòk Dyagram
Dyagram blòk sa a ekskli kèk nwayo IP Pipeline Bridge entèn yo.
Gid Itilizatè Inite Fonksyonèl DMA Akseleratè: Intel FPGA Pwogram Akselerasyon Kat D5005
Deskripsyon DMA AFU
Konpozan yo nan DMA BBB Platform Designer aplike fonksyon sa yo:
- Pon byen lwen rive/pon tiyo: Yon pon tiyo ak latansi reglabl enkli pou kontwole topoloji ak amelyore konsepsyon Fmax la.
- MA BBB DFH: Sa a se yon header karakteristik aparèy pou DMA BBB la. DFH sa a montre pwochen DFH ki sitiye nan konpanse 0x100 (DFH Null).
- Deskriptè Frontend: Responsab pou chache deskriptè yo epi transfere yo nan Dispatcher la. Lè yon transfè DMA konplete entèfas la resevwa fòmasyon estati nan men Dispatcher la epi ranplase deskriptè a nan memwa lame a.
- Dispatcher: Blòk sa a pwograme demann transfè DMA bay Master Read and Write.
- Li Mèt: Blòk sa a responsab pou li done ki soti nan memwa lame oswa lokal FPGA epi voye li kòm done difizyon bay Write Master.
- Ekri Mèt: Blòk sa a responsab pou resevwa done difizyon nan men Read Master la epi ekri sa ki ladan l nan memwa FPGA lame oswa lokal yo.
Anrejistre Espas Kat ak Adrès yo
DMA AFU a sipòte de memwa views: DMA a view ak lame a view. DMA a view sipòte yon espas adrès 49-bit. Mwatye ki pi ba nan DMA la view kat nan memwa FPGA lokal la. Mwatye anwo DMA a view kat pou òganize memwa. Lame a view gen ladan tout rejis ki aksesib atravè aksè MMIO tankou tab DFH yo, ak rejis kontwòl/estati divès nwayo IP yo itilize andedan DMA AFU a. MMIO a anrejistre nan DMA BBB ak AFU sipòte aksè 32- ak 64-bit. DMA AFU a pa sipòte aksè MMIO 512-bit. Aksè nan rejis Dispatcher yo andedan DMA BBB a dwe 32 bits (Deskriptè frontend aplike rejis 64-bit).
DMA AFU Enskri Kat jeyografik
Kat rejis DMA AFU a bay adrès absoli tout kote ki nan inite a. Rejis sa yo nan lame a view paske se sèlman lame a ki ka jwenn aksè yo.
DMA AFU memwa kat
Byte Adrès Offsets | Non | Espansyon nan bytes | Deskripsyon |
0x0 | DMA AFU DFH | 0x40 | Tèt karakteristik aparèy pou DMA AFU la. ID_L mete sou 0x9081f88b8f655caa epi ID_H mete sou 0x331db30c988541ea. DMA AFU DFH a te paramèt pou lonje dwèt sou konpanse 0x100 pou jwenn pwochen DFH (DMA BBB DFH). Ou pa dwe modifye adrès debaz DMA AFU DFH a paske li dwe lokalize nan adrès 0x0 jan yo defini nan spesifikasyon CCIP la. |
0x100 | DMA BBB | 0x100 | Espesifye kontwòl DMA BBB ak koòdone enskri estati. Ou ka fè referans a kat enskri DMA BBB a pou plis enfòmasyon. Nan DMA BBB nan konpanse 0 DMA BBB a gen ladan l pwòp DFH. Yo mete DFH sa a pou jwenn pwochen DFH nan konpanse 0x100 (NULL DFH). Si ou ajoute plis DMA BBB, espas yo 0x100 apa epi asire DFH NULL la swiv dènye DMA a pa 0x100. |
0x200 | NULL DFH | 0x40 | Mete fen nan lis lye DFH la. ID_L mete sou 0x90fe6aab12a0132f epi ID_H mete sou 0xda1182b1b3444e23. DFH NULL la te paramèt kòm dènye DFH nan pyès ki nan konpitè. Pou rezon sa a NULL DFH sitiye nan adrès 0x200. Si ou ajoute plis DMA BBB nan sistèm nan, ou bezwen ogmante adrès baz NULL DFH kòmsadwa pou li rete nan adrès ki pi wo a. Chofè DMA ak aplikasyon tès la pa sèvi ak pyès ki nan konpitè sa a. |
Intel Corporation. Tout dwa rezève. Intel, logo Intel ak lòt mak Intel yo se mak komèsyal Intel Corporation oswa filiales li yo. Intel garanti pèfòmans pwodwi FPGA ak semiconductor li yo selon espesifikasyon aktyèl yo an akò ak garanti estanda Intel a, men li rezève dwa pou fè chanjman nan nenpòt pwodwi ak sèvis nenpòt ki lè san avètisman. Intel pa asime okenn responsablite oswa responsablite ki soti nan aplikasyon an oswa itilizasyon nenpòt enfòmasyon, pwodwi oswa sèvis ki dekri la a eksepte si Intel te dakò ekspreseman alekri. Yo konseye kliyan Intel yo pou yo jwenn dènye vèsyon espesifikasyon aparèy yo anvan yo konte sou nenpòt enfòmasyon ki pibliye epi anvan yo pase lòd pou pwodwi oswa sèvis yo. *Yo ka reklame lòt non ak mak kòm pwopriyete lòt moun.
Anrejistre Espas Kat ak Adrès yo
DMA BBB memwa kat
Adrès byte sa yo se konpanse relatif nan adrès baz DMA BBB nan sistèm DMA AFU (0x100).
Byte Adrès Offsets | Non | Espansyon nan bytes | Deskripsyon |
0x0 | DMA BBB DFH | 0x40 | Tèt karakteristik aparèy pou DMA AFU la. ID_L mete sou 0xa9149a35bace01ea epi ID_H mete sou 0xef82def7f6ec40fc. DMA BBB DFH a te paramèt pou lonje dwèt sou 0x100 pou pwochen konpanse DFH la. Pwochen konpanse sa a kapab yon lòt DMA BBB, yon lòt DFH (ki pa enkli nan konsepsyon sa a), oswa DFH NULL la. |
0x40 | Dispatcher | 0x40 | Kontwòl pò pou dispatcher la. Chofè DMA a sèvi ak kote sa a pou kontwole DMA a oswa mande estati li. |
0x80 | Deskriptè Frontend | 0x40 | Frontend deskriptè a se yon eleman koutim ki li deskriptè nan memwa lame a epi ranplase deskriptè a lè transfè DMA a fini. Chofè a bay entèfas kote premye deskriptè a rete nan memwa lame a epi answit pyès ki nan konpitè entèfas kominike ak chofè a sitou si deskriptè ki estoke nan memwa lame a. |
Espas adrès DMA AFU
Lame a kapab jwenn aksè nan rejis ki nan Tablo 4 nan paj 12 ak Tablo 5 nan paj 13. Sou-sistèm DMA BBB a gen aksè a tout espas adrès 49-bit la. Mwatye pi ba espas adrès sa a gen ladann memwa FPGA lokal yo. Mwatye anwo espas adrès sa a gen ladann memwa adrès lame 48-bit la. Figi sa a montre lame a ak DMA views nan memwa.
DMA AFU ak Host Views nan memwa
Aparèy Feature Header Linked-Lis
DMA AFU konsepsyon an ansyenample gen twa aparèy karakteristik (DFH) ki fòme yon lis lye. Lis lye sa a pèmèt s laample aplikasyon pou idantifye DMA AFU a ansanm ak chofè a pou idantifye DMA BBB a. Lis DFH a gen ladan yon DFH NULL nan fen an. Enklizyon DFH nil la nan fen lis ki lye a pèmèt ou ajoute plis DMA BBB nan konsepsyon ou. Ou senpleman bezwen deplase NULL DFH a nan yon adrès apre lòt BBB yo. Chak DMA BBB espere pwochen DFH a lokalize 0x100 octets de adrès baz BBB a. Figi sa a montre lis ki lye pou konsepsyon DMA AFU ansyen anample.
Anrejistre Espas Kat ak Adrès yo
DMA AFU Aparèy Feature Header (DFH) Chaining
Modèl pwogramasyon lojisyèl
DMA AFU a gen ladann yon chofè lojisyèl ke ou ka itilize nan aplikasyon lame pwòp ou a. Fpga_dma.cpp ak fpga_dma.h fileyo sitiye nan kote sa a aplike chofè a lojisyèl: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw Chofè sa a sipòte fonksyon sa yo:
API | Deskripsyon |
fpgaCountDMACchannels | Analize chèn karakteristik aparèy la pou DMA BBB epi konte tout chanèl ki disponib yo. |
fpgaDMAOpen | Ouvè yon manch nan chanèl DMA a. |
fpgaDMAClose | Fèmen yon manch nan kanal la DMA. |
fpgaDMATransferInit | Inisyalize yon objè ki reprezante transfè DMA a. |
fpgaDMATransferReset | Reyajiste objè atribi transfè DMA a nan valè default yo. |
fpgaDMATransferDestroy | Detwi objè atribi transfè DMA a. |
fpgaDMATransferSetSrc | Mete adrès sous transfè a. Adrès sa a dwe aliye 64 octets. |
fpgaDMATransferSetDst | Mete adrès destinasyon transfè a. Adrès sa a dwe aliye 64 octets. |
fpgaDMATransferSetLen | Mete longè transfè yo an byte. Pou transfè ki pa pake, ou dwe mete longè transfè a sou yon miltip 64 bytes. Pou transfè pake, sa a se pa yon kondisyon. |
fpgaDMATransferSetTransferType | Mete kalite transfè a. Valè legal yo se:
• HOST_MM_TO_FPGA_MM = TX (Lame pou AFU) • FPGA_MM_TO_HOST_MM = RX (AFU pou òganize) |
fpgaDMATransferSetTransferCallback | Anrejistre rapèl pou notifikasyon sou fini transfè asynchrone. Si w presize yon apèl, fpgaDMATransfer retounen imedyatman (transfè asynchrone).
Si ou pa presize yon apèl, fpgaDMATransfer retounen apre transfè a fini (transfè synchrone/bloke). |
fpgaDMATransferSetLast | Endike dènye transfè a pou DMA a ka kòmanse trete transfè prechache yo. Valè default la se 64 transfè nan tiyo a anvan DMA a kòmanse travay sou transfè yo. |
fpgaDMATransfer | Fè yon transfè DMA. |
Pou plis enfòmasyon sou agiman API, opinyon ak pwodiksyon, al gade nan tèt la file lokalize $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw/fpga_dma.hIntel Corporation. Tout dwa rezève. Intel, logo Intel ak lòt mak Intel yo se mak komèsyal Intel Corporation oswa filiales li yo. Intel garanti pèfòmans pwodwi FPGA ak semi-conducteurs li yo selon espesifikasyon aktyèl yo an akò ak garanti estanda Intel a, men li rezève dwa pou fè chanjman nan nenpòt pwodwi ak sèvis nenpòt ki lè san avètisman. Intel pa asime okenn responsablite oswa responsablite ki soti nan aplikasyon an oswa itilizasyon nenpòt enfòmasyon, pwodwi oswa sèvis ki dekri la a eksepte si Intel te dakò ekspreseman alekri. Yo konseye kliyan Intel yo pou yo jwenn dènye vèsyon espesifikasyon aparèy yo anvan yo konte sou nenpòt enfòmasyon ki pibliye epi anvan yo pase lòd pou pwodwi oswa sèvis yo. Lòt non ak mak yo ka reklame kòm pwopriyete lòt moun.
Modèl pwogramasyon lojisyèl
Pou konnen plis sou modèl itilizasyon chofè lojisyèl, al gade nan README file sitiye nan $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/README.md
Kouri DMA AFU Egzample
Anvan ou kòmanse:
- Ou ta dwe abitye ak ansyen anamples nan Intel Acceleration Stack Quick Start Guide for Intel FPGA Programable Acceleration Card D5005.
- Ou dwe defini yon varyab anviwònman. Varyab anviwònman an depann de vèsyon Intel Acceleration Stack w ap itilize a:
- Pou vèsyon aktyèl la, mete varyab anviwònman an sou $OPAE_PLATFORM_ROOT
- Ou dwe enstale bibliyotèk Intel Threading Building Blocks (TBB) depi chofè DMA a depann sou li.
- Ou dwe tou mete kanpe de 1 GB hugepages pou kouri s laample aplikasyon. $ sudo sh -c "echo 2 > /sys/kernel/mm/hugepages/hugepages-1048576kB/ nr_hugepages"
Fè etap sa yo pou telechaje DMA Accelerator Function (AF) bitstream, pou konstwi aplikasyon an ak chofè a, epi kouri konsepsyon ansyen an.ample:
- Chanje nan aplikasyon DMA ak anyè chofè: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
- Bati chofè a ak aplikasyon: fè
- Telechaje DMA AFU bitstream la: sudo fpgasupdate ../bin/dma_afu_unsigned.gbs
- Egzekite aplikasyon lame a pou ekri 100 MB nan pòsyon 1 MB soti nan memwa lame a nan memwa aparèy FPGA epi li li tounen: ./ fpga_dma_test -s 104857600 -p 1048576 -r mtom
Enfòmasyon ki gen rapò
Intel Acceleration Stack Gid demaraj rapid pou Intel FPGA pwogramasyon kat akselerasyon D5005 Intel Corporation. Tout dwa rezève. Intel, logo Intel ak lòt mak Intel yo se mak komèsyal Intel Corporation oswa filiales li yo. Intel garanti pèfòmans pwodwi FPGA ak semi-conducteurs li yo selon espesifikasyon aktyèl yo an akò ak garanti estanda Intel a, men li rezève dwa pou fè chanjman nan nenpòt pwodwi ak sèvis nenpòt ki lè san avètisman. Intel pa asime okenn responsablite oswa responsablite ki soti nan aplikasyon an oswa itilizasyon nenpòt enfòmasyon, pwodwi oswa sèvis ki dekri la a eksepte si Intel te dakò ekspreseman alekri. Yo konseye kliyan Intel yo pou yo jwenn dènye vèsyon espesifikasyon aparèy yo anvan yo konte sou nenpòt enfòmasyon ki pibliye epi anvan yo pase lòd pou pwodwi oswa sèvis yo. *Yo ka reklame lòt non ak mak kòm pwopriyete lòt moun.
Konpile DMA AFU Example
Pou jenere yon anviwònman konstriksyon sentèz pou konpile yon AF, sèvi ak lòd afu_synth_setup jan sa a:
- Chanje nan DMA AFU yoampanyè: $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Jenere anyè konsepsyon konsepsyon: afu_synth_setup –source hw/rtl/filelist.txt build_synth
- Soti nan anyè sentèz afu_synth_setup ki te pwodwi a, antre kòmandman sa yo nan yon fenèt tèminal pou jenere yon AF pou platfòm pyès ki nan konpitè sib la: cd build_synth run.sh Script jenerasyon run.sh AF la kreye imaj AF ak menm baz la. filenon kòm konfigirasyon platfòm AFU a file (.json) ak yon sifiks .gbs nan kote a: $OPAE_PLATFORM_ROOT/hw/samples/build_synth/dma_afu_s10.gbs Intel Corporation. Tout dwa rezève. Intel, logo Intel ak lòt mak Intel yo se mak komèsyal Intel Corporation oswa filiales li yo. Intel garanti pèfòmans pwodwi FPGA ak semi-conducteurs li yo selon espesifikasyon aktyèl yo an akò ak garanti estanda Intel a, men li rezève dwa pou fè chanjman nan nenpòt pwodwi ak sèvis nenpòt ki lè san avètisman. Intel pa asime okenn responsablite oswa responsablite ki soti nan aplikasyon an oswa itilizasyon nenpòt enfòmasyon, pwodwi oswa sèvis ki dekri la a eksepte si Intel te dakò ekspreseman alekri. Yo konseye kliyan Intel yo pou yo jwenn dènye vèsyon espesifikasyon aparèy yo anvan yo konte sou nenpòt enfòmasyon ki pibliye epi anvan yo pase lòd pou pwodwi oswa sèvis yo. *Yo ka reklame lòt non ak mak kòm pwopriyete lòt moun.
Simulation AFU Example
Intel rekòmande pou w refere a Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Gid demaraj rapid pou Intel FPGA PAC ou a pou w ka abitye ak simulation menm jan an.amples ak konfigirasyon anviwònman ou. Anvan ou kontinye nan etap sa yo, verifye ke varyab anviwònman OPAE_PLATFORM_ROOT yo mete nan anyè enstalasyon OPAE SDK la. Konplete etap sa yo pou konfigirasyon similatè pyès ki nan konpitè pou DMA AFU a:
- Chanje nan DMA AFU yoampanyè: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu
- Kreye yon anviwònman ASE nan yon nouvo anyè epi konfigirasyon li pou similye yon AFU: afu_sim_setup –source hw/rtl/filelist.txt build_ase_dir
- Chanje nan anyè a bati ASE: cd build_ase_dir
- Bati chofè a ak aplikasyon: fè
- Fè simulation: fè sim
Sample pwodiksyon soti nan similatè pyès ki nan konpitè:
[SIM] ** ATANSYON : ANVAN kouri aplikasyon lojisyèl an ** [SIM] Mete env(ASE_WORKDIR) nan tèminal kote aplikasyon an pral kouri (kopi-ak-kole) => [SIM] $SHELL | Kouri:[SIM] ———+————————————————— [SIM] bash/zsh | ekspòte 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] Pou nenpòt lòt $SHELL, konsilte administratè Linux ou a [SIM] [SIM] Pare pou simulation... [SIM] Peze CTRL-C pou fèmen simulateur...Konplete etap sa yo pou konpile ak egzekite lojisyèl DMA AFU a nan anviwònman simulation:
- Louvri yon nouvo fenèt tèminal.
- Chanje anyè a: cd $OPAE_PLATFORM_ROOT/hw/samples/dma_afu/sw
Intel Corporation. Tout dwa rezève. Intel, logo Intel ak lòt mak Intel yo se mak komèsyal Intel Corporation oswa filiales li yo. Intel garanti pèfòmans pwodwi FPGA ak semiconductor li yo selon espesifikasyon aktyèl yo an akò ak garanti estanda Intel a, men li rezève dwa pou fè chanjman nan nenpòt pwodwi ak sèvis nenpòt ki lè san avètisman. Intel pa asime okenn responsablite oswa responsablite ki soti nan aplikasyon an oswa itilizasyon nenpòt enfòmasyon, pwodwi oswa sèvis ki dekri la a eksepte si Intel te dakò ekspreseman alekri. Yo konseye kliyan Intel yo pou yo jwenn dènye vèsyon espesifikasyon aparèy yo anvan yo konte sou nenpòt enfòmasyon ki pibliye epi anvan yo pase lòd pou pwodwi oswa sèvis yo. *Yo ka reklame lòt non ak mak kòm pwopriyete lòt moun.
Simulation AFU Example
- Kopi fisèl konfigirasyon anviwònman an (chwazi fisèl ki apwopriye pou koki ou) soti nan etap ki anwo yo nan simulation pyès ki nan konpitè nan fenèt tèminal la. Gade liy sa yo nan sample pwodiksyon soti nan similatè pyès ki nan konpitè. [SIM] bash/zsh | ekspòte 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
- Konpile lojisyèl an: $ make USE_ASE=1
- Egzekite aplikasyon lame a pou ekri 4 KB nan pòsyon 1 KB soti nan memwa lame a tounen nan memwa aparèy FPGA nan mòd loopback: ./ fpga_dma_test -s 4096 -p 1024 -r mtom
Enfòmasyon ki gen rapò
Intel Accelerator Functional Unit (AFU) Simulation Environment (ASE) Gid itilizatè Quick Start
Optimize pou amelyore pèfòmans DMA
Aplikasyon NUMA (aksè memwa ki pa inifòm) optimize nan fpga_dma_test.cpp pèmèt processeur a jwenn aksè pwòp memwa lokal li pi vit pase aksè memwa ki pa lokal (memwa lokal nan yon lòt processeur). Yon konfigirasyon NUMA tipik montre nan dyagram ki anba a. Aksè lokal la reprezante aksè soti nan yon nwayo nan memwa lokal nan menm nwayo a. Aksè aleka a montre chemen an pran lè yon nwayo sou Node 0 jwenn aksè nan memwa ki abite nan memwa lokal nan Node 1.
Konfigirasyon NUMA tipik
Sèvi ak kòd sa a pou aplike optimize NUMA nan aplikasyon tès ou a:
// Mete bon jan afinite si yo mande si (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 *) & bis);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, “fpgaPropertiesGetDevice”; // Jwenn aparèy la nan topoloji hwloc_topology_t topoloji; hwloc_topology_init(&topoloji); hwloc_topology_set_flags(topology, HWLOC_TOPOLOGY_FLAG_IO_DEVICES);Intel Corporation. Tout dwa rezève. Intel, logo Intel ak lòt mak Intel yo se mak komèsyal Intel Corporation oswa filiales li yo. Intel garanti pèfòmans pwodwi FPGA ak semi-conducteurs li yo selon espesifikasyon aktyèl yo an akò ak garanti estanda Intel a, men li rezève dwa pou fè chanjman nan nenpòt pwodwi ak sèvis nenpòt ki lè san avètisman. Intel pa asime okenn responsablite oswa responsablite ki soti nan aplikasyon an oswa itilizasyon nenpòt enfòmasyon, pwodwi oswa sèvis ki dekri la a eksepte si Intel te dakò ekspreseman alekri. Yo konseye kliyan Intel yo pou yo jwenn dènye vèsyon espesifikasyon aparèy yo anvan yo konte sou nenpòt enfòmasyon ki pibliye epi anvan yo pase lòd pou pwodwi oswa sèvis yo. *Yo ka reklame lòt non ak mak kòm pwopriyete lòt moun.
Optimize pou amelyore pèfòmans DMA
hwloc_topology_load (topoloji); hwloc_obj_t obj = hwloc_get_pcidev_by_busid (topoloji, dom, otobis, dev, fonksyon); hwloc_obj_t obj2 = hwloc_get_non_io_ancestor_obj (topoloji, 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 se %s\n”, str); hwloc_bitmap_taskset_snprintf (str, 4096, obj2->nodeset); printf(“NODESET se %s\n”, str);#endif if (memory_affinity) { #if HWLOC_API_VERSION > 0x00020000 retval = hwloc_set_membind(topology, obj2->nodeset,HWLOC_MEMBIND_THREAD, HWLOC_MEMBIND_THREAD, HWLOC_MEMBINDBY_NOMIGRATE |HWLOC_SET_MEMBIND); #else retval =hwloc_set_membind_nodeset(topoloji, 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 (topoloji, obj2->cpuset, HWLOC_CPUBIND_STRICT); ON_ERR_GOTO(retval, out_destroy_tok, “hwloc_set_cpubind”); } }
Achiv Gid Itilizatè Inite Fonksyonèl DMA Accelerator
Intel Akselerasyon Stack vèsyon | Gid itilizatè (PDF) |
2.0 | Gid itilizatè DMA Accelerator Functional Unit (AFU). |
Istwa Revizyon Dokiman pou Gid Itilizatè Inite Fonksyonèl DMA Accelerator
Vèsyon dokiman an |
Intel Akselerasyon Pile vèsyon |
Chanjman |
2020.08.03 |
2.0.1 (sipòte ak Intel
Quartus® Prime Pro Edition Edition 19.2) |
Korije imaj AF la file non nan seksyon Konpile DMA AFU Example. |
2020.04.17 |
2.0.1 (sipòte ak Intel
Quartus Prime Pro Edition Edition 19.2) |
Korije yon deklarasyon nan Odyans ki gen entansyon seksyon. |
2020.02.20 |
2.0.1 (sipòte ak Intel
Quartus Prime Pro Edition Edition 19.2) |
Fiks typo. |
2019.11.04 |
2.0.1 (sipòte ak Intel Quartus Prime Pro Edition Edition 19.2) |
• Ranplase fpgaconf ak fpgasupdate lè w ap konfigirasyon FPGA ak AFU prebuild nan seksyon. Kouri DMA AFU Example.
• Te ajoute sous-titre Intel FPGA pwogramasyon kat akselerasyon D5005 nan tit dokiman an. • Te ajoute varyab anviwònman $OPAE_PLATFORM_ROOT. • Seksyon modifye Modèl pwogramasyon lojisyèl pou ti koreksyon. • Te ajoute nouvo seksyon Konpile DMA AFU Example. • Seksyon modifye Optimize pou amelyore pèfòmans DMA pou ti koreksyon. |
2019.08.05 |
2.0 (sipòte ak Intel
Quartus Prime Pro Edition 18.1.2) |
Premye lage. |
Intel Corporation. Tout dwa rezève. Intel, logo Intel ak lòt mak Intel yo se mak komèsyal Intel Corporation oswa filiales li yo. Intel garanti pèfòmans pwodwi FPGA ak semi-conducteurs li yo selon espesifikasyon aktyèl yo an akò ak garanti estanda Intel a, men li rezève dwa pou fè chanjman nan nenpòt pwodwi ak sèvis nenpòt ki lè san avètisman. Intel pa asime okenn responsablite oswa responsablite ki soti nan aplikasyon an oswa itilizasyon nenpòt enfòmasyon, pwodwi oswa sèvis ki dekri la a eksepte si Intel te dakò ekspreseman alekri. Yo konseye kliyan Intel yo pou yo jwenn dènye vèsyon espesifikasyon aparèy yo anvan yo konte sou nenpòt enfòmasyon ki pibliye epi anvan yo pase lòd pou pwodwi oswa sèvis yo.
- Lòt non ak mak yo ka reklame kòm pwopriyete lòt moun.
Dokiman / Resous
![]() |
Intel FPGA pwogramasyon kat akselerasyon D5005 [pdfGid Itilizatè FPGA pwogramasyon kat akselerasyon, D5005, FPGA pwogramasyon kat akselerasyon D5005, DMA akseleratè fonksyonèl inite |