Mamorona rafitra fitadidiana tsy mitovy amin'ny FPGA SDK ho an'ny OpenCL Custom Platforms
torolalana
Mamorona rafitra fitadidiana tsy mitovy amin'ny Intel® FPGA SDK ho an'ny OpenCL Custom Platforms
Ny fampiharana ny fitadidiana heterogène ao amin'ny Platform Custom dia mamela ny bandwidth interface tsara kokoa (EMIF) ivelany ary koa ny fidirana fahatsiarovana lehibe kokoa sy haingana kokoa. Ny fitambaran'ny fidirana fitadidiana heterogène miaraka amin'ny optimized
Ny kernel OpenCL ™ (1) dia mety hiteraka fanatsarana lehibe ho an'ny rafitra OpenCL anao.
Ity naoty fampiharana ity dia manome torolalana amin'ny famoronana rafitra fitadidiana heterogène ao amin'ny Platform Custom ampiasaina amin'ny Intel® FPGA SDK ho an'ny OpenCL(2). Intel dia mihevitra fa mpamorona FPGA za-draharaha ianao izay mamolavola Platform Custom izay misy rafitra fitadidiana heterogène.
Alohan'ny hamoronana ireo rafitra fitadidiana heterogène dia fantaro tsara ny Intel FPGA SDK ho an'ny antontan-taratasy OpenCL voalaza etsy ambany.
Fampahafantarana mifandraika
- Intel FPGA SDK ho an'ny OpenCL Programming Guide
- Intel FPGA SDK ho an'ny OpenCL Best Practices Guide
- Intel FPGA SDK ho an'ny OpenCL Arria 10 GX FPGA Development Kit Reference Platform Porting Guide
1.1. Fanamarinana ny fiasan'ny Birao FPGA sy ny EMIF Interface
Hamarino tsy miankina ny seha-pifandraisana fitadidiana tsirairay ary avy eo amboary ny Platform Custom anao amin'ny fampiasana fitadidiana manerantany.
- Hamarino ny seha-pifandraisana fitadidiana tsirairay amin'ny alàlan'ny famolavolana fitaovana izay afaka mitsapa ny hafainganam-pandeha sy ny fahamarinan'ny interface tsirairay.
- Ampidiro ny Platform Custom anao amin'ny fampiasana fitadidiana manerantany.
- Ho an'ny example, raha manana interface DDR telo ianao, ny iray amin'izy ireo dia tsy maintsy atao sarintany ho fahatsiarovana heterogène. Amin'ity tranga ity, hamarino tsy miankina ny fiasan'ny OpenCL stack miaraka amin'ny interface DDR tsirairay.
Ny OpenCL sy ny logo OpenCL dia mari-pamantarana an'ny Apple Inc. nahazoana alalana avy amin'ny Khronos Group™ . - Ny Intel FPGA SDK ho an'ny OpenCL dia mifototra amin'ny Khronos Specification navoaka, ary nandalo ny fizotran'ny fitsapana Khronos Conformance. Ny sata mifanaraka amin'izao fotoana izao dia azo jerena ao amin'ny www.khronos.org/conformance.
- Ho an'ny example, raha manana interface DDR telo ianao, ny iray amin'izy ireo dia tsy maintsy atao sarintany ho fahatsiarovana heterogène. Amin'ity tranga ity, hamarino tsy miankina ny fiasan'ny OpenCL stack miaraka amin'ny interface DDR tsirairay.
Intel Corporation. Zo rehetra voatokana. Ny Intel, ny logo Intel, ary ny marika Intel hafa dia marika famantarana ny Intel Corporation na ny sampany. Ny Intel dia manome antoka ny fahombiazan'ny vokatra FPGA sy ny semiconductor amin'ny fepetra ankehitriny mifanaraka amin'ny fiantohana manara-penitra an'ny Intel, saingy manana zo hanova ny vokatra sy serivisy amin'ny fotoana rehetra tsy misy filazana. Tsy mandray andraikitra na andraikitra avy amin'ny fampiharana na fampiasana fampahalalana, vokatra, na serivisy voalaza eto ny Intel afa-tsy izay neken'ny Intel an-tsoratra. Manoro hevitra ny mpanjifa Intel mba hahazo ny kinova farany momba ny fanondroana fitaovana alohan'ny hianteherana amin'izay vaovao navoaka sy alohan'ny hametrahana baiko ho an'ny vokatra na serivisy. * Ny anarana sy ny marika hafa dia azo lazaina ho fananan'ny hafa.
ISO 9001:2015 voasoratra anarana
Raha tsy izany, raha manana fifandraisana DDR roa ianao ary interface tsara iray quad data rate (QDR), hamarino ny fiasan'ny OpenCL stack amin'ny interface DDR roa sy ny interface QDR tsy miankina.
Intel dia manoro hevitra ny hampiasanao PCI Express® – (PCIe® -) na endrika miavaka amin'ny EMIF mba hitsapana ny fifandraisanao amin'ny fitadidianao. Aorian'ny fanamarinanao fa miasa ny interface tsara tsirairay ary ny famolavolana OpenCL anao dia miasa miaraka amin'ny ampahany amin'ny interface tsara, dia tohizo.
hamorona rafitra fitadidiana heterogène miasa tanteraka.
1.2. Manova ny board_spec.xml File
Ovao ny board_spec.xml file mba hamaritana ireo karazana rafitra fitadidiana heterogène izay azon'ny kernel OpenCL.
Mandritra ny fanangonana kernel, ny Intel FPGA SDK ho an'ny OpenCL Offline Compiler dia manome tohan-kevitra kernel ho fahatsiarovana mifototra amin'ny tohan-kevitra momba ny toerana misy ny buffer izay voafaritrao.
1. Midira ao amin'ny board_spec.xml file ao amin'ny lahatahiry fitaovan'ny Custom Platform anao.
2. Sokafy ny board_spec.xml file amin'ny tonian-dahatsoratra ary ovao ny XML mifanaraka amin'izany.
Ho an'ny exampary, raha manana fahatsiarovana DDR roa ny rafitra fitadidianao ho toy ny globalmemory default ary banky QDR roa izay modely ho fahatsiarovana heterogène, dia ovao ny fizarana fitadidiana ao amin'ny board_spec.xml file mitovy amin'ireto manaraka ireto:
1.3. Mametraka mpizara fahatsiarovana marobe ao amin'ny Qsys
Amin'izao fotoana izao, ny OpenCL Memory Bank Divider amin'ny endrika Qsys dia tsy mahazaka banky fahatsiarovana tsy misy herin'ny 2, izay tsy ferana ho an'ny fanamafisana mahazatra. Na izany aza, misy toe-javatra izay tsy misy hery-of-2 isan'ny fahatsiarovana interfaces ilaina. Mba handraisana fifandraisana tsy misy herin'aratra amin'ny 2, ampiasao OpenCL Memory Bank Dividers maro mba hamoronana rafitra fitadidiana heterogène miaraka amin'ny banky fahatsiarovana tsy misy herin'ny 2. Tsy maintsy mamorona OpenCL Memory Bank Dividers ianao rehefa manana rafitra fitadidiana tena heterogène. Eritrereto ny rafitra iray miaraka amin'ny seha-pahatsiarovana DDR iray sy seha-pahatsiarovana QDR iray. Satria samy manana topologie fitadidiana ireo banky roa ireo, dia tsy azonao atao ny manambatra azy ireo ao anatin'ny fitadidiana manerantany tokana.
Sary 1. Diagrama sakana amin'ny rafitra fitadidiana tsy mitovy amin'ny banky telo
Ity rafitra fitadidiana heterogène ity dia misy interface tsara DDR roa ary interface tsara QDR iray.Raha mampiasa kinova 16.0, 16.0.1, na 16.0.2 an'ny rindrambaiko Intel Quartus® Prime sy Altera SDK ho an'ny OpenCL ianao, ny OpenCL Memory Bank Divider dia tsy miraharaha ny fipoahana fitadidiana manerana ny sisintanin'ny adiresy. Mba hamahana ity olana fantatra ity, ampio tetezana fantsona misy habe mipoaka 1 ary ampifandraiso amin'ny seranan-tsambon'ny OpenCL Memory Bank Divider ny tompony Avalon ®Memory-Mapped (Avalon-MM) tompony.
Fanamarihana:
Ity olana fantatra ity dia raikitra ao amin'ny rindrambaiko Intel Quartus Prime sy ny Intel FPGA SDK ho an'ny OpenCL version 16.1.
Sary 2. Diagrama sakana amin'ny rafitra fitadidiana tsy mitovy amin'ny banky telo miaraka amin'ny tetezana fantsona 1.4. Fanovana ny fandaharan'asa Boardtest sy ny Code Host ho an'ny Vahaolanao Tadidinao
Ampiasao ny kernel boardtest.cl izay miaraka amin'ny Intel FPGA SDK ho an'ny OpenCL Custom Platform Toolkit mba hitsapana ny fiasa sy ny fahombiazan'ny Platform Custom anao.
Ny programa boardtest dia kernel OpenCL izay ahafahanao mitsapa ny bandwidth host-to-device, bandwidth fahatsiarovana, ary fampiasa ankapoben'ny Custom Platform anao.
- Mandehana any amin'ny /board/ custom_platform_toolkit/tests/boardtest directory.
- Sokafy ny boardtest.cl file amin'ny tonian-dahatsoratra ary manendre toerana buffer ho an'ny tohan-kevitra fitadidiana manerantany.
Ho an'ny example:
__krnel foana
mem_stream (__global__attribute__((buffer_location("DDR"))) uint *src, __global __attribute__((buffer_location("QDR"))) uint *dst, uint arg, uint arg2)
Eto, ny uint *src dia nomena ny fitadidiana DDR, ary ny uint *dst dia nomena ny fahatsiarovana QDR. Ny board_spec.xml file mamaritra ny toetran'ireo rafitra fitadidiana roa ireo. - Mba hampiasana ny vahaolana fitadidiana tsy mitovy amin'ny rafitrao OpenCL, ovao ny kaody mpampiantrano anao amin'ny fampidirana ny saina CL_MEM_HETEROGENEOUS_INTELFPGA amin'ny antso clCreateBuffer.
Ho an'ny example:
ddatain = clCreateBuffer(context, CL_MEM_READ_WRITE | memflags
CL_MEM_HETEROGENEOUS_INTELFPGA, haben'ny(tsy misy sonia) * vectorSize, NULL, &status);
Intel dia manoro hevitra mafy ny hametraka ny toerana buffer ho tohan-kevitra kernel alohan'ny hanoratana ny buffer. Rehefa mampiasa fitadidiana manerantany tokana ianao dia afaka manoratra ireo buffers na alohan'ny na aorian'ny fametrahana azy ireo amin'ny adihevitra kernel. Amin'ny rafitra fitadidiana heterogène, ny mpampiantrano dia mametraka ny toerana misy ny buffer alohan'ny hanoratana ny buffer. Raha lazaina amin'ny teny hafa, ny mpampiantrano dia hiantso ny clSetKernelArgument asa alohan'ny hiantsoana ny clEnqueueWriteBuffer.
Ao amin'ny kaody mpampiantrano anao, antsoy ny antso clCreateBuffer, clSetKernelArg, ary clEnqueueWriteBuffer araka izao filaharana manaraka izao:
ddatain = clCreateBuffer(context, CL_MEM_READ_WRITE | memflags |
CL_MEM_HETEROGENEOUS_INTELFPGA, haben'ny(tsy misy sonia) * vectorSize, NULL, &status);
… status = clSetKernelArg(kernel[k], 0, sizeof(cl_mem), (void*)&ddatain);
… status = clEnqueueWriteBuffer(filaharana, ddatain, CL_FALSE, 0, sizeof(tsy misy sonia) * vectorSize,hdatain, 0, NULL, NULL);
Ny ALTERAOCLSDKROOT/board/custom_platform_toolkit/tests/boardtest/host/memspeed.cpp file dia manolotra filaharana mitovy amin'ireo antso ireo. - Rehefa avy nanova ny boardtest.cl ianao file ary ny kaody mpampiantrano, manangona ny kaody mpampiantrano sy kernel ary manamarina ny fampiasany.
Rehefa manangona ny kaody kernel anao ianao dia tsy maintsy esorinao ny burst-interleaving amin'ny rafitra fitadidiana rehetra amin'ny alàlan'ny fampidirana ny –no-interleaving. safidy ao amin'ny baiko aoc.
Fampahafantarana mifandraika
Fanafoanana ny Burst-Interleaving of Global Memory (–tsy misy interleaving )
1.5. Fanamarinana ny fiasan'ny fitadidianao tsy mitovy RAFITRA
Mba hahazoana antoka fa miasa tsara ny rafitra fitadidiana heterogène, esory ny saina CL_CONTEXT_COMPILER_MODE_INTELFPGA ao amin'ny kaody mpampiantrano anao.
Ao amin'ny rafitra OpenCL miaraka amin'ny fitadidiana homogeneous, tsy maintsy misafidy ianao hametraka ny saina CL_CONTEXT_COMPILER_MODE_INTELFPGA=3 ao amin'ny kaody mpampiantrano anao mba hanesorana ny famakiana ny .aocx file ary ny reprogramming ny FPGA. Ny fametrahana ny saina CL_CONTEXT_COMPILER_MODE_INTELFPGA=3 dia ilaina amin'ny fametrahana ny biraonao hanamarina ny fiasan'ny Platform Custom anao nefa tsy mamolavola ny planina sy mamaritra ny faritra LogicLock™.
Miaraka amin'ny rafitra fitadidiana heterogène, ny tontolon'ny fandehanana dia tsy maintsy mamaky ny toerana misy ny buffer tsirairay, voalaza ao amin'ny .aocx file, hanamarina ny fiasan'ny rafitra fitadidiana. Na izany aza, azonao atao ny manamarina ny fiasan'ny Platform Custom anao nefa tsy mampihatra ireo endri-javatra farany amin'ny famolavolana board, toy ny fandrafetana ny planina gorodona sy ny famaritana ny faritra LogicLock.
- Hamarino fa tsy napetraka ao amin'ny kaody mpampiantrano anao ny saina CL_CONTEXT_COMPILER_MODE_INTELFPGA.
- Mitety ny solaitrabe/ /source/host/mmd lahatahiry an'ny Custom Platform anao.
- Sokafy ny acl_pcie_device.cpp fitadidiana sari-tany (MMD) file amin'ny tonian-dahatsoratra.
- Ovao ny fiasan'ny reprogram ao amin'ny acl_pcie_device.cpp file amin'ny fampidirana fiverenana 0; tsipika, araka ny aseho eto ambany:
int ACL_PCIE_DEVICE::reprogram(void *data, size_t data_size)
{
miverina 0;
// mihevitra ny tsy fahombiazana
int reprogram_failed = 1;
// hevero fa tsy misy rbf na hash ao amin'ny fpga.bin
int rbf_or_hash_not_provided = 1;
// Hevero fa tsy mifanentana ny hash fanavaozana fototra sy fanafarana
int hash_mismatch = 1;
…
} - Avereno amboary ny acl_pcie_device.cpp file.
- Hamarino fa mbola tsy napetraka ny saina CL_CONTEXT_COMPILER_MODE_INTELFPGA.
Attention: Rehefa ampidirinao ny fiverenana 0; mankany amin'ny fiasa reprogram ary avereno indray ny MMD file, ny tontolon'ny runtime dia hamaky ny .aocx file ary manendry ny toerana buffer fa tsy hamerina ny FPGA. Tsy maintsy ampifandraisinao amin'ny tanana ny sary FPGA amin'ny .aocx file. Mba hamadika io fihetsika io, esory ny fiverenana 0; avy amin'ny fiasa reprogram ary avereno indray ny MMD file.
1.6. Tantara Fanavaozana ny antontan-taratasy
Daty | Malagasy Bible | FIOVANA |
Desambra-17 | 2017.12.01 | • Novana anarana CL_MEM_HETEROGENEOUS_ALTERA ho CL_MEM_HETEROGENEOUS_INTELFPGA. |
Desambra-16 | 2016.12.13 | • Novana anarana CL_CONTEXT_COMPILER_MODE_ALTERA ho CL_CONTEXT_COMPILER_MODE_INTELFPGA. |
Mamorona rafitra fitadidiana tsy mitovy amin'ny Intel® FPGA SDK ho an'ny OpenCL
Platforms manokana
Alefaso ny valiny
Online Version
Alefaso ny valiny
ID: 683654
Dikan-teny: 2016.12.13
Documents / Loharano
![]() |
intel Mamorona rafitra fitadidiana heterogène ao amin'ny FPGA SDK ho an'ny OpenCL Custom Platforms [pdf] Toromarika Famoronana rafitra fitadidiana tsy mitovy amin'ny FPGA SDK ho an'ny sehatra OpenCL Custom, Famoronana rafitra fahatsiarovana tsy mitovy, FPGA SDK ho an'ny OpenCL Custom Platforms |