FPGA SDK ar gyfer OpenCL
Canllaw Defnyddiwr
UG-OCL009
2017.05.08
Wedi'i ddiweddaru ddiwethaf ar gyfer Intel® Quartus® Prime Design Suite: 17.0
Tanysgrifio
Anfon Adborth
Intel® FPGA SDK ar gyfer OpenCL™ Intel® Cyclone®V Pecyn Datblygu Cyfeirnod Canllaw Porthladd Platfform
Mae Canllaw Portio Llwyfan Cyfeirio Pecyn Datblygu V SoC yn disgrifio dyluniad caledwedd a meddalwedd Llwyfan Cyfeirio Pecyn Datblygu SoC Intel Cyclone V (c5soc) i'w ddefnyddio gyda'r Pecyn Datblygu Meddalwedd Intel (SDK) ar gyfer OpenCL Mae'r Intel ® FPGA SDK ar gyfer OpenCL™ Intel Cyclone ® . Cyn i chi ddechrau, mae Intel yn argymell yn gryf eich bod chi'n ymgyfarwyddo â chynnwys y dogfennau canlynol:
- Intel FPGA SDK ar gyfer OpenCLIntel Cyclone V SoC Canllaw Cychwyn Arni
- Intel FPGA SDK ar gyfer OpenCL Custom Platform Toolkit Toolkit
- Llawlyfr Dyfais Seiclon V, Cyfrol 3: Llawlyfr Cyfeirio Technegol System Prosesydd Caled Yn ogystal, cyfeiriwch at y Pecyn Datblygu Cyclone V SoC a tudalen Swît Dylunio Embedded SoC o'r Altera websafle am fwy o wybodaeth. 1 2
Sylw: Mae Intel yn tybio bod gennych ddealltwriaeth fanwl o'r Intel FPGA SDK ar gyfer OpenCL Custom Platform Toolkit Toolkit. Nid yw Canllaw Porthladd Platfform Cyfeirio Pecyn Datblygu Cyclone V SoC yn disgrifio'r defnydd o Becyn Cymorth Platfform Custom SDK i weithredu Llwyfan Custom ar gyfer Pecyn Datblygu SoC Seiclon V. Nid yw ond yn disgrifio'r gwahaniaethau rhwng cefnogaeth SDK ar Becyn Datblygu SoC Cyclone V a SDK Intel FPGA generig ar gyfer Platfform Custom OpenCL.
Dolenni Perthnasol
- Intel FPGA SDK ar gyfer OpenCL Cyclone V SoC Canllaw Cychwyn Arni
- Intel FPGA SDK ar gyfer OpenCL Custom Platform Toolkit Toolkit
- Llawlyfr Dyfais Seiclon V, Cyfrol 3: Llawlyfr Cyfeirio Technegol System Prosesydd Caled
- Pecyn Datblygu SoC Seiclon V a thudalen Swît Dylunio Mewnblanedig SoC ar yr Altera websafle
- Mae OpenCL a logo OpenCL yn nodau masnach Apple Inc. a ddefnyddir gyda chaniatâd y Khronos Group™.
- Mae'r Intel FPGA SDK ar gyfer OpenCL yn seiliedig ar Fanyleb Khronos cyhoeddedig, ac mae wedi pasio Proses Profi Cydymffurfiaeth Khronos. Mae'r statws cydymffurfio presennol i'w weld yn www.khronos.org/conformance.
Intel Gorfforaeth. Cedwir pob hawl. Mae geiriau a logos Intel, logo Intel, Altera, Arria, Seiclon, Enpirion, MAX, Nios, Quartus a Stratix yn nodau masnach Intel Corporation neu ei is-gwmnïau yn yr UD a / neu wledydd eraill. Mae Intel yn gwarantu perfformiad ei gynhyrchion FPGA a lled-ddargludyddion i fanylebau cyfredol yn unol â gwarant safonol Intel, ond mae'n cadw'r hawl i wneud newidiadau i unrhyw gynhyrchion a gwasanaethau ar unrhyw adeg heb rybudd. Nid yw Intel yn cymryd unrhyw gyfrifoldeb nac atebolrwydd sy'n deillio o gymhwyso neu ddefnyddio unrhyw wybodaeth, cynnyrch neu wasanaeth a ddisgrifir yma ac eithrio fel y cytunwyd yn benodol yn ysgrifenedig gan Intel. Cynghorir cwsmeriaid Intel i gael y fersiwn ddiweddaraf o fanylebau dyfeisiau cyn dibynnu ar unrhyw wybodaeth gyhoeddedig a chyn archebu cynhyrchion neu wasanaethau.
*Gellir hawlio enwau a brandiau eraill fel eiddo eraill.
1.1.1 Amrywiadau Bwrdd Llwyfan Cyfeirio Pecyn Datblygu Cyclone V
Mae Intel FPGA SDK ar gyfer Llwyfan Cyfeirio Pecyn Datblygu SoC Cyclone V SoC OpenCL yn cynnwys dau amrywiad bwrdd.
- bwrdd c5soc
Mae'r bwrdd rhagosodedig hwn yn darparu mynediad i ddau fanc cof DDR. Mae'r HPS DDR ar gael i'r FPGA a'r CPU. Dim ond yr FPGA sydd ar gael i'r FPGA DDR. - bwrdd c5soc_sharedonly
Mae'r amrywiad bwrdd hwn yn cynnwys cysylltedd HPS DDR yn unig. Nid yw'r FPGA DDR yn hygyrch. Mae'r amrywiad bwrdd hwn yn fwy effeithlon o ran ardal oherwydd bod angen llai o galedwedd i gefnogi un banc cof DDR. Mae'r bwrdd c5soc_sharedonly hefyd yn llwyfan prototeipio da ar gyfer bwrdd cynhyrchu terfynol gydag un banc cof DDR.
I dargedu'r amrywiad bwrdd hwn wrth lunio'ch cnewyllyn OpenCL, cynhwyswch yr opsiwn -board c5soc_sharedonly yn eich gorchymyn aoc.
Am fwy o wybodaeth ar y bwrdd opsiwn y gorchymyn aoc, cyfeiriwch at y Intel FPGA SDK ar gyfer Canllaw Rhaglennu OpenCL.
Dolenni Perthnasol
Llunio Cnewyllyn ar gyfer Bwrdd FPGA Penodol (–bwrdd )
1.1.2 Cynnwys Llwyfan Cyfeirio Pecyn Datblygu SoC V Seiclon
Mae Llwyfan Cyfeirio Pecyn Datblygu SoC Seiclon V yn cynnwys y canlynol files a chyfeiriaduron:
File neu Gyfeirlyfr | Disgrifiad |
bwrdd_env.xml | Iaith Marcio Estynadwy (XML) file sy'n disgrifio c5soc i'r Intel FPGA SDK ar gyfer OpenCL. |
linux_sd_card_image.tgz | Delwedd cerdyn fflach SD cywasgedig file sy'n cynnwys popeth sydd ei angen ar ddefnyddiwr SDK i ddefnyddio'r Pecyn Datblygu SoC Cyclone V gyda'r SDK. |
braich32 | Cyfeiriadur sy'n cynnwys y canlynol: |
1.1.3 Nodweddion Perthnasol Pecyn Datblygu SoC V Seiclon
Mae'r rhestr ganlynol yn tynnu sylw at gydrannau a nodweddion Pecyn Datblygu SoC Cyclone V sy'n berthnasol i'r Intel FPGA SDK ar gyfer OpenCL:
- CPU ARM Cortex-A9 craidd deuol yn rhedeg Linux 32-bit.
- Bws Rhyngwyneb Estynadwy Uwch (AXI) rhwng yr HPS a ffabrig craidd FPGA.
- Dau reolwr cof DDR caled, pob un yn cysylltu â SDRAM 1 gigabyte (GB) DDR3.
— Mae un rheolydd DDR yn hygyrch i graidd FPGA yn unig (hynny yw, FPGA DDR).
— Mae'r rheolydd DDR arall yn hygyrch i'r HPS a'r FPGA (hynny yw, HPS DDR). Mae'r rheolydd a rennir hwn yn caniatáu rhannu cof am ddim rhwng y CPU a chraidd FPGA. - Gall y CPU ad-drefnu ffabrig craidd FPGA.
1.1.3.1 Pecyn Datblygu Cyclone V SoC Nodau Dylunio Llwyfan a Phenderfyniadau Mae Intel yn seilio gweithrediad Llwyfan Cyfeirio Pecyn Datblygu SoC V Seiclon ar sawl nod dylunio a phenderfyniad. Mae Intel yn argymell eich bod yn ystyried y nodau a'r penderfyniadau hyn pan fyddwch chi'n trosglwyddo'r Llwyfan Cyfeirio hwn i'ch bwrdd SoC FPGA.
Isod mae nodau dylunio c5soc:
- Darparwch y lled band uchaf posibl rhwng cnewyllyn ar y FPGA a'r system (au) cof DDR.
- Sicrhewch nad yw cyfrifiannau ar y FPGA (hynny yw, cnewyllyn OpenCL) yn ymyrryd â thasgau CPU eraill a allai gynnwys gwasanaethu perifferolion.
- Gadael cymaint o adnoddau FPGA â phosibl ar gyfer cyfrifiannau cnewyllyn yn lle cydrannau rhyngwyneb.
Isod mae'r penderfyniadau dylunio lefel uchel sy'n ganlyniadau uniongyrchol nodau dylunio Intel:
- Mae'r Llwyfan Cyfeirio ond yn defnyddio rheolwyr cof DDR caled gyda'r cyfluniad ehangaf posibl (256 did).
- Mae'r FPGA yn cyfathrebu'n uniongyrchol â rheolwr cof DDR HPS, heb gynnwys y bws AXI a'r switsh L3 y tu mewn i'r HPS. Mae'r cyfathrebu uniongyrchol yn darparu'r lled band gorau posibl i DDR, ac yn cadw cyfrifiannau FPGA rhag ymyrryd â chyfathrebu rhwng y CPU a'i gyrion.
- Nid yw mynediad cof uniongyrchol gwasgariad-casglu (SG-DMA) yn rhan o resymeg rhyngwyneb FPGA. Yn hytrach na throsglwyddo llawer iawn o ddata rhwng systemau cof DDR, storio'r data yn y DDR HPS a rennir. Mae mynediad uniongyrchol i gof CPU gan y FPGA yn fwy effeithlon na DMA. Mae'n arbed adnoddau caledwedd (hynny yw, ardal FPGA) ac yn symleiddio'r gyrrwr cnewyllyn Linux.
Rhybudd: Mae trosglwyddo cof rhwng y system HPS DDR a rennir a'r system DDR sy'n hygyrch i'r FPGA yn unig yn araf iawn. Os dewiswch
trosglwyddo cof yn y modd hwn, ei ddefnyddio ar gyfer symiau bach iawn o ddata yn unig. - Mae'r gwesteiwr a'r ddyfais yn cyflawni trosglwyddiad data di-DMA rhwng ei gilydd trwy'r bont HPS-i-FPGA (H2F), gan ddefnyddio un porthladd 32-did yn unig. Y rheswm yw, heb DMA, dim ond un cais darllen neu ysgrifennu 32-bit y gall y cnewyllyn Linux ei roi, felly nid oes angen cael cysylltiad ehangach.
- Mae'r gwesteiwr yn anfon signalau rheoli i'r ddyfais trwy bont H2F (LH2F) ysgafn.
Oherwydd bod signalau rheoli o'r gwesteiwr i'r ddyfais yn signalau lled band isel, mae pont LH2F yn ddelfrydol ar gyfer y dasg.
1.2 Trosglwyddo'r Llwyfan Cyfeirio i'ch Bwrdd FPGA SoC
I gludo Llwyfan Cyfeirio Pecyn Datblygu SoC Seiclon V i'ch bwrdd SoC FPGA, perfformiwch y tasgau canlynol:
- Dewiswch yr un cof DDR neu'r ddau atgof DDR o'r Llwyfan Cyfeirio c5soc fel man cychwyn eich dyluniad.
- Diweddaru'r lleoliadau pin yn y ALTERAOCLSDKROOT/board/c5soc/ /top.qsf file, lle ALTERAOCLSDKROOT yw'r llwybr i leoliad y Intel FPGA SDK ar gyfer gosod OpenCL, a yw enw cyfeiriadur yr amrywiad bwrdd. Mae'r cyfeiriadur c5soc_sharedonly ar gyfer yr amrywiad bwrdd gydag un system cof DDR. Mae'r cyfeiriadur c5soc ar gyfer yr amrywiad bwrdd gyda dwy system cof DDR.
- Diweddarwch y gosodiadau DDR ar gyfer y blociau HPS a/neu FPGA SDRAM yn yr ALTERAOCLSDKROOT/board/c5soc/ /system.qsys file.
4. Rhaid i bob Intel FPGA SDK ar gyfer dyluniadau bwrdd dewisol OpenCL gyflawni cau amseriad gwarantedig. O'r herwydd, rhaid i leoliad y dyluniad fod yn amseru'n lân. I drosglwyddo rhaniad bwrdd c5soc (acl_iface_partition.qxp) i'ch bwrdd SoC FPGA, gwnewch y tasgau canlynol:
Am gyfarwyddiadau manwl ar addasu a chadw rhaniad y bwrdd, cyfeiriwch at y Cwartws
Casgliad Cynyddrannol Cyntaf ar gyfer pennod Hierarchaidd a Chynllunio Seiliedig ar Dîm o Lawlyfr Rhifyn Safonol Quartus Prime.
a. Tynnwch yr acl_iface_partition.qxp o'r cyfeiriadur ALTERAOCLSDKROOT/board/c5soc/c5soc.
b. Galluogi rhanbarth LogicLock™ acl_iface_region trwy newid y gorchymyn Tcl set_global_assignment -name LL_ENABLED OFF -section_id acl_iface_region i set_global_assignment -name LL_ENABLED ON -section_id acl_iface_region
c. Lluniwch gnewyllyn OpenCL ar gyfer eich bwrdd.
d. Os oes angen, addaswch faint a lleoliad rhanbarth LogicLock.
e. Pan fyddwch chi'n fodlon bod lleoliad eich dyluniad yn amseru'n lân, allforiwch y rhaniad hwnnw fel y Rhaniad Allforiedig Cwartus acl_iface_partition.qxp File.
Fel y disgrifir yn yr adran Sefydlu Llif Amseru Gwarantedig o'r AIntel FPGA SDK ar gyfer OpenCL Custom Platform Toolkit Toolkit Guide, trwy fewnforio hwn .qxp file i'r dyluniad lefel uchaf, rydych chi'n cyflawni'r gofyniad o ddarparu dyluniad bwrdd gyda llif cau amseriad gwarantedig.
Ar gyfer ffactorau a allai effeithio ar ansawdd canlyniadau (QoR) eich rhaniad allforio, cyfeiriwch at yr Ystyriaethau Ansawdd Cyffredinol Canlyniadau ar gyfer yr adran Rhaniad Bwrdd wedi'i Allforio yn y Intel FPGA SDK ar gyfer OpenCL Custom Platform Toolkit Toolkit.
dd. Analluoga rhanbarth LogicLock acl_iface_region trwy ddychwelyd y gorchymyn yng Ngham 2 yn ôl i set_global_assignment -name LL_ENABLED OFF section_id acl_iface_region. - Os yw'ch bwrdd SoC FPGA yn defnyddio gwahanol binnau ac ymylon y bloc HPS, adfywiwch y rhaglwythwr a ffynhonnell coeden y ddyfais (DTS) file. Os byddwch yn newid gosodiadau rheolydd cof HPS DDR, adfywiwch y rhaglwythwr.
- Creu delwedd cerdyn fflach SD.
- Creu eich Platfform Custom, sy'n cynnwys delwedd cerdyn fflach SD.
- Ystyriwch greu fersiwn amgylchedd amser rhedeg o'ch Platfform Custom i'w ddefnyddio gyda'r Intel FPGA Runtime Environment (RTE) ar gyfer OpenCL. Nid yw'r fersiwn RTE o'ch Platfform Custom yn cynnwys cyfeiriaduron caledwedd a delwedd cerdyn fflach SD. Mae'r Platfform Custom hwn yn llwytho ar system SoC FPGA i ganiatáu i gymwysiadau gwesteiwr redeg. Mewn cyferbyniad, mae'r fersiwn SDK o'r Platfform Custom yn angenrheidiol er mwyn i'r SDK lunio cnewyllyn OpenCL.
Awgrym: Gallwch ddefnyddio'r fersiwn SDK o'ch Platfform Custom ar gyfer yr RTE. I achub
gofod, tynnwch y ddelwedd cerdyn fflach SD o'r fersiwn RTE o'ch Platfform Custom. - Profwch eich Platfform Custom.
Cyfeiriwch at yr adran Profi'r Dylunio Caledwedd yn y Intel FPGA SDK ar gyfer OpenCL Custom Platform Toolkit Toolkit am ragor o wybodaeth.
Dolenni Perthnasol
- Profi'r Dyluniad Caledwedd
- Casgliad Cynyddrannol Quartus ar gyfer Dylunio Hierarchaidd a Seiliedig ar Dîm
- Sefydlu Llif Amseru Gwarantedig
- Ystyriaethau Ansawdd Cyffredinol y Canlyniadau ar gyfer y Rhaniad Bwrdd a Allforir
1.2.1 Diweddaru Llwyfan Cyfeirio Cludedig
Yn y fersiwn gyfredol o Llwyfan Cyfeirio Pecyn Datblygu Cyclone V SoC, mae'r bloc HPS y tu mewn i'r rhaniad sy'n diffinio'r holl resymeg nonkernel. Fodd bynnag, ni allwch allforio'r HPS fel rhan o'r .qxp file. I ddiweddaru Platfform Custom presennol a addaswyd gennych o fersiwn flaenorol o c5soc, gweithredwch y llif cadw QXP, diweddarwch ddelwedd cerdyn fflach SD i gael yr amgylchedd amser rhedeg diweddaraf, a diweddarwch y board_spec.xml file i alluogi awtomeiddio.
Mae'r Altera® SDK ar gyfer fersiwn OpenCL 14.1 a thu hwnt yn archwilio'r bwrdd_spec.xml file ar gyfer gwybodaeth bwrdd, ac yn gweithredu diweddariadau awtomatig. Oherwydd eich bod yn addasu'r
dylunio trwy weithredu'r llif cadw QXP, rhaid i chi ddiweddaru'r board_spec.xml file i'w fformat yn y fersiwn gyfredol. Wrthi'n diweddaru'r file yn caniatáu i'r SDK wahaniaethu rhwng Platfformau Custom heb eu cadw a'r Platfformau Custom presennol sy'n seiliedig ar QXP. Cyfeiriwch at Automigration Platfform Custom ar gyfer Cydnawsedd Ymlaen yn y Intel FPGA SDK ar gyfer OpenCL Custom Platform Toolkit Toolkit am ragor o wybodaeth.
- I weithredu'r llif cadw QXP mewn dyluniad caledwedd Cyclone V SoC FPGA sy'n cael ei gludo o fersiwn flaenorol o c5soc, perfformiwch y camau canlynol i greu israniad i eithrio'r HPS o'r .qxp file:
a. Cyn creu rhaniad o amgylch y rhesymeg nonkernel, creu rhaniad o amgylch y HPS yn y .qsf Quartus Prime Settings File.
Am gynample:
# Rhannwch â llaw yr enghraifft sy'n modelu set_instance_instance_assignment I/O HPS -enw PARTITION_HIERARCHY borde_18261 -i “system:the_system|system_acl_iface:acl_iface|system_acl_iface_hps_0:hps_0|system_acl_iface_hps_0_hps_0|system_acl_iface_hps_0_hps system_acl_iface_hps_XNUMX_hps_io_border: border” -section_id “system_acl_iface_hps_XNUMX_hps_io_border: border”
# Gosodwch y rhaniad i fod yn fath HPS_PARTITION i'w brosesu'n gywir gan weddill Quartus
set_aseiniad_byd-eang -enw PARTITION_TYPE HPS_PARTITION -section_id “system_acl_iface_hps_0_hps_io_border: border”
quartus_cdb top -c top
–incremental_compilation_export=acl_iface_partition.qxp
–incremental_compilation_export_partition_name=acl_iface_partition
–incremental_compilation_export_post_synth=ymlaen
–incremental_compilation_export_post_fit=ymlaen
–incremental_compilation_export_routing=ymlaen
–incremental_compilation_export_flatten=i ffwrdd
Ar ôl i chi eithrio'r HPS o'r rhaniad, gallwch fewnforio'r .qxp file a llunio eich dyluniad. - Diweddarwch ddelwedd cerdyn fflach SD gyda'r fersiwn gyfredol o'r Intel FPGA RTE ar gyfer OpenCL trwy gyflawni'r tasgau canlynol:
a. Mount y file tabl dyrannu (braster32) ac estynedig file rhaniadau system (ext3) yn y ddelwedd bresennol fel dyfeisiau dolen yn ôl. Am gyfarwyddiadau manwl, cyfeiriwch at Gam 2 yn Adeiladu Delwedd Cerdyn Flash SD.
b. Yn y cyfeiriadur /home/root/opencl_arm32_rte, tynnwch y files o'r fersiwn flaenorol o'r RTE.
c. Lawrlwythwch a dadbacio'r fersiwn gyfredol o'r RTE i'r cyfeiriadur /home/root/opencl_arm32_rte.
d. Yn y /driver/version.h file o'ch Platfform Personol, diweddarwch yr aseiniad ACL_DRIVER_VERSION i . (ar gyfer example, 16.1.x, lle 16.1 yw'r fersiwn SDK, a x yw'r fersiwn gyrrwr a osodwyd gennych).
e. Ailadeiladu'r gyrrwr.
dd. Dileu ffolder(iau) caledwedd eich Platfform Custom. Copïwch y Platfform Custom, ynghyd â'r gyrrwr wedi'i ddiweddaru, i'r cyfeiriadur / home / root / opencl_arm_rte / board.
g. Copïwch y Altera.icd file o'r cyfeiriadur / home/root/opencl_arm32_rte a'i ychwanegu at y cyfeiriadur /etc/OpenCL/vendors.
h. Dadosodwch a phrofwch y ddelwedd newydd. Am gyfarwyddiadau manwl, cyfeiriwch at Camau 8 i 11 yn Adeiladu Delwedd Cerdyn Flash SD.
Dolenni Perthnasol
- Creu Delwedd Cerdyn Flash SD ar dudalen 14
Mae gennych hefyd yr opsiwn i greu delwedd cerdyn fflach SD newydd. - Automigration Platfform Custom ar gyfer Cydnawsedd Ymlaen
1.3 Cymorth Meddalwedd ar gyfer Cof a Rennir
Cof corfforol a rennir rhwng FPGA a CPU yw'r cof dewisol ar gyfer cnewyllyn OpenCL sy'n rhedeg ar SoC FPGAs. Oherwydd bod y FPGA yn cyrchu cof corfforol a rennir, yn hytrach na chof rhithwir a rennir, nid oes ganddo fynediad i dablau tudalennau'r CPU sy'n mapio rhith-gyfeiriadau defnyddwyr i gyfeiriadau tudalen ffisegol.
O ran y caledwedd, mae cnewyllyn OpenCL yn cyrchu cof corfforol a rennir trwy gysylltiad uniongyrchol â rheolydd cof caled HPS DDR. O ran y feddalwedd, mae cefnogaeth ar gyfer cof corfforol a rennir yn cynnwys yr ystyriaethau canlynol:
- Gweithrediadau meddalwedd nodweddiadol ar gyfer dyrannu cof ar y CPU (ar gyfer example, ni all y swyddogaeth malloc()) ddyrannu rhanbarth cof y gall y FPGA ei ddefnyddio.
Mae'r cof y mae'r swyddogaeth malloc() yn ei ddyrannu yn gyffiniol yn y gofod cyfeiriad cof rhithwir, ond mae unrhyw dudalennau ffisegol gwaelodol yn annhebygol o fod yn gyffiniol yn gorfforol. O'r herwydd, rhaid i'r gwesteiwr allu dyrannu rhanbarthau cof sy'n gyffiniol yn gorfforol. Fodd bynnag, nid yw'r gallu hwn yn bodoli mewn cymwysiadau gofod defnyddiwr ar Linux. Felly, rhaid i'r gyrrwr cnewyllyn Linux gyflawni'r dyraniad. - Mae gyrrwr cnewyllyn Linux OpenCL SoC FPGA yn cynnwys y swyddogaeth mmap () i ddyrannu cof corfforol a rennir a'i fapio yn y gofod defnyddiwr. Mae'r swyddogaeth mmap () yn defnyddio'r alwad cnewyllyn Linux safonol dma_alloc_coherent() i ofyn am ranbarthau cof sy'n gyffiniol yn ffisegol i'w rhannu â dyfais.
- Yn y cnewyllyn Linux rhagosodedig, nid yw dma_alloc_coherent() yn dyrannu cof sy'n gyffiniol yn gorfforol yn fwy na 0.5 megabeit (MB) o ran maint. Er mwyn caniatáu i dma_alloc_coherent() ddyrannu llawer iawn o gof sy'n gyffiniol yn gorfforol, galluogwch nodwedd dyrannu cof cyffiniol (CMA) y cnewyllyn Linux ac yna ail-grynhoi'r cnewyllyn Linux.
Ar gyfer Llwyfan Cyfeirio Pecyn Datblygu Cyclone V SoC, mae CMA yn rheoli 512 MB allan o 1 GB o gof corfforol. Gallwch gynyddu neu leihau'r gwerth hwn, yn dibynnu ar faint o gof a rennir sydd ei angen ar y rhaglen. Efallai na fydd yr alwad dma_alloc_coherent() yn gallu dyrannu'r 512 MB llawn o gof ffisegol-cyffiniol; fodd bynnag, gall gael tua 450 MB o gof fel mater o drefn. - Gall y CPU storio cof y mae'r alwad dma_alloc_coherent() yn ei ddyrannu. Yn benodol, nid yw gweithrediadau ysgrifennu o'r cymhwysiad gwesteiwr yn weladwy i'r cnewyllyn OpenCL. Mae'r swyddogaeth mmap () yn y gyrrwr cnewyllyn OpenCL SoC FPGA Linux hefyd yn cynnwys galwadau i'r swyddogaeth pgprot_noncached() neu remap_pf_range() i analluogi caching ar gyfer y rhanbarth cof hwn yn benodol.
- Ar ôl i'r ffwythiant dma_alloc_coherent() ddyrannu'r cof ffisegol-gyffiniol, mae'r ffwythiant mmap() yn dychwelyd y cyfeiriad rhithwir i ddechrau'r ystod, sef rhychwant cyfeiriad y cof rydych chi'n ei ddyrannu. Mae'r rhaglen gwesteiwr angen y cyfeiriad rhithwir hwn i gael mynediad i'r cof. Ar y llaw arall, mae angen cyfeiriadau corfforol ar y cnewyllyn OpenCL. Mae'r gyrrwr cnewyllyn Linux yn cadw golwg ar y mapio cyfeiriad rhithwir-i-gorfforol. Gallwch fapio'r cyfeiriadau ffisegol y mae mmap() yn dychwelyd i gyfeiriadau ffisegol gwirioneddol trwy ychwanegu ymholiad at y gyrrwr.
Mae'r alwad aocl_mmd_shared_mem_alloc() rhyngwyneb rhaglennu cais MMD (API) yn ymgorffori'r ymholiadau canlynol:
a. Y ffwythiant mmap() sy'n dyrannu cof ac yn dychwelyd y cyfeiriad rhithwir.
b. Yr ymholiad ychwanegol sy'n mapio'r cyfeiriad rhithwir a ddychwelwyd i'r cyfeiriad ffisegol.
Yna mae galwad API MMD aocl_mmd_shared_mem_alloc() yn dychwelyd dau gyfeiriad
—y cyfeiriad gwirioneddol a ddychwelwyd yw'r cyfeiriad rhithwir, ac mae'r cyfeiriad corfforol yn mynd i device_ptr_out.
Nodyn: Dim ond y cyfeiriadau rhithwir y mae'r ffwythiant mmap() yn dychwelyd i gyfeiriadau ffisegol y gall y gyrrwr eu mapio. Os byddwch yn gofyn am gyfeiriad corfforol unrhyw bwyntydd rhithwir arall, bydd y gyrrwr yn dychwelyd gwerth NULL.
Rhybudd: Mae'r Intel FPGA SDK ar gyfer llyfrgelloedd amser rhedeg OpenCL yn tybio mai'r cof a rennir yw'r cof cyntaf a restrir yn y board_spec.xml file. Mewn geiriau eraill, mae'r cyfeiriad corfforol y mae'r gyrrwr cnewyllyn Linux yn ei gael yn dod yn gyfeiriad Avalon® y mae cnewyllyn OpenCL yn ei drosglwyddo i'r HPS SDRAM.
O ran y llyfrgell amser rhedeg, defnyddiwch yr alwad clCreateBuffer () i ddyrannu'r cof a rennir fel byffer dyfais yn y modd canlynol:
- Ar gyfer yr amrywiad bwrdd dau-DDR gyda chof a rennir a chof nad yw'n cael ei rannu, mae clCreateBuffer () yn dyrannu cof a rennir os nodwch y faner CL_MEM_USE_HOST_PTR. Mae defnyddio baneri eraill yn achosi clCreateBuffer() i ddyrannu byffer yn y cof nad yw'n cael ei rannu.
- Ar gyfer yr amrywiad bwrdd un-DDR gyda chof a rennir yn unig, mae clCreateBuffer () yn dyrannu cof a rennir waeth pa faner rydych chi'n ei nodi.
Ar hyn o bryd, mae cefnogaeth Linux 32-bit ar ARM CPU yn rheoli maint y gefnogaeth cof a rennir yn y llyfrgelloedd amser rhedeg SDK. Mewn geiriau eraill, mae llyfrgelloedd amser rhedeg wedi'u llunio i amgylcheddau eraill (ar gyfer cynample, x86_64 Linux neu 64-bit Windows) ddim yn cefnogi cof a rennir.
Ni weithredodd C5soc gof heterogenaidd i wahaniaethu rhwng cof a rennir a chof nad yw'n cael ei rannu am y rhesymau canlynol:
1. Hanes - Nid oedd cymorth cof heterogenaidd ar gael pan grëwyd cymorth cof a rennir yn wreiddiol.
2. Rhyngwyneb unffurf - Gan fod OpenCL yn safon agored, mae Intel yn cynnal cysondeb rhwng gwerthwyr platfform cyfrifiadura heterogenaidd. Felly, defnyddir yr un rhyngwyneb â phensaernïaeth gwerthwyr bwrdd eraill i ddyrannu a defnyddio cof a rennir.
1.4 Ailgyflunio FPGA
Ar gyfer SoC FPGAs, gall y CPU ad-drefnu ffabrig craidd FPGA heb dorri ar draws gweithrediad y CPU. Mae bloc caledwedd Rheolwr FPGA sy'n pontio'r HPS a'r FPGA craidd yn cyflawni'r ad-drefnu. Mae'r cnewyllyn Linux yn cynnwys gyrrwr sy'n galluogi mynediad hawdd i Reolwr FPGA.
- I view statws craidd FPGA, galwch y gorchymyn statws cath / sys/class/fpga/fpga0/.
Mae'r Intel FPGA SDK ar gyfer cyfleustodau rhaglen OpenCL sydd ar gael gyda Llwyfan Cyfeirio Pecyn Datblygu SoC Cyclone V yn defnyddio'r rhyngwyneb hwn i raglennu'r FPGA. Wrth ail-raglennu craidd FPGA gyda CPU rhedeg, mae cyfleustodau'r rhaglen yn cyflawni'r holl dasgau canlynol:
1. Cyn ailraglennu, analluoga'r holl bontydd cyfathrebu rhwng y FPGA a'r HPS, y ddau bont H2F a LH2F.
Ailalluogi'r pontydd hyn ar ôl cwblhau'r ailraglennu.
Sylw: Nid yw'r system OpenCL yn defnyddio'r bont FPGA-i-HPS (F2H). Cyfeiriwch at yr adran Rhyngwynebau HPS-FPGA yn Llawlyfr Dyfais Seiclon V, Cyfrol 3: Llawlyfr Cyfeirio Technegol System Prosesydd Caled am ragor o wybodaeth.
2. Sicrhau bod y cyswllt rhwng y FPGA a'r rheolwr DDR HPS yn anabl yn ystod ailraglennu.
3. Sicrhau bod yr ymyriadau FPGA ar y FPGA yn anabl yn ystod ailraglennu.
Hefyd, rhowch wybod i'r gyrrwr i wrthod unrhyw ymyriadau o'r FPGA yn ystod ailraglennu.
Ymgynghorwch â chod ffynhonnell cyfleustodau'r rhaglen am fanylion gweithredu gwirioneddol.
Rhybudd: Peidiwch â newid cyfluniad rheolydd DDR HPS pan fydd y CPU yn rhedeg.
Gallai gwneud hynny achosi gwall system angheuol oherwydd efallai y byddwch yn newid cyfluniad y rheolydd DDR pan fydd trafodion cof heb eu cwblhau o'r CPU. Mae hyn yn golygu, pan fydd y CPU yn rhedeg, efallai na fyddwch yn ailraglennu craidd FPGA gyda delwedd sy'n defnyddio HPS DDR mewn ffurfweddiad gwahanol.
Cofiwch fod y system OpenCL, a'r dyluniad cyfeirio Caledwedd Aur sydd ar gael gyda'r Intel SoC FPGA Embedded Design Suite (EDS), yn gosod y DDR HPS yn un modd 256-bit.
Efallai y bydd rhannau system CPU fel y rhagfynegydd cangen neu'r rhagosodwr tabl tudalen yn cyhoeddi gorchmynion DDR hyd yn oed pan ymddengys nad oes dim yn rhedeg ar y CPU.
Felly, amser cychwyn yw'r unig amser diogel i osod cyfluniad rheolydd DDR HPS.
Mae hyn hefyd yn awgrymu bod yn rhaid i U-boot gael deuaidd amrwd file (.rbf) delwedd i'w llwytho i'r cof. Fel arall, efallai eich bod yn galluogi'r HPS DDR gyda phorthladdoedd nas defnyddiwyd ar y FPGA ac yna o bosibl yn newid y ffurfweddiadau porthladd wedyn. Am y rheswm hwn, nid yw gyrrwr cnewyllyn OpenCL Linux bellach yn cynnwys y rhesymeg angenrheidiol i osod cyfluniad rheolydd DDR HPS.
Mae'r pecyn mewn-lein deuol SW3 (DIP) yn switshis ar y Pecyn Datblygu SoC Cylone V yn rheoli ffurf ddisgwyliedig y ddelwedd .rbf (hynny yw, a yw'r file wedi'i gywasgu a/neu wedi'i amgryptio). Mae C5soc, a'r Dyluniad Cyfeirnod Caledwedd Aur sydd ar gael gyda'r SoC EDS, yn cynnwys delweddau .rbf cywasgedig ond heb eu hamgryptio. Mae'r gosodiadau switsh SW3 DIP a ddisgrifir yn y Intel FPGA SDK ar gyfer OpenCL Cyclone V SoC Getting Started Guide yn cyd-fynd â'r cyfluniad delwedd .rbf hwn.
Dolenni Perthnasol
- Rhyngwynebau HPS-FPGA
- Ffurfweddu'r Switsys SW3
1.4.1 Manylion Pensaernïaeth System FPGA
Mae cefnogaeth ar gyfer Llwyfan Cyfeirio Pecyn Datblygu Cyclone V SoC yn seiliedig ar y Platfform Cyfeirio Stratix® V (s5_ref), sydd ar gael gyda'r Intel FPGA SDK ar gyfer OpenCL.
Mae trefniadaeth gyffredinol y system c5soc Qsys a'r gyrrwr cnewyllyn yn debyg iawn i'r rhai yn s5_ref.
Mae'r cydrannau craidd FPGA canlynol yr un peth yn c5soc a s5_ref:
- VERSION_ID bloc
- Mecanwaith gorffwys
- Rhannwr banc cof
- Rhyngwyneb snoop cache
- Cnewyllyn cloc
- Rheoli blociau mynediad i'r gofrestr (CRA).
1.5 Adeiladu Delwedd Cerdyn Flash SD
Oherwydd bod y Cyclone V SoC FPGA yn system lawn ar sglodyn, chi sy'n gyfrifol am gyflwyno diffiniad llawn y system. Mae Intel yn argymell eich bod yn ei gyflwyno ar ffurf delwedd cerdyn fflach SD. Gall y Intel FPGA SDK ar gyfer defnyddiwr OpenCL ysgrifennu'r ddelwedd i'r cerdyn fflach micro SD ac mae bwrdd SoC FPGA yn barod i'w ddefnyddio.
Addasu Delwedd Cerdyn Flash SD Presennol ar dudalen 13
Mae Intel yn argymell eich bod yn syml yn addasu'r ddelwedd sydd ar gael gyda Llwyfan Cyfeirio Pecyn Datblygu Cyclone V SoC. Mae gennych hefyd yr opsiwn i greu delwedd cerdyn fflach SD newydd.
Creu Delwedd Cerdyn Flash SD ar dudalen 14
Mae gennych hefyd yr opsiwn i greu delwedd cerdyn fflach SD newydd.
1.5.1 Addasu Delwedd Cerdyn Flash SD Presennol
Mae Intel yn argymell eich bod yn syml yn addasu'r ddelwedd sydd ar gael gyda'r Cyclone V SoC
Llwyfan Cyfeirio Pecyn Datblygu. Mae gennych hefyd yr opsiwn i greu delwedd cerdyn fflach SD newydd.
Y ddelwedd c5soc linux_sd_card_image.tgz file ar gael yn y cyfeiriadur ALTERAOCLSDKROOT/board/c5soc, lle mae ALTERAOCLSDKROOT yn pwyntio at lwybr yr Intel FPGA SDK ar gyfer cyfeiriadur gosod OpenCL.
Sylw: I addasu delwedd cerdyn fflach SD, rhaid bod gennych breintiau gwraidd neu sudo.
- I ddatgywasgu'r $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz file, rhedeg y gorchymyn tar xvfzlinux_sd_card_image.tgz.
- Lluniwch yr helo_world OpenCL exampdylunio gan ddefnyddio eich cefnogaeth Platfform Custom. Ail-enwi y .rbf file bod y Intel FPGA SDK ar gyfer OpenCL Offline Compiler yn cynhyrchu fel opencl.rbf, a'i roi ar y rhaniad fat32 o fewn delwedd cerdyn fflach SD.
Gallwch chi lawrlwytho'r helo_world example design o'r OpenCL Design Examptudalen les ar yr Altera websafle. - Gosodwch y .rbf file i mewn i raniad fat32 delwedd y cerdyn fflach.
Sylw: Rhaid i'r rhaniad fat32 gynnwys y zImage file a'r .rbf file. Heb .rbf file, bydd gwall angheuol yn digwydd pan fyddwch chi'n mewnosod y gyrrwr. - Ar ôl i chi greu delwedd y cerdyn SD, ysgrifennwch ef at gerdyn micro SD trwy alw'r gorchymyn canlynol: sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
- I brofi delwedd eich cerdyn fflach SD, gwnewch y tasgau canlynol:
a. Mewnosodwch y cerdyn fflach micro SD i fwrdd SoC FPGA.
b. Pwerwch y bwrdd i fyny.
c. Rhowch y gorchymyn cyfleustodau diagnosis aocl.
1.5.2 Creu Delwedd Cerdyn Flash SD
Mae gennych hefyd yr opsiwn i greu delwedd cerdyn fflach SD newydd. Mae cyfarwyddiadau generig ar adeiladu delwedd cerdyn fflach SD newydd ac ailadeiladu delwedd cerdyn fflach SD presennol ar gael ar dudalen Cerdyn SD GSRD v14.0.2 ar y RocketBoards.org websafle.
Mae'r camau isod yn disgrifio'r weithdrefn ar gyfer creu delwedd linux_sd_card_image.tgz o ddelwedd cerdyn fflach SD Dylunio Cyfeirnod y System Aur (GSRD):
Nodyn:
I greu'r ddelwedd o'r ddelwedd c5soc, gwnewch yr holl dasgau cymwys a amlinellir yn y weithdrefn hon.
- Dadlwythwch a dadbacio fersiwn delwedd cerdyn fflach GSRD SD 14.0 o Rocketboards.org.
- Mount y file tabl dyrannu (braster32) ac estynedig file rhaniadau system (ext3) yn y ddelwedd hon fel dyfeisiau dolen yn ôl. I osod rhaniad, dilynwch y camau canlynol:
a. Darganfyddwch ddechreuad beit y rhaniad o fewn y ddelwedd trwy alw'r / sbin / fdisk -lu image_file gorchymyn.
Am gynample, mae rhaniad rhif 1 o fath W95 FAT â gwrthbwyso bloc o 2121728. Gyda 512 bytes fesul bloc, y gwrthbwyso beit yw 512 bytes x 2121728 = 1086324736 bytes.
b. Nodi dyfais dolen rydd (ar gyfer example, /dev/loop0) trwy deipio'r gorchymyn losetup -f.
c. Gan dybio /dev/loop0 yw'r ddyfais dolen rhad ac am ddim, aseinio delwedd eich cerdyn fflach i'r ddyfais bloc dolen trwy alw ar y losetup /dev/loop0 image_file -0 1086324736 gorchymyn.
d. Gosodwch y ddyfais ddolen trwy alw'r gorchymyn mount /dev/loop0 / media/disk1.
O fewn y ddelwedd fileMae , /media/disk1 bellach yn rhaniad fat32 wedi'i fowntio.
e. Ailadroddwch gamau a i d ar gyfer y rhaniad ext3. - Dadlwythwch fersiwn Cyclone V SoC FPGA o becyn Amgylchedd Amser Rhedeg Intel FPGA ar gyfer OpenCL o'r Ganolfan Lawrlwytho ar yr Altera websafle.
a. Cliciwch ar y botwm Lawrlwytho wrth ymyl rhifyn meddalwedd Quartus Prime.
b. Nodwch y fersiwn rhyddhau, y system weithredu, a'r dull lawrlwytho.
c. Cliciwch ar y tab Meddalwedd Ychwanegol, a dewiswch i lawrlwytho Intel FPGA
Amgylchedd Amser Rhedeg ar gyfer Seiclon OpenCL Linux V SoC TGZ.
d. Ar ôl i chi lawrlwytho'r aocl-rte- .arm32.tgz file, ei ddadbacio i
cyfeiriadur yr ydych yn berchen arno. - Rhowch yr aocl-rte- heb ei bacio cyfeiriadur .arm32 i mewn i'r cyfeiriadur /home/root/opencl_arm32_rte ar raniad ext3 y ddelwedd file.
- Dileu ffolder(iau) caledwedd eich Platfform Custom, ac yna gosod y Platfform Custom yn is-gyfeiriadur bwrdd /home/root/ opencl_arm32_rte.
- Creu'r init_opencl.sh file yn y cyfeiriadur / cartref / gwraidd gyda'r cynnwys canlynol: allforio ALTERAOCLSDKROOT = / home / root / opencl_arm32_rte allforio AOCL_BOARD_PACKAGE_ROOT = $ ALTERAOCLSDKROOT / bwrdd / allforio PATH=$ALTERAOCLSDKROOT/bin: $PATH allforio LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/host/arm32/lib:$LD_LIBRARY_PATH mewn $AOCL_BOARD_PACKAGE_ROOT/driver/aclsoc_drv.ko
Mae'r defnyddiwr SDK yn rhedeg y gorchymyn ffynhonnell ./init_opencl.sh i lwytho'r newidynnau amgylchedd a gyrrwr cnewyllyn OpenCL Linux. - Os oes angen i chi ddiweddaru'r rhaglwythwr, y DTS files, neu'r cnewyllyn Linux, mae angen y compiler braich-linux-gnueabihf-gcc o'r SoC EDS. Dilynwch y cyfarwyddiadau a amlinellir yng Nghanllaw Defnyddiwr Suite Dylunio Embedded Intel SoC FPGA i gaffael y feddalwedd, eu hail-grynhoi, a diweddaru'r perthnasol files ar y rhaniad fat32 mowntio.
Sylw: Mae'n fwyaf tebygol bod angen i chi ddiweddaru'r rhaglwythwr os oes gan eich Platfform Custom wahanol ddefnyddiau pin na'r rhai yn c5soc.
Cofiwch: Os ydych chi'n ail-grynhoi'r cnewyllyn Linux, ail-grynhowch y gyrrwr cnewyllyn Linux gyda'r un ffynhonnell cnewyllyn Linux files. Os oes diffyg cyfatebiaeth rhwng y gyrrwr cnewyllyn Linux a'r cnewyllyn Linux, ni fydd y gyrrwr yn llwytho. Hefyd, rhaid i chi alluogi'r CMA.
Cyfeiriwch at Ail-grynhoi'r Cnewyllyn Linux am ragor o wybodaeth. - Lluniwch yr helo_world OpenCL exampdylunio gan ddefnyddio eich cefnogaeth Platfform Custom. Ail-enwi y .rbf file bod y Intel FPGA SDK ar gyfer OpenCL Offline Compiler yn cynhyrchu fel opencl.rbf, a'i roi ar y rhaniad fat32 o fewn delwedd cerdyn fflach SD.
Gallwch chi lawrlwytho'r helo_world example design o'r OpenCL Design Examptudalen les ar yr Altera websafle.
9. Ar ôl i chi storio'r holl angenrheidiol files ar y ddelwedd cerdyn fflach, galwch y gorchmynion canlynol:
a. cysoni
b. dad-osod / cyfryngau / disg1
c. dadosod lle yw'r enw cyfeiriadur a ddefnyddiwch ar gyfer gosod y rhaniad ext3 yn 3 ar dudalen 3 (ar gyfer example, /media/disk2).
d. losetup -d /dev/loop0
e. collitup -d /dev/loop1 - Cywasgwch ddelwedd cerdyn fflach SD trwy alw'r gorchymyn canlynol: tar cvfz .tgz linux_sd_card_image
- Cyflwyno'r .tgz file y tu mewn i gyfeiriadur gwraidd eich Platfform Custom.
- I brofi delwedd eich cerdyn fflach SD, gwnewch y tasgau canlynol:
a. Ysgrifennwch y ddelwedd anghywasgedig ar gerdyn fflach micro SD.
b. Mewnosodwch y cerdyn fflach micro SD i fwrdd SoC FPGA.
c. Pwerwch y bwrdd i fyny.
d. Defnyddio'r gorchymyn cyfleustodau diagnosis aocl.
Dolenni Perthnasol
- Canllaw Defnyddiwr Ystafell Ddylunio Embedded Intel SoC FPGA
- OpenCL Design Examptudalen les ar yr Altera websafle
- Wrthi'n ail-grynhoi'r Cnewyllyn Linux ar dudalen 16
I alluogi'r CMA, yn gyntaf rhaid i chi ail-grynhoi'r cnewyllyn Linux. - Cwestiynu Enw Dyfais eich Bwrdd FPGA (diagnosis)
1.6 Llunio'r Cnewyllyn Linux ar gyfer Seiclon V SoC FPGA
Cyn rhedeg cymwysiadau OpenCL ar fwrdd Cyclone V SoC FPGA, rhaid i chi lunio'r ffynhonnell cnewyllyn Linux, a llunio a gosod gyrrwr cnewyllyn OpenCL Linux.
- Wrthi'n ail-grynhoi'r Cnewyllyn Linux ar dudalen 16
I alluogi'r CMA, yn gyntaf rhaid i chi ail-grynhoi'r cnewyllyn Linux. - Llunio a Gosod Gyrrwr Cnewyllyn OpenCL Linux ar dudalen 17 Lluniwch yrrwr cnewyllyn OpenCL Linux yn erbyn y ffynhonnell cnewyllyn a luniwyd.
1.6.1 Ail-grynhoi'r Cnewyllyn Linux
I alluogi'r CMA, yn gyntaf rhaid i chi ail-grynhoi'r cnewyllyn Linux.
- Cliciwch ar y ddolen GSRD v14.0 - Llunio Linux ar dudalen Adnoddau'r RocketBoards.org websafle i gyrchu cyfarwyddiadau ar lawrlwytho ac ailadeiladu cod ffynhonnell cnewyllyn Linux.
I'w ddefnyddio gyda'r ™ Intel FPGA SDK ar gyfer OpenCL, nodwch socfpga-3.13-rel14.0 fel y . - Nodyn: Mae'r broses adeiladu yn creu'r bwa/braich/configs/socfpga_defconfig file. hwn file yn pennu'r gosodiadau ar gyfer y ffurfweddiad rhagosodedig socfpga.
Ychwanegwch y llinellau canlynol i waelod y bwa/braich/configs/socfpga_defconfig file.
CONFIG_MEMORY_ISOLATION=y
CONFIG_CMA=y
CONFIG_DMA_CMA=y
CONFIG_CMA_DEBUG=y
CONFIG_CMA_SIZE_MBYTES=512
CONFIG_CMA_SIZE_SEL_MBYTES=y
CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA_AREAS=7
Mae gwerth cyfluniad CONFIG_CMA_SIZE_MBYTES yn gosod y terfyn uchaf ar gyfanswm nifer y cof ffisegol gyffiniol sydd ar gael. Gallwch gynyddu'r gwerth hwn os oes angen mwy o gof arnoch. - Sylw: Cyfanswm y cof corfforol sydd ar gael i'r prosesydd ARM ar fwrdd SoC FPGA yw 1 GB. Nid yw Intel yn argymell eich bod yn gosod y rheolwr CMA yn agos at 1 GB.
- Rhedeg y gorchymyn gwneud mrproper i lanhau'r cyfluniad cyfredol.
- Rhedeg y gorchymyn make ARCH=arm socfpga_deconfig.
Mae ARCH=braich yn nodi eich bod am ffurfweddu'r bensaernïaeth ARM.
socfpga_defconfig yn nodi eich bod am ddefnyddio'r ffurfweddiad socfpga rhagosodedig. - Rhedeg y gorchymyn allforio CROSS_COMPILE=arm-linux-gnueabihf-.
Mae'r gorchymyn hwn yn gosod y newidyn amgylchedd CROSS_COMPILE i nodi rhagddodiad y gadwyn offer a ddymunir. - Rhedeg y gorchymyn gwneud ARCH=arm zImage. Mae'r ddelwedd ganlyniadol ar gael yn y bwa/braich/cist/zImage file.
- Gosodwch y zImage file i mewn i raniad fat32 delwedd y cerdyn fflach. Am gyfarwyddiadau manwl, cyfeiriwch at y Llawlyfr Defnyddiwr GSRD sy'n benodol i Seiclon V SoC FPGA ar Rocketboards.org.
- Nodyn: I fewnosod y gyrrwr cnewyllyn OpenCL Linux yn gywir, llwythwch SDKgenerated.rbf yn gyntaf file i'r FPGA.
I greu y .rbf file, llunio dyluniad SDK cynampgyda Llwyfan Cyfeirio Pecyn Datblygu Cyclone V SoC fel y Platfform Custom wedi'i dargedu.
9. Gosodwch y .rbf file i mewn i raniad fat32 delwedd y cerdyn fflach.
Sylw: Rhaid i'r rhaniad fat32 gynnwys y zImage file a'r .rbf file. Heb .rbf file, bydd gwall angheuol yn digwydd pan fyddwch chi'n mewnosod y gyrrwr. - Mewnosodwch y cerdyn micro SD wedi'i raglennu, sy'n cynnwys delwedd y cerdyn SD y gwnaethoch chi ei addasu neu ei greu yn gynharach, yn y Pecyn Datblygu SoC Seiclon V ac yna pweru bwrdd SoC FPGA.
- Dilyswch y fersiwn o'r cnewyllyn Linux sydd wedi'i osod trwy redeg y gorchymyn uname -r.
- I wirio eich bod yn galluogi'r CMA yn llwyddiannus yn y cnewyllyn, gyda bwrdd SoC FPGA wedi'i bweru, rhedwch y gorchymyn grep init_cma / proc/kallsyms.
Mae CMA wedi'i alluogi os nad yw'r allbwn yn wag. - I ddefnyddio'r cnewyllyn Linux wedi'i ail-grynhoi gyda'r SDK, lluniwch a gosodwch y gyrrwr cnewyllyn Linux.
Dolenni Perthnasol
- Llawlyfr Defnyddiwr Dylunio Cyfeirnod System Aur (GSRD).
- Adeiladu Delwedd Cerdyn Flash SD ar dudalen 13
Oherwydd bod y Cyclone V SoC FPGA yn system lawn ar sglodyn, chi sy'n gyfrifol am gyflwyno diffiniad llawn y system.
1.6.2 Llunio a Gosod Gyrrwr Cnewyllyn OpenCL Linux
Lluniwch yrrwr cnewyllyn OpenCL Linux yn erbyn y ffynhonnell cnewyllyn a luniwyd.
Mae ffynhonnell y gyrrwr ar gael yn fersiwn Cyclone V SoC FPGA o Amgylchedd Amser Rhedeg Intel FPGA ar gyfer OpenCL. Yn ogystal, sicrhewch eich bod wedi llwytho Intel FPGA SDK ar gyfer .rbf a gynhyrchir gan OpenCL file i mewn i'r FPGA i atal gosod y modiwl cnewyllyn Linux yn anghywir.
- Dadlwythwch fersiwn Cyclone V SoC FPGA o becyn Amgylchedd Amser Rhedeg Intel FPGA ar gyfer OpenCL o'r Ganolfan Lawrlwytho ar yr Altera websafle.
a. Cliciwch ar y botwm Lawrlwytho wrth ymyl rhifyn meddalwedd Quartus Prime.
b. Nodwch y fersiwn rhyddhau, y system weithredu, a'r dull lawrlwytho.
c. Cliciwch ar y tab Meddalwedd Ychwanegol, a dewiswch i lawrlwytho Intel FPGA
Amgylchedd Amser Rhedeg ar gyfer Seiclon OpenCL Linux V SoC TGZ.
d. Ar ôl i chi lawrlwytho'r aocl-rte- .arm32.tgz file, ei ddadbacio i
cyfeiriadur yr ydych yn berchen arno.
Mae ffynhonnell y gyrrwr yn yr aocl-rte- .arm32/board/c5soc/ cyfeiriadur gyrrwr. - I ail-grynhoi'r gyrrwr cnewyllyn OpenCL Linux, gosodwch y gwerth KDIR yn Make y gyrrwrfile i'r cyfeiriadur sy'n cynnwys y ffynhonnell cnewyllyn Linux files.
- Rhedeg y gorchymyn allforio CROSS_COMPILE=arm-linux-gnueabihf- i nodi rhagddodiad eich cadwyn offer.
- Rhedeg y gorchymyn gwneud glân.
- Rhedeg y gorchymyn gwneud i greu'r aclsoc_drv.ko file.
- Trosglwyddwch y cyfeiriadur opencl_arm32_rte i fwrdd Cyclone V SoC FPGA.
Rhedeg y scp -r gwraidd@eich-ipaddress: gorchymyn yn gosod yr amgylchedd Rhedeg yn y cyfeiriadur / cartref / gwraidd. - Rhedeg y sgript init_opencl.sh a greoch pan wnaethoch chi adeiladu'r cardimage SD.
- Rhowch y gorchymyn cyfleustodau diagnosis aocl. Bydd y cyfleustodau diagnosis yn dychwelyd canlyniad pasio ar ôl i chi redeg init_opencl.sh yn llwyddiannus.
1.7 Materion Hysbys
Ar hyn o bryd, mae rhai cyfyngiadau ar y defnydd o'r Intel FPGA SDK ar gyfer OpenCL gyda Llwyfan Cyfeirio Pecyn Datblygu Cyclone V SoC.
- Ni allwch ddiystyru enwau'r gwerthwr a'r bwrdd a adroddwyd gan y llinynnau CL_DEVICE_VENDOR a CL_DEVICE_NAME galwad clGetDeviceInfo().
- Os yw'r gwesteiwr yn dyrannu cof cyson mewn system DDR a rennir (hynny yw, HPS DDR) a'i fod yn addasu'r cof cyson ar ôl gweithredu cnewyllyn, gallai'r data yn y cof fynd yn hen ffasiwn. Mae'r mater hwn yn codi oherwydd na all craidd FPGA snoop ar drafodion CPU-i-HPS DDR.
Er mwyn atal dienyddiadau cnewyllyn dilynol rhag cyrchu data sydd wedi dyddio, rhowch un o'r atebion canlynol ar waith:
• Peidiwch ag addasu cof cyson ar ôl ei gychwyn.
• Os oes angen setiau data __constant lluosog arnoch, crëwch fyfferau cof cyson lluosog.
• Os yw ar gael, neilltuwch gof cyson yn y FPGA DDR ar eich bwrdd cyflymu. - Mae'r cyfleustodau SDK ar ARM yn cefnogi'r rhaglen yn unig ac yn gwneud diagnosis o orchmynion cyfleustodau.
Nid yw'r gorchmynion cyfleustodau fflach, gosod a dadosod yn berthnasol i'r Pecyn Datblygu SoC Cyclone V am y rhesymau canlynol:
a. Rhaid i'r cyfleustodau gosod lunio'r gyrrwr cnewyllyn Linux aclsoc_drv a'i alluogi ar y SoC FPGA. Rhaid i'r peiriant datblygu berfformio'r casgliad; fodd bynnag, mae eisoes yn cynnwys ffynonellau cnewyllyn Linux ar gyfer y SoC FPGA. Mae'r ffynonellau cnewyllyn Linux ar gyfer y peiriant datblygu yn wahanol i'r rhai ar gyfer y SoC FPGA. Mae'n debyg bod lleoliad ffynonellau cnewyllyn Linux ar gyfer y SoC FPGA yn anhysbys i'r defnyddiwr SDK. Yn yr un modd, nid yw'r cyfleustodau dadosod hefyd ar gael i'r Pecyn Datblygu SoC Cyclone V.
Hefyd, mae cyflwyno aclsoc_drv i'r bwrdd SoC yn heriol oherwydd nid yw dosbarthiad diofyn Pecyn Datblygu SoC Cyclone V yn cynnwys cnewyllyn Linux yn cynnwys files neu grynhoydd Casgliad Crynhwyr GNU (GCC).
b. Mae'r cyfleustodau fflach yn gofyn am osod .rbf file o ddyluniad OpenCL ar raniad FAT32 y cerdyn fflach micro SD. Ar hyn o bryd, nid yw'r rhaniad hwn wedi'i osod pan fydd y defnyddiwr SDK yn pweru'r bwrdd. Felly, y ffordd orau o ddiweddaru'r rhaniad yw defnyddio darllenydd cerdyn fflach a'r peiriant datblygu. - Wrth newid rhwng y Intel FPGA SDK ar gyfer OpenCL Offline Compiler gweithredadwy files (.aocx) sy'n cyfateb i amrywiadau bwrdd gwahanol (hynny yw, c5soc a c5soc_sharedonly), rhaid i chi ddefnyddio cyfleustodau rhaglen y SDK i lwytho'r .aocx file ar gyfer yr amrywiad bwrdd newydd am y tro cyntaf. Os ydych chi'n rhedeg y cymhwysiad gwesteiwr gan ddefnyddio amrywiad bwrdd newydd ond mae'r FPGA yn cynnwys y ddelwedd o amrywiad bwrdd arall, gallai gwall angheuol ddigwydd.
- Yr .qxp file nid yw'n cynnwys yr aseiniadau rhaniad rhyngwyneb oherwydd bod meddalwedd Quartus Prime yn bodloni gofynion amseru'r rhaniad hwn yn gyson.
- Pan fyddwch chi'n pweru'r bwrdd, mae ei gyfeiriad rheoli mynediad cyfryngau (MAC) wedi'i osod i rif ar hap. Os nad yw'ch polisi LAN yn caniatáu'r ymddygiad hwn, gosodwch y cyfeiriad MAC trwy gyflawni'r tasgau canlynol:
a. Yn ystod pŵer i fyny U-Boot, pwyswch unrhyw allwedd i fynd i mewn i'r gorchymyn U-Boot yn brydlon.
b. Type setenv ethaddr 00:07:ed:00:00:03 wrth y gorchymyn yn brydlon.
Gallwch ddewis unrhyw gyfeiriad MAC.
c. Teipiwch y gorchymyn saveenv.
d. Ailgychwyn y bwrdd.
1.8 Hanes Adolygu Dogfennau
Tabl 1 .
Hanes Adolygu Dogfennau'r Intel FPGA SDK ar gyfer OpenCL Cyclone V SoC
Canllaw Porthladd Platfform Cyfeirio Pecyn Datblygu
Dyddiad | Fersiwn | Newidiadau |
Mai-17 | 2017.05.08 | •Rhyddhau cynnal a chadw. |
Hydref 2016 | 2016.10.31 | • Wedi ailfrandio Altera SDK ar gyfer OpenCL i Intel FPGA SDK ar gyfer OpenCL. •Casglydd All-lein Altera wedi'i ailfrandio i Intel FPGA SDK ar gyfer Casglwr All-lein OpenCL. |
Mai-16 | 2016.05.02 | • Cyfarwyddiadau wedi'u haddasu ar adeiladu ac addasu delwedd cerdyn fflach SD. • Cyfarwyddiadau wedi'u haddasu ar ail-grynhoi'r cnewyllyn Linux a'r gyrrwr cnewyllyn Linux OpenCL. |
Tachwedd-15 | 2015.11.02 | •Rhyddhau cynnal a chadw, a newid achosion o Quartus II i Quartus Prime. |
Mai-15 | 15.0.0 | •Yn FPGA Reconfiguration, dileu cyfarwyddyd i ailraglennu craidd FPGA gyda . delw rbf trwy alw y gath fileenw >. rbf Gorchymyn > /dev/ fpga0 oherwydd nid yw'r dull hwn yn cael ei argymell. |
Rhagfyr-14 | 14.1.0 | •Ailenwyd y ddogfen fel Canllaw Cludo Platfform Cyfeirio Pecyn Datblygu Cyclone V SoC Altera. •Diweddaru'r cyfleustodau reprogram i'r rhaglen aoclfileenw>.aocx gorchymyn cyfleustodau. •Diweddaru'r cyfleustodau diagnostig i'r diagnosis aocl a'r diagnosis aocl gorchymyn cyfleustodau. •Diweddaru'r weithdrefn yn yr adran Cludo'r Llwyfan Cyfeirio i'ch Bwrdd SoC i gynnwys cyfarwyddiadau ar gludo ac addasu'r rhaniad bwrdd c5soc i greu rhaniad amser-lân ar gyfer y llif cau amseru gwarantedig. •Mewnosod y testun Diweddaru Llwyfan Cyfeirio Porth i amlinellu'r gweithdrefnau ar gyfer y tasgau canlynol: 1.Excluding y system prosesydd caled (HPS) bloc yn y rhaniad bwrdd 2.Updating y ddelwedd cerdyn fflach SD •Diweddaru'r adran Adeiladu Delwedd Cerdyn Flash SD. Argymhellir defnyddio fersiwn 14.0 o ddelwedd Golden System Reference Design (GSRD) fel man cychwyn yn lle'r ddelwedd sydd ar gael gyda SoC Embedded Design Suite (EDS). •Diweddaru'r adran Recompiling the Linux Kernel a'r OpenCL Linux Kernel Driver: 1.Cyfarwyddyd ychwanegol i osod y newidyn CROSS COMPILE. 2.Newid y gorchymyn rydych chi'n ei redeg i wirio bod y CMA wedi'i alluogi'n llwyddiannus. |
Gorffennaf-14 | 14.0.0 | •Cyhoeddiad Cychwynnol. |
Dogfennau / Adnoddau
![]() |
intel FPGA SDK ar gyfer OpenCL [pdfCanllaw Defnyddiwr FPGA SDK ar gyfer OpenCL, FPGA SDK, SDK ar gyfer OpenCL, SDK |