intel - logoFPGA SDK til OpenCL
Brugervejledning

UG-OCL009
2017.05.08
Sidst opdateret til Intel® Quartus® Prime Design Suite: 17.0

RENPHO RF FM059HS WiFi Smart Foot Massager - ikon 5Abonner
SAMSUNG SM A136UZKZAIO Galaxy A13 5G Smartphone - ikon 12Send feedback

Intel® FPGA SDK til OpenCL™ Intel® Cyclone®V SoC Development Kit Reference Platform Porting Guide

V SoC Development Kit Reference Platform Porting Guide beskriver hardware- og softwaredesignet af Intel Cyclone V SoC Development Kit Reference Platform (c5soc) til brug med Intel Software Development Kit (SDK) til OpenCL Intel ® FPGA SDK til OpenCL ™ Intel Cyclone ® . Inden du begynder, anbefaler Intel på det kraftigste, at du gør dig bekendt med indholdet af følgende dokumenter:

  1. Intel FPGA SDK til OpenCLIntel Cyclone V SoC Kom godt i gang Guide
  2. Brugervejledning til Intel FPGA SDK til OpenCL Custom Platform Toolkit
  3. Cyclone V Device Handbook, bind 3: Hard Processor System Technical Reference Manual Se desuden siden Cyclone V SoC Development Kit og SoC Embedded Design Suite på Altera webwebsted for mere information. 1 2

Opmærksomhed: Intel antager, at du har en dybdegående forståelse af Intel FPGA SDK for OpenCL Custom Platform Toolkit User Guide. Cyclone V SoC Development Kit Reference Platform Porting Guide beskriver ikke brugen af ​​SDK's Custom Platform Toolkit til at implementere en Custom Platform til Cyclone V SoC Development Kit. Den beskriver kun forskellene mellem SDK-understøttelsen på Cyclone V SoC Development Kit og en generisk Intel FPGA SDK til OpenCL Custom Platform.

Relaterede links

  • Intel FPGA SDK til OpenCL Cyclone V SoC Kom godt i gang Guide
  • Brugervejledning til Intel FPGA SDK til OpenCL Custom Platform Toolkit
  • Cyclone V Device Handbook, bind 3: Hard Processor System Technical Reference Manual
  • Cyclone V SoC Development Kit og SoC Embedded Design Suite-siden på Altera webwebsted
  1. OpenCL og OpenCL-logoet er varemærker Apple Inc., der bruges med tilladelse fra Khronos Group™.
  2. Intel FPGA SDK til OpenCL er baseret på en offentliggjort Khronos-specifikation og har bestået Khronos Conformance Testing Process. Aktuel overensstemmelsesstatus kan findes på www.khronos.org/conformance.

Intel Corporation. Alle rettigheder forbeholdes. Intel, Intel-logoet, Altera, Arria, Cyclone, Enpirion, MAX, Nios, Quartus og Stratix-ord og -logoer er varemærker tilhørende Intel Corporation eller dets datterselskaber i USA og/eller andre lande. Intel garanterer ydeevnen af ​​sine FPGA- og halvlederprodukter i henhold til de aktuelle specifikationer i overensstemmelse med Intels standardgaranti, men forbeholder sig retten til at foretage ændringer af produkter og tjenester til enhver tid uden varsel. Intel påtager sig intet ansvar eller erstatningsansvar som følge af applikationen eller brugen af ​​oplysninger, produkter eller tjenester beskrevet heri, undtagen som udtrykkeligt skriftligt aftalt af Intel. Intel-kunder rådes til at indhente den seneste version af enhedsspecifikationerne, før de stoler på nogen offentliggjort information, og før de afgiver ordrer på produkter eller tjenester.
*Andre navne og mærker kan hævdes at være andres ejendom.

1.1.1 Cyclone V SoC Development Kit Reference Platform Board Varianter
Intel FPGA SDK til OpenCL Cyclone V SoC Development Kit Reference Platform inkluderer to kortvarianter.

  • c5soc bord
    Dette standardkort giver adgang til to DDR-hukommelsesbanker. HPS DDR er tilgængelig for både FPGA og CPU. FPGA DDR er kun tilgængelig via FPGA.
  • c5soc_sharedonly board
    Denne kortvariant indeholder kun HPS DDR-forbindelse. FPGA DDR er ikke tilgængelig. Denne kortvariant er mere arealeffektiv, fordi mindre hardware er nødvendig for at understøtte én DDR-hukommelsesbank. c5soc_sharedonly-kortet er også en god prototypeplatform til et endeligt produktionskort med en enkelt DDR-hukommelsesbank.
    For at målrette mod denne bordvariant, når du kompilerer din OpenCL-kerne, skal du inkludere -board c5soc_sharedonly-indstillingen i din aoc-kommando.
    For mere information om –tavlen mulighed for aoc-kommandoen, se Intel FPGA SDK for OpenCL-programmeringsvejledningen.

Relaterede links
Kompilering af en kerne til et specifikt FPGA-kort (–board )
1.1.2 Indhold af referenceplatformen for Cyclone V SoC Development Kit
Cyclone V SoC Development Kit-referenceplatformen består af følgende files og mapper:

File eller Directory Beskrivelse
board_env.xml eXtensible Markup Language (XML) file der beskriver c5soc til Intel FPGA SDK til OpenCL.
linux_sd_card_image.tgz Komprimeret SD flash-kort billede file der indeholder alt, hvad en SDK-bruger skal bruge for at bruge Cyclone V SoC Development Kit med SDK.
arm 32 Katalog, der indeholder følgende:

1.1.3 Relevante funktioner i Cyclone V SoC Development Kit

Følgende liste fremhæver komponenterne og funktionerne i Cyclone V SoC Development Kit, der er relevante for Intel FPGA SDK til OpenCL:

  • Dual-core ARM Cortex-A9 CPU, der kører 32-bit Linux.
  • Advanced eXtensible Interface (AXI)-bus mellem HPS og FPGA-kernestoffet.
  • To hærdede DDR-hukommelsescontrollere, der hver forbindes til en 1 gigabyte (GB) DDR3 SDRAM.
    — Én DDR-controller er kun tilgængelig for FPGA-kernen (det vil sige FPGA DDR).
    — Den anden DDR-controller er tilgængelig for både HPS og FPGA (det vil sige HPS DDR). Denne delte controller tillader fri hukommelsesdeling mellem CPU'en og FPGA-kernen.
  • CPU'en kan omkonfigurere FPGA-kernestoffet.

1.1.3.1 Cyclone V SoC Development Kit Reference Platform Designmål og beslutninger Intel baserer implementeringen af ​​Cyclone V SoC Development Kit Reference Platform på flere designmål og beslutninger. Intel anbefaler, at du overvejer disse mål og beslutninger, når du overfører denne referenceplatform til dit SoC FPGA-kort.
Nedenfor er c5soc designmålene:

  1. Giv den højest mulige båndbredde mellem kerner på FPGA'en og DDR-hukommelsessystemerne.
  2. Sørg for, at beregninger på FPGA'en (det vil sige OpenCL-kerner) ikke forstyrrer andre CPU-opgaver, der kan omfatte servicering af ydre enheder.
  3. Efterlad så mange FPGA-ressourcer som muligt til kerneberegninger i stedet for grænsefladekomponenter.

Nedenfor er de designbeslutninger på højt niveau, der er de direkte konsekvenser af Intels designmål:

  1. Referenceplatformen bruger kun hårde DDR-hukommelsescontrollere med den bredest mulige konfiguration (256 bit).
  2. FPGA'en kommunikerer direkte med HPS DDR-hukommelsescontrolleren uden at involvere AXI-bussen og L3-switchen inde i HPS'en. Den direkte kommunikation giver den bedst mulige båndbredde til DDR og forhindrer FPGA-beregninger i at forstyrre kommunikationen mellem CPU'en og dens periferi.
  3. Scatter-gather direkte hukommelsesadgang (SG-DMA) er ikke en del af FPGA-grænsefladelogikken. I stedet for at overføre store mængder data mellem DDR-hukommelsessystemer, skal du gemme dataene i den delte HPS DDR. Direkte adgang til CPU-hukommelse fra FPGA er mere effektiv end DMA. Det sparer hardwareressourcer (det vil sige FPGA-området) og forenkler Linux-kernedriveren.
    Advarsel: Hukommelsesoverførsel mellem det delte HPS DDR-system og DDR-systemet, der kun er tilgængeligt for FPGA, er meget langsom. Hvis du vælger at
    overfør hukommelse på denne måde, brug den kun til meget små mængder data.
  4. Værten og enheden udfører ikke-DMA-dataoverførsel mellem hinanden via HPS-til-FPGA (H2F)-broen ved kun at bruge en enkelt 32-bit port. Årsagen er, at uden DMA kan Linux-kernen kun udstede en enkelt 32-bit læse- eller skriveanmodning, så det er unødvendigt at have en bredere forbindelse.
  5. Værten sender styresignaler til enheden via en letvægts H2F (LH2F) bro.
    Fordi kontrolsignaler fra værten til enheden er signaler med lav båndbredde, er en LH2F-bro ideel til opgaven.

1.2 Portering af referenceplatformen til dit SoC FPGA-kort
For at portere Cyclone V SoC Development Kit Reference Platform til dit SoC FPGA-kort skal du udføre følgende opgaver:

  1. Vælg den ene DDR-hukommelse eller den to DDR-hukommelsesversion af c5soc Reference Platform som udgangspunktet for dit design.
  2. Opdater pin-placeringerne i ALTERAOCLSDKROOT/board/c5soc/ /top.qsf file, hvor ALTERAOCLSDKROOT er stien til placeringen af ​​Intel FPGA SDK til OpenCL-installation, og er katalognavnet på bordvarianten. c5soc_sharedonly-biblioteket er til kortvarianten med ét DDR-hukommelsessystem. c5soc-biblioteket er til kortvarianten med to DDR-hukommelsessystemer.
  3.  Opdater DDR-indstillingerne for HPS- og/eller FPGA SDRAM-blokkene i ALTERAOCLSDKROOT/board/c5soc/ /system.qsys file.
    4. Alle Intel FPGA SDK til OpenCL foretrukne kortdesign skal opnå garanteret timing lukning. Som sådan skal placeringen af ​​designet være timing ren. For at portere c5soc-kortpartitionen (acl_iface_partition.qxp) til dit SoC FPGA-kort skal du udføre følgende opgaver:
    For detaljerede instruktioner om ændring og bevarelse af board-partitionen henvises til Quartus
    Kapitlet Prime Incremental Compilation for hierarkisk og teambaseret design i Quartus Prime Standard Edition-håndbogen.
    en. Fjern acl_iface_partition.qxp fra mappen ALTERAOCLSDKROOT/board/c5soc/c5soc.
    b. Aktiver acl_iface_region LogicLock™-regionen ved at ændre Tcl-kommandoen set_global_assignment -name LL_ENABLED OFF -section_id acl_iface_region til set_global_assignment -name LL_ENABLED ON -section_id acl_iface_region
    c. Kompiler en OpenCL-kerne til dit board.
    d. Juster om nødvendigt størrelsen og placeringen af ​​LogicLock-regionen.
    e. Når du er tilfreds med, at placeringen af ​​dit design er timing ren, eksporter den partition som acl_iface_partition.qxp Quartus Prime Exported Partition File.
    Som beskrevet i afsnittet Etablering af garanteret timingflow i AIntel FPGA SDK for OpenCL Custom Platform Toolkit brugervejledning, ved at importere denne .qxp  file i top-niveau design, opfylder du kravet om at levere et board design med et garanteret timing closure flow.
    For faktorer, der kan påvirke kvaliteten af ​​resultaterne (QoR) af din eksporterede partition, henvises til General Quality of Results Considerations for the Exported Board Partition sektion i Intel FPGA SDK for OpenCL Custom Platform Toolkit User Guide.
    f. Deaktiver acl_iface_region LogicLock-regionen ved at vende kommandoen i trin 2 tilbage til set_global_assignment -name LL_ENABLED OFF section_id acl_iface_region.
  4. Hvis dit SoC FPGA-kort bruger forskellige ben og periferi af HPS-blokken, skal du regenerere preloaderen og enhedstrækilden (DTS) file. Hvis du ændrer indstillingerne for HPS DDR-hukommelsescontrolleren, skal du genskabe preloaderen.
  5. Opret SD-flashkortbilledet.
  6. Opret din brugerdefinerede platform, som inkluderer SD-flashkortbilledet.
  7. Overvej at oprette en runtime-miljøversion af din brugerdefinerede platform til brug med Intel FPGA Runtime Environment (RTE) til OpenCL. RTE-versionen af ​​din brugerdefinerede platform inkluderer ikke hardware-mapper og SD-flashkortbilledet. Denne brugerdefinerede platform indlæses på SoC FPGA-systemet for at tillade værtsapplikationer at køre. I modsætning hertil er SDK-versionen af ​​den tilpassede platform nødvendig for at SDK'et kan kompilere OpenCL-kerner.
    Tip: Du kan bruge SDK-versionen af ​​din brugerdefinerede platform til RTE. At gemme
    plads, skal du fjerne SD-flashkortbilledet fra RTE-versionen af ​​din brugerdefinerede platform.
  8. Test din brugerdefinerede platform.
    Se afsnittet Test af hardwaredesignet i Intel FPGA SDK for OpenCL Custom Platform Toolkit brugervejledning for at få flere oplysninger.

Relaterede links

  • Test af hardwaredesign
  • Quartus Prime Incremental Compilation til hierarkisk og teambaseret design
  • Etablering af garanteret timingflow
  • Generelle vurderinger af resultaternes kvalitet for den eksporterede bordpartition

1.2.1 Opdatering af en porteret referenceplatform
I den nuværende version af Cyclone V SoC Development Kit Reference Platform er HPS-blokken inde i den partition, der definerer al ikke-kernelogik. Du kan dog ikke eksportere HPS'en som en del af .qxp file. For at opdatere en eksisterende brugerdefineret platform, som du har ændret fra en tidligere version af c5soc, skal du implementere QXP-bevaringsflowet, opdatere SD-flash-kortbilledet for at få det seneste runtime-miljø og opdatere board_spec.xml file for at aktivere automigrering.
Altera® SDK for OpenCL version 14.1 og senere sonderer board_spec.xml file til bestyrelsesinformation og implementerer automatiske opdateringer. Fordi du ændrer
design ved at implementere QXP-bevaringsflowet, skal du opdatere board_spec.xml file til dets format i den aktuelle version. Opdatering af file tillader SDK'et at skelne mellem ubevarede brugerdefinerede platforme og de nuværende QXP-baserede brugerdefinerede platforme. Se brugervejledningen til Custom Platform Automigration for forward-kompatibilitet i Intel FPGA SDK for OpenCL Custom Platform Toolkit-brugervejledningen for at få flere oplysninger.

  1. For at implementere QXP-bevaringsflowet i et Cyclone V SoC FPGA-hardwaredesign, der er porteret fra en tidligere version af c5soc, skal du udføre følgende trin for at oprette en underpartition for at udelukke HPS'en fra .qxp'en. file:
    en. Før du opretter en partition omkring ikke-kernelogikken, skal du oprette en partition omkring HPS'en i .qsf Quartus Prime-indstillingerne File.
    F.eksampdet:
    # Partitioner manuelt den instans, der modellerer den HPS-dedikerede I/O set_instance_assignment -navn PARTITION_HIERARCHY borde_18261 -til "system:the_system|system_acl_iface:acl_iface|system_acl_iface_hps_0:hps_0|system_acl_0_iface_hpsio|system_acl_iface_hpsio| system_acl_iface_hps_0_hps_io_border:border" -section_id "system_acl_iface_hps_0_hps_io_border:border"
    # Indstil partitionen til at være en HPS_PARTITION-type, der skal behandles korrekt af resten af ​​Quartus
    set_global_assignment -navn 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=on
    –incremental_compilation_export_post_fit=on
    –incremental_compilation_export_routing=til
    –incremental_compilation_export_flatten=fra
    Når du har ekskluderet HPS'en fra partitionen, kan du importere .qxp file og kompilér dit design.
  2. Opdater SD-flashkortbilledet med den aktuelle version af Intel FPGA RTE til OpenCL ved at udføre følgende opgaver:
    en. Monter file tildelingstabel (fat32) og udvidet file system (ext3) partitioner i det eksisterende billede som loop-back-enheder. For detaljerede instruktioner, se trin 2 i Opbygning af et SD Flash-kortbillede.
    b. Fjern i mappen /home/root/opencl_arm32_rte files fra den tidligere version af RTE.
    c. Download og pak den aktuelle version af RTE'en ud i mappen /home/root/opencl_arm32_rte.
    d. I den /driver/version.h file på din tilpassede platform, skal du opdatere ACL_DRIVER_VERSION-tildelingen til . (f.eksample, 16.1.x, hvor 16.1 er SDK-versionen, og x er den driverversion, du har angivet).
    e. Genopbygge driveren.
    f. Slet hardwaremappen(e) på din brugerdefinerede platform. Kopier den brugerdefinerede platform sammen med den opdaterede driver til mappen /home/root/opencl_arm_rte/board.
    g. Kopier Altera.icd file fra mappen /home/root/opencl_arm32_rte og tilføj den til mappen /etc/OpenCL/vendors.
    h. Afmonter og test det nye billede. For detaljerede instruktioner henvises til trin 8 til 11 i Opbygning af et SD Flash-kortbillede.

Relaterede links

  • Oprettelse af et SD Flash-kortbillede på side 14
    Du har også mulighed for at oprette et nyt SD-flashkortbillede.
  • Brugerdefineret platformautomatigration for fremadrettet kompatibilitet

1.3 Softwareunderstøttelse til delt hukommelse
Delt fysisk hukommelse mellem FPGA og CPU er den foretrukne hukommelse for OpenCL-kerner, der kører på SoC FPGA'er. Fordi FPGA'en tilgår delt fysisk hukommelse, i modsætning til delt virtuel hukommelse, har den ikke adgang til CPU'ens sidetabeller, der kortlægger brugernes virtuelle adresser til fysiske sideadresser.
Med hensyn til hardwaren får OpenCL-kerner adgang til delt fysisk hukommelse gennem direkte forbindelse til HPS DDR-hardhukommelsescontrolleren. Med hensyn til softwaren involverer understøttelse af delt fysisk hukommelse følgende overvejelser:

  1. Typiske softwareimplementeringer til allokering af hukommelse på CPU'en (f.eksample, malloc()-funktionen) kan ikke allokere et hukommelsesområde, som FPGA'en kan bruge.
    Hukommelse, som malloc()-funktionen tildeler, er sammenhængende i det virtuelle hukommelsesadresserum, men det er usandsynligt, at underliggende fysiske sider er sammenhængende fysisk. Som sådan skal værten være i stand til at allokere fysisk sammenhængende hukommelsesregioner. Denne evne findes dog ikke i brugerrumsapplikationer på Linux. Derfor skal Linux-kernedriveren udføre allokeringen.
  2. OpenCL SoC FPGA Linux-kernedriveren inkluderer mmap()-funktionen til at allokere delt fysisk hukommelse og kortlægge den i brugerrummet. Mmap()-funktionen bruger standard Linux-kernekaldet dma_alloc_coherent() til at anmode om fysisk sammenhængende hukommelsesområder til deling med en enhed.
  3. I standard Linux-kernen tildeler dma_alloc_coherent() ikke fysisk sammenhængende hukommelse mere end 0.5 megabyte (MB) i størrelse. For at tillade dma_alloc_coherent() at allokere store mængder fysisk sammenhængende hukommelse, skal du aktivere funktionen Contiguous Memory Allocator (CMA) i Linux-kernen og derefter genkompilere Linux-kernen.
    For Cyclone V SoC Development Kit Reference Platform administrerer CMA 512 MB ud af 1 GB fysisk hukommelse. Du kan øge eller mindske denne værdi, afhængigt af mængden af ​​delt hukommelse, som programmet kræver. Kaldet dma_alloc_coherent() er muligvis ikke i stand til at allokere de fulde 512 MB fysisk sammenhængende hukommelse; den kan dog rutinemæssigt få ca. 450 MB hukommelse.
  4. CPU'en kan cache hukommelse, som dma_alloc_coherent()-kaldet allokerer. Især skriveoperationer fra værtsapplikationen er ikke synlige for OpenCL-kernerne. Mmap()-funktionen i OpenCL SoC FPGA Linux-kernedriveren indeholder også kald til funktionen pgprot_noncached() eller remap_pf_range() for eksplicit at deaktivere caching for denne region af hukommelsen.
  5. Efter funktionen dma_alloc_coherent() tildeler den fysisk sammenhængende hukommelse, returnerer funktionen mmap() den virtuelle adresse til begyndelsen af ​​området, som er adressespændet for den hukommelse, du tildeler. Værtsapplikationen kræver denne virtuelle adresse for at få adgang til hukommelsen. På den anden side kræver OpenCL-kernerne fysiske adresser. Linux-kernedriveren holder styr på den virtuelle-til-fysiske adressetilknytning. Du kan kortlægge de fysiske adresser, som mmap() returnerer til faktiske fysiske adresser ved at tilføje en forespørgsel til driveren.
    Aocl_mmd_shared_mem_alloc() MMD Application Programming Interface (API)-kaldet inkorporerer følgende forespørgsler:
    en. Mmap()-funktionen, der allokerer hukommelse og returnerer den virtuelle adresse.
    b. Den ekstra forespørgsel, der kortlægger den returnerede virtuelle adresse til fysisk adresse.
    aocl_mmd_shared_mem_alloc() MMD API-kaldet returnerer derefter to adresser
    - den faktiske returnerede adresse er den virtuelle adresse, og den fysiske adresse går til device_ptr_out.
    Note: Driveren kan kun kortlægge de virtuelle adresser, som funktionen mmap() returnerer til fysiske adresser. Hvis du anmoder om den fysiske adresse på en anden virtuel pointer, returnerer driveren en NULL-værdi.

Advarsel: Intel FPGA SDK for OpenCL runtime-biblioteker antager, at den delte hukommelse er den første hukommelse, der er angivet i board_spec.xml file. Med andre ord bliver den fysiske adresse, som Linux-kernedriveren får, den Avalon®-adresse, som OpenCL-kernen videregiver til HPS SDRAM.
Med hensyn til runtime-biblioteket skal du bruge clCreateBuffer()-kaldet til at allokere den delte hukommelse som en enhedsbuffer på følgende måde:

  • For to-DDR-kortvarianten med både delt og ikke-delt hukommelse tildeler clCreateBuffer() delt hukommelse, hvis du angiver flaget CL_MEM_USE_HOST_PTR. Brug af andre flag får clCreateBuffer() til at allokere buffer i den ikke-delte hukommelse.
  • For et-DDR-kortvarianten med kun delt hukommelse, tildeler clCreateBuffer() delt hukommelse, uanset hvilket flag du angiver.
    I øjeblikket styrer 32-bit Linux-understøttelse på ARM CPU omfanget af understøttelse af delt hukommelse i SDK-runtime-bibliotekerne. Med andre ord, runtime-biblioteker kompileret til andre miljøer (f.eksample, x86_64 Linux eller 64-bit Windows) understøtter ikke delt hukommelse.
    C5soc implementerede ikke heterogen hukommelse for at skelne mellem delt og ikke-delt hukommelse af følgende årsager:
    1. Historik—Heterogen hukommelsesunderstøttelse var ikke tilgængelig, da delt hukommelsesunderstøttelse oprindeligt blev oprettet.
    2. Ensartet grænseflade – Fordi OpenCL er en åben standard, opretholder Intel sammenhæng mellem heterogene computerplatformsleverandører. Derfor bruges den samme grænseflade som andre bordleverandørers arkitekturer til at allokere og bruge delt hukommelse.

1.4 FPGA-omkonfiguration
For SoC FPGA'er kan CPU'en omkonfigurere FPGA-kernestrukturen uden at afbryde CPU'ens drift. FPGA Manager-hardwareblokken, der skræver over HPS'en og kerne-FPGA'en, udfører omkonfigurationen. Linux-kernen indeholder en driver, der giver nem adgang til FPGA Manager.

  • Til view status for FPGA-kernen, skal du kalde cat /sys/class/fpga/fpga0/ status kommandoen.
    Intel FPGA SDK for OpenCL-programværktøjet, der er tilgængeligt med Cyclone V SoC Development Kit Reference Platform, bruger denne grænseflade til at programmere FPGA. Når du omprogrammerer en FPGA-kerne med en kørende CPU, udfører programværktøjet alle følgende opgaver:
    1. Før omprogrammering skal du deaktivere alle kommunikationsbroer mellem FPGA og HPS, både H2F- og LH2F-broer.
    Genaktiver disse broer, når omprogrammeringen er fuldført.
    Bemærk: OpenCL-systemet bruger ikke FPGA-til-HPS (F2H)-broen. Se afsnittet HPS-FPGA Interfaces i Cyclone V Device Handbook, bind 3: Hard Processor System Technical Reference Manual for mere information.
    2. Sørg for, at forbindelsen mellem FPGA og HPS DDR-controlleren er deaktiveret under omprogrammering.
    3. Sørg for, at FPGA-afbrydelserne på FPGA'en er deaktiveret under omprogrammering.
    Giv også driveren besked om at afvise eventuelle afbrydelser fra FPGA'en under omprogrammering.

Se kildekoden til programværktøjet for detaljer om den faktiske implementering.

Advarsel: Ændre ikke konfigurationen af ​​HPS DDR-controlleren, når CPU'en kører.
Hvis du gør det, kan det forårsage en fatal systemfejl, fordi du muligvis ændrer DDR-controllerens konfiguration, når der er udestående hukommelsestransaktioner fra CPU'en. Det betyder, at når CPU'en kører, må du ikke omprogrammere FPGA-kernen med et billede, der bruger HPS DDR i en anden konfiguration.
Husk, at OpenCL-systemet og Golden Hardware-referencedesignet, der er tilgængeligt med Intel SoC FPGA Embedded Design Suite (EDS), sætter HPS DDR i en enkelt 256-bit-tilstand.
CPU-systemdele, såsom branch-forudsigeren eller sidetabel-forudhenteren, kan udstede DDR-kommandoer, selv når det ser ud til, at intet kører på CPU'en.
Derfor er opstartstid det eneste sikre tidspunkt at indstille HPS DDR-controllerkonfigurationen.
Dette indebærer også, at U-boot skal have en rå binær file (.rbf) billede til at indlæse i hukommelsen. Ellers kan du muligvis aktivere HPS DDR med ubrugte porte på FPGA'en og derefter potentielt ændre portkonfigurationerne bagefter. Af denne grund indeholder OpenCL Linux-kernedriveren ikke længere den nødvendige logik til at indstille HPS DDR-controllerkonfigurationen.
SW3 dual in-line pakke (DIP) switches på Cylone V SoC Development Kit styrer den forventede form af .rbf-billedet (dvs. om file er komprimeret og/eller krypteret). C5soc og Golden Hardware Reference Design, der er tilgængeligt med SoC EDS, inkluderer komprimerede, men ukrypterede .rbf-billeder. Indstillingerne for SW3 DIP-switch, der er beskrevet i Intel FPGA SDK for OpenCL Cyclone V SoC Getting Started Guide, matcher denne .rbf-billedkonfiguration.

Relaterede links

  • HPS-FPGA-grænseflader
  • Konfiguration af SW3 switche

1.4.1 FPGA-systemarkitekturdetaljer
Support til Cyclone V SoC Development Kit Reference Platform er baseret på Stratix® V Reference Platform (s5_ref), tilgængelig med Intel FPGA SDK til OpenCL.
Den overordnede organisation af c5soc Qsys-systemet og kernedriveren ligner meget dem i s5_ref.
Følgende FPGA-kernekomponenter er de samme i både c5soc og s5_ref:

  • VERSION_ID blok
  • Hvilemekanisme
  • Hukommelsesbankdeler
  • Cache snoop interface
  • Kernel ur
  • Kontrolregisteradgangsblokke (CRA).

1.5 Opbygning af et SD Flash-kortbillede
Fordi Cyclone V SoC FPGA er et komplet system på en chip, er du ansvarlig for at levere den fulde definition af systemet. Intel anbefaler, at du leverer det i form af et SD-flashkortbillede. Intel FPGA SDK til OpenCL-brugeren kan simpelthen skrive billedet til micro SD-flashkortet, og SoC FPGA-kortet er klar til brug.
Ændring af et eksisterende SD Flash-kortbillede på side 13
Intel anbefaler, at du blot ændrer det billede, der er tilgængeligt med Cyclone V SoC Development Kit Reference Platform. Du har også mulighed for at oprette et nyt SD-flashkortbillede.
Oprettelse af et SD Flash-kortbillede på side 14
Du har også mulighed for at oprette et nyt SD-flashkortbillede.

1.5.1 Ændring af et eksisterende SD Flash-kortbillede
Intel anbefaler, at du blot ændrer det billede, der er tilgængeligt med Cyclone V SoC
Development Kit Reference Platform. Du har også mulighed for at oprette et nyt SD-flashkortbillede.
c5soc linux_sd_card_image.tgz billedet file er tilgængelig i biblioteket ALTERAOCLSDKROOT/board/c5soc, hvor ALTERAOCLSDKROOT peger på stien til Intel FPGA SDK for OpenCL's installationsmappe.

Opmærksomhed: For at ændre SD-flashkortbilledet skal du have root- eller sudo-rettigheder.

  1. For at dekomprimere $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz file, kør kommandoen tar xvfzlinux_sd_card_image.tgz.
  2. Kompiler hello_world OpenCL example design ved hjælp af din Custom Platform support. Omdøb .rbf file at Intel FPGA SDK for OpenCL Offline Compiler genererer som opencl.rbf, og placer den på fat32-partitionen i SD-flashkortbilledet.
    Du kan downloade hello_world example design fra OpenCL Design Examples side på Altera webwebsted.
  3. Placer .rbf file ind i fat32-partitionen af ​​flash-kortbilledet.
    Opmærksomhed: Fat32-partitionen skal indeholde både zImage file og .rbf file. Uden en .rbf file, vil der opstå en fatal fejl, når du indsætter driveren.
  4. Når du har oprettet SD-kortbilledet, skal du skrive det til et micro SD-kort ved at kalde følgende kommando: sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
  5. Udfør følgende opgaver for at teste dit SD-flashkortbillede:
    en. Indsæt micro SD-flashkortet i SoC FPGA-kortet.
    b. Tænd for brættet.
    c. Kald kommandoen aocl diagnose utility.

1.5.2 Oprettelse af et SD Flash-kortbillede
Du har også mulighed for at oprette et nyt SD-flashkortbillede. Generiske instruktioner om opbygning af et nyt SD-flashkortbillede og genopbygning af et eksisterende SD-flashkortbillede er tilgængelige på GSRD v14.0.2 – SD-kortsiden på RocketBoards.org webwebsted.
Trinene nedenfor beskriver proceduren for at oprette linux_sd_card_image.tgz-billedet fra Golden System Reference Design (GSRD) SD-flashkortbilledet:
Note:
For at oprette billedet fra c5soc-billedet skal du udføre alle relevante opgaver, der er beskrevet i denne procedure.

  1. Download og udpak GSRD SD-flashkortbilledet version 14.0 fra Rocketboards.org.
  2. Monter file tildelingstabel (fat32) og udvidet file system (ext3) partitioner i dette billede som loop-back-enheder. For at montere en partition skal du udføre følgende trin:
    en. Bestem bytestarten for partitionen i billedet ved at kalde /sbin/fdisk -lu image_file kommando.
    F.eksample, partition nummer 1 af typen W95 FAT har en blokoffset på 2121728. Med 512 bytes pr. blok er byteforskydningen 512 bytes x 2121728 = 1086324736 bytes.
    b. Identificer en fri loop-enhed (f.eksample, /dev/loop0) ved at skrive kommandoen lostup -f.
    c. Hvis vi antager, at /dev/loop0 er den frie loop-enhed, skal du tildele dit flashkort-billede til loop-blok-enheden ved at kalde lossetup /dev/loop0-billedet_file -0 1086324736 kommando.
    d. Monter loop-enheden ved at påkalde mount /dev/loop0 /media/disk1-kommandoen.
    Inde i billedet file, /media/disk1 er nu en monteret fat32-partition.
    e. Gentag trin a til d for ext3-partitionen.
  3. Download Cyclone V SoC FPGA-versionen af ​​Intel FPGA Runtime Environment for OpenCL-pakken fra downloadcenteret på Altera webwebsted.
    en. Klik på knappen Download ved siden af ​​Quartus Prime-softwareudgaven.
    b. Angiv udgivelsesversionen, operativsystemet og downloadmetoden.
    c. Klik på fanen Yderligere software, og vælg at downloade Intel FPGA
    Runtime Environment for OpenCL Linux Cyclone V SoC TGZ.
    d. Når du har downloadet aocl-rte- .arm32.tgz file, pak den ud til
    en mappe, som du ejer.
  4. Placer den udpakkede aocl-rte- .arm32-mappen til /home/root/opencl_arm32_rte-mappen på ext3-partitionen af ​​billedet file.
  5. Slet hardwaremappen(e) på din brugerdefinerede platform, og placer derefter den brugerdefinerede platform i board-undermappen til /home/root/ opencl_arm32_rte.
  6. Opret init_opencl.sh file i /home/root-mappen med følgende indhold: eksport ALTERAOCLSDKROOT=/home/root/opencl_arm32_rte eksport AOCL_BOARD_PACKAGE_ROOT=$ALTERAOCLSDKROOT/board/ eksport PATH=$ALTERAOCLSDKROOT/bin:$PATH eksport LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/host/arm32/lib:$LD_LIBRARY_PATH insmod $AOCL_BOARD_PACKAGE_ROOT/driver/aclsoc_drv.ko
    SDK-brugeren kører source ./init_opencl.sh-kommandoen for at indlæse miljøvariablerne og OpenCL Linux-kernedriveren.
  7. Hvis du har brug for at opdatere preloaderen, DTS files, eller Linux-kernen, skal du bruge arm-linux-gnueabihf-gcc-kompileren fra SoC EDS. Følg instruktionerne i Intel SoC FPGA Embedded Design Suite User Guide for at erhverve softwaren, kompilere dem igen og opdatere de relevante files på den monterede fat32-partition.
    Opmærksomhed: Det er højst sandsynligt, at du skal opdatere preloaderen, hvis din Custom Platform har en anden pin-anvendelse end dem i c5soc.
    Husk: Hvis du omkompilerer Linux-kernen, skal du genkompilere Linux-kernedriveren med den samme Linux-kernekilde files. Hvis der er uoverensstemmelse mellem Linux-kernedriveren og Linux-kernen, indlæses driveren ikke. Du skal også aktivere CMA.
    Se Genkompilering af Linux-kernen for mere information.
  8. Kompiler hello_world OpenCL example design ved hjælp af din Custom Platform support. Omdøb .rbf file at Intel FPGA SDK for OpenCL Offline Compiler genererer som opencl.rbf, og placer den på fat32-partitionen i SD-flashkortbilledet.
    Du kan downloade hello_world example design fra OpenCL Design Examples side på Altera webwebsted.
    9. Når du har opbevaret alle de nødvendige files på flash-kortbilledet, skal du kalde følgende kommandoer:
    en. synkronisere
    b. afmonter /media/disk1
    c. afmontere hvor er det mappenavn, du bruger til at montere ext3-partitionen i 3 på side 3 (f.eks.ample, /media/disk2).
    d. lostup -d /dev/loop0
    e. lostup -d /dev/loop1
  9. Komprimer SD-flashkortbilledet ved at påkalde følgende kommando: tar cvfz .tgz linux_sd_card_image
  10. Lever den .tgz file inde i rodmappen på din brugerdefinerede platform.
  11. Udfør følgende opgaver for at teste dit SD-flashkortbillede:
    en. Skriv det resulterende ukomprimerede billede på et micro SD-flashkort.
    b. Indsæt micro SD-flashkortet i SoC FPGA-kortet.
    c. Tænd for brættet.
    d. Kald kommandoen aocl diagnose utility.

Relaterede links

  • Intel SoC FPGA Embedded Design Suite Brugervejledning
  • OpenCL Design Examples side på Altera webwebsted
  • Genkompilering af Linux-kernen på side 16
    For at aktivere CMA skal du først omkompilere Linux-kernen.
  • Forespørgsel efter enhedsnavnet på dit FPGA-kort (diagnose)

1.6 Kompilering af Linux-kernen til Cyclone V SoC FPGA
Før du kører OpenCL-applikationer på Cyclone V SoC FPGA-kortet, skal du kompilere Linux-kernekilden og kompilere og installere OpenCL Linux-kernedriveren.

  1. Genkompilering af Linux-kernen på side 16
    For at aktivere CMA skal du først omkompilere Linux-kernen.
  2. Kompilering og installation af OpenCL Linux-kernedriveren på side 17 Kompiler OpenCL Linux-kernedriveren mod den kompilerede kernekilde.

1.6.1 Genkompilering af Linux-kernen
For at aktivere CMA skal du først omkompilere Linux-kernen.

  1. Klik på linket GSRD v14.0 – Compiling Linux på siden Ressourcer på RocketBoards.org webwebsted for at få adgang til instruktioner om download og genopbygning af Linux-kernens kildekode.
    Til brug med™ Intel FPGA SDK til OpenCL skal du angive socfpga-3.13-rel14.0 som .
  2. Bemærk: Byggeprocessen opretter arch/arm/configs/socfpga_defconfig file. Denne file angiver indstillingerne for socfpga-standardkonfigurationen.
    Tilføj følgende linjer til bunden af ​​buen/armen/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=å
    CONFIG_CMA_ALIGNMENT=8
    CONFIG_CMA_AREAS=7
    CONFIG_CMA_SIZE_MBYTES-konfigurationsværdien sætter den øvre grænse for det samlede antal fysisk sammenhængende hukommelse, der er tilgængelig. Du kan øge denne værdi, hvis du har brug for mere hukommelse.
  3. Opmærksomhed: Den samlede mængde fysisk hukommelse, der er tilgængelig for ARM-processoren på SoC FPGA-kortet, er 1 GB. Intel anbefaler ikke, at du indstiller CMA-manageren tæt på 1 GB.
  4. Kør kommandoen make mrproper for at rense den aktuelle konfiguration.
  5. Kør kommandoen make ARCH=arm socfpga_deconfig.
    ARCH=arm angiver, at du vil konfigurere ARM-arkitekturen.
    socfpga_defconfig angiver, at du vil bruge standard socfpga-konfigurationen.
  6. Kør kommandoen eksport CROSS_COMPILE=arm-linux-gnueabihf-.
    Denne kommando indstiller CROSS_COMPILE miljøvariablen til at angive præfikset for den ønskede værktøjskæde.
  7. Kør kommandoen make ARCH=arm zImage. Det resulterende billede er tilgængeligt i arch/arm/boot/zImage file.
  8. Placer z-billedet file ind i fat32-partitionen af ​​flash-kortbilledet. For detaljerede instruktioner henvises til den Cyclone V SoC FPGA-specifikke GSRD User Manual på Rocketboards.org.
  9. Bemærk: For at indsætte OpenCL Linux-kernedriveren korrekt skal du først indlæse en SDKgenerated.rbf file på FPGA.
    For at oprette .rbf file, kompiler et SDK-design f.eksample med Cyclone V SoC Development Kit Reference Platform som den målrettede Custom Platform.
    9. Placer .rbf file ind i fat32-partitionen af ​​flash-kortbilledet.
    Bemærk: Fat32-partitionen skal indeholde både zImage file og .rbf file. Uden en .rbf file, vil der opstå en fatal fejl, når du indsætter driveren.
  10. Indsæt det programmerede micro SD-kort, som indeholder det SD-kortbillede, du har ændret eller oprettet tidligere, i Cyclone V SoC Development Kit, og tænd derefter for SoC FPGA-kortet.
  11. Bekræft versionen af ​​den installerede Linux-kerne ved at køre kommandoen uname -r.
  12. For at bekræfte, at du aktiverer CMA'en med succes i kernen, med SoC FPGA-kortet tændt, skal du køre kommandoen grep init_cma /proc/kallsyms.
    CMA er aktiveret, hvis udgangen ikke er tom.
  13. For at bruge den genkompilerede Linux-kerne med SDK'et skal du kompilere og installere Linux-kernedriveren.

Relaterede links

  • Golden System Reference Design (GSRD) brugervejledninger
  • Opbygning af et SD Flash-kortbillede på side 13
    Fordi Cyclone V SoC FPGA er et komplet system på en chip, er du ansvarlig for at levere den fulde definition af systemet.

1.6.2 Kompilering og installation af OpenCL Linux Kernel Driver
Kompiler OpenCL Linux-kernedriveren mod den kompilerede kernekilde.

Driverkilden er tilgængelig i Cyclone V SoC FPGA-versionen af ​​Intel FPGA Runtime Environment for OpenCL. Sørg desuden for, at du har indlæst en Intel FPGA SDK til OpenCL-genereret .rbf file ind i FPGA for at forhindre forkert installation af Linux-kernemodulet.

  1. Download Cyclone V SoC FPGA-versionen af ​​Intel FPGA Runtime Environment for OpenCL-pakken fra downloadcenteret på Altera webwebsted.
    en. Klik på knappen Download ved siden af ​​Quartus Prime-softwareudgaven.
    b. Angiv udgivelsesversionen, operativsystemet og downloadmetoden.
    c. Klik på fanen Yderligere software, og vælg at downloade Intel FPGA
    Runtime Environment for OpenCL Linux Cyclone V SoC TGZ.
    d. Når du har downloadet aocl-rte- .arm32.tgz file, pak den ud til
    en mappe, som du ejer.
    Driverkilden er i aocl-rte- .arm32/board/c5soc/ drivermappe.
  2. For at genkompilere OpenCL Linux-kernedriveren skal du indstille KDIR-værdien i driverens mærkefile til den mappe, der indeholder Linux-kernekilden files.
  3. Kør kommandoen eksport CROSS_COMPILE=arm-linux-gnueabihf- for at angive præfikset for din værktøjskæde.
  4. Kør kommandoen make clean.
  5. Kør kommandoen make for at oprette aclsoc_drv.ko file.
  6. Overfør mappen opencl_arm32_rte til Cyclone V SoC FPGA-kortet.
    Kører scp -r root@din-ipad-adresse: kommandoen placerer runtime-miljøet i mappen/home/rod.
  7. Kør init_opencl.sh-scriptet, som du oprettede, da du byggede SD-kortbilledet.
  8.  Kald kommandoen aocl diagnose utility. Diagnoseværktøjet returnerer et bestået resultat, når du har kørt init_opencl.sh med succes.

1.7 Kendte problemer
I øjeblikket er der visse begrænsninger for brugen af ​​Intel FPGA SDK til OpenCL med Cyclone V SoC Development Kit Reference Platform.

  1. Du kan ikke tilsidesætte leverandør- og tavlenavnene, der rapporteres af CL_DEVICE_VENDOR- og CL_DEVICE_NAME-strengene i clGetDeviceInfo()-kaldet.
  2. Hvis værten tildeler konstant hukommelse i delt DDR-system (det vil sige HPS DDR), og den ændrer den konstante hukommelse efter kerneudførelse, kan dataene i hukommelsen blive forældede. Dette problem opstår, fordi FPGA-kernen ikke kan snuse efter CPU-til-HPS DDR-transaktioner.
    For at forhindre efterfølgende kerneudførelser i at få adgang til forældede data skal du implementere en af ​​følgende løsninger:
    • Modificer ikke konstant hukommelse efter initialisering.
    • Hvis du har brug for flere __konstante datasæt, skal du oprette flere konstante hukommelsesbuffere.
    • Hvis det er tilgængeligt, allokér konstant hukommelse i FPGA DDR på dit acceleratorkort.
  3. SDK-værktøjet på ARM understøtter kun program- og diagnosticeringskommandoer.
    Kommandoerne til at flashe, installere og afinstallere hjælpeprogrammet er ikke gældende for Cyclone V SoC Development Kit af følgende årsager:
    en. Installationsværktøjet skal kompilere aclsoc_drv Linux-kernedriveren og aktivere den på SoC FPGA. Udviklingsmaskinen skal udføre kompileringen; den indeholder dog allerede Linux-kernekilder til SoC FPGA. Linux-kernekilderne til udviklingsmaskinen er forskellige fra dem til SoC FPGA. Placeringen af ​​Linux-kernekilderne til SoC FPGA er sandsynligvis ukendt for SDK-brugeren. På samme måde er afinstallationsværktøjet heller ikke tilgængeligt for Cyclone V SoC Development Kit.
    Det er også en udfordring at levere aclsoc_drv til SoC-kortet, fordi standarddistributionen af ​​Cyclone V SoC Development Kit ikke indeholder Linux-kerne, herunder files eller GNU Compiler Collection (GCC) compileren.
    b. Flash-værktøjet kræver, at du placerer en .rbf file af et OpenCL-design på FAT32-partitionen på micro SD-flashkortet. I øjeblikket er denne partition ikke monteret, når SDK-brugeren tænder for kortet. Derfor er den bedste måde at opdatere partitionen på at bruge en flash-kortlæser og udviklingsmaskinen.
  4. Når du skifter mellem Intel FPGA SDK til OpenCL Offline Compiler eksekverbar files (.aocx), der svarer til forskellige bordvarianter (det vil sige c5soc og c5soc_sharedonly), skal du bruge SDK'ens programværktøj til at indlæse .aocx file for den nye brætvariant for første gang. Hvis du blot kører værtsapplikationen med en ny kortvariant, men FPGA'en indeholder billedet fra en anden kortvariant, kan der opstå en fatal fejl.
  5. .qxp file inkluderer ikke interfacepartitionstildelingerne, fordi Quartus Prime-softwaren konsekvent opfylder tidskravene for denne partition.
  6. Når du tænder for kortet, er dets medieadgangskontrol (MAC)-adresse indstillet til et tilfældigt tal. Hvis din LAN-politik ikke tillader denne adfærd, skal du indstille MAC-adressen ved at udføre følgende opgaver:
    en. Under opstart af U-Boot skal du trykke på en vilkårlig tast for at indtaste U-Boot-kommandoprompten.
    b. Skriv setenv ethaddr 00:07:ed:00:00:03 ved kommandoprompten.
    Du kan vælge en hvilken som helst MAC-adresse.
    c. Skriv kommandoen saveenv.
    d. Genstart brættet.

1.8 Dokumentrevisionshistorik
Tabel 1.
Dokumentrevisionshistorik for Intel FPGA SDK til OpenCL Cyclone V SoC
Development Kit Reference Platform Porting Guide

Dato Version Ændringer
maj-17 2017.05.08 •Vedligeholdelsesfrigivelse.
oktober 2016 2016.10.31 •Omdannede Altera SDK til OpenCL til Intel FPGA SDK til OpenCL.
•Omdannede Altera Offline Compiler til Intel FPGA SDK til OpenCL Offline Compiler.
maj-16 2016.05.02 •Ændrede instruktioner om opbygning og ændring af et SD-flashkortbillede.
•Ændrede instruktioner om genkompilering af Linux-kernen og OpenCL Linux-kernedriveren.
november-15 2015.11.02 •Vedligeholdelsesudgivelse og ændrede forekomster af Quartus II til Quartus Prime.
maj-15 15.0.0 •I FPGA-omkonfiguration fjernede instruktionen om at omprogrammere FPGA-kernen
med en . rbf-billede ved at påkalde katten filenavn>. rbf
> /dev/ fpga0 kommando, fordi denne metode ikke anbefales.
december-14 14.1.0 •Omdøbte dokumentet til Altera Cyclone V SoC Development Kit Reference Platform Porting Guide.
•Opdaterede omprogrammeringsværktøjet til aocl-programmetfilenavn>.aocx-hjælpekommando.
•Opdateret diagnoseværktøjet til aocl diagnose og aocl diagnose hjælpekommando.
•Opdaterede proceduren i afsnittet Portering af referenceplatformen til dit SoC-kort for at inkludere instruktioner om portering og ændring af c5soc-kortpartitionen for at skabe en timing-clean partition til det garanterede timing-lukningsflow.
•Indsatte emnet Opdatering af en porteret referenceplatform for at skitsere procedurerne for følgende opgaver:
1. Ekskluderer blokken med hårde processorsystem (HPS) i kortets partition
2.Opdatering af SD-flashkortbilledet
•Opdaterede afsnittet Building an SD Flash Card Image. Det anbefales at bruge version 14.0 af Golden System Reference Design (GSRD)-billedet som udgangspunkt i stedet for det billede, der er tilgængeligt med SoC Embedded Design Suite (EDS).
• Opdaterede afsnittet Genkompilering af Linux-kernen og OpenCL Linux-kernedriveren:
1. Tilføjet instruktion til at indstille CROSS COMPILE-variablen.
2. Ændrede den kommando, du kører, for at bekræfte, at CMA er aktiveret.
juli-14 14.0.0 •Første udgivelse.

Dokumenter/ressourcer

intel FPGA SDK til OpenCL [pdfBrugervejledning
FPGA SDK til OpenCL, FPGA SDK, SDK til OpenCL, SDK

Referencer

Efterlad en kommentar

Din e-mailadresse vil ikke blive offentliggjort. Påkrævede felter er markeret *