Intel - логотипЭҷоди системаҳои хотираи гетерогенӣ дар FPGA SDK барои платформаҳои фармоишии OpenCL
Дастурҳо

Эҷоди системаҳои хотираи гетерогенӣ дар Intel® FPGA SDK барои платформаҳои фармоишии OpenCL

Татбиқи хотираи гетерогенӣ дар Платформаи фармоишӣ имкон медиҳад, ки фарохмаҷрои бештари интерфейси хотираи беруна (EMIF) ва инчунин дастрасии калонтар ва зудтари хотираи хотира. Омезиши дастрасии хотираи гетерогенӣ бо оптимизатсияшуда
OpenCL ™(1) ядро ​​метавонад боиси беҳбудиҳои назарраси кори системаи OpenCL-и шумо гардад.
Ин ёддошти барнома роҳнаморо оид ба сохтани системаҳои хотираи гетерогенӣ дар Платформаи фармоишӣ барои истифода бо Intel® FPGA SDK барои OpenCL(2) медиҳад. Intel тахмин мекунад, ки шумо як тарроҳи ботаҷрибаи FPGA ҳастед, ки Платформаҳои фармоиширо таҳия карда истодаед, ки дорои системаҳои хотираи гетерогенӣ мебошанд.
Пеш аз сохтани системаҳои хотираи гетерогенӣ, бо Intel FPGA SDK барои ҳуҷҷатҳои OpenCL, ки дар зер нишон дода шудаанд, шинос шавед.
Маълумоти марбут

  • Intel FPGA SDK барои дастури барномасозии OpenCL
  • Intel FPGA SDK барои Дастури беҳтарин таҷрибаҳои OpenCL
  • Intel FPGA SDK барои OpenCL Arria 10 GX FPGA маҷмӯаи истинод барои интиқоли платформа

1.1. Санҷиши фаъолияти Шӯрои FPGA ва интерфейсҳои EMIF

Ҳар як интерфейси хотираро мустақилона тафтиш кунед ва сипас Платформаи фармоишии худро бо истифода аз хотираи глобалӣ эҷод кунед.

  1. Ҳар як интерфейси хотираро бо истифода аз тарҳҳои сахтафзор, ки суръат ва устувории ҳар як интерфейсро санҷида метавонанд, тафтиш кунед.
  2. Платформаи фармоишии худро бо истифода аз хотираи глобалӣ эҷод кунед.
    1. Барои мисолample, агар шумо се интерфейси DDR дошта бошед, яке аз онҳо бояд ҳамчун хотираи гетерогенӣ харита карда шавад. Дар ин ҳолат, фаъолияти стеки OpenCL-ро бо ҳар як интерфейси DDR мустақилона тафтиш кунед.
      OpenCL ва логотипи OpenCL тамғаҳои тиҷоратии Apple Inc. мебошанд, ки бо иҷозати Khronos Group™ истифода мешаванд.
    2.  Intel FPGA SDK барои OpenCL ба мушаххасоти нашршудаи Khronos асос ёфтааст ва аз раванди санҷиши мутобиқати Khronos гузаштааст. Ҳолати кунунии мувофиқатро дар ин ҷо пайдо кардан мумкин аст www.khronos.org/conformance.

Корпоратсияи Intel. Ҳамаи ҳуқуқ маҳфуз аст. Intel, логотипи Intel ва дигар тамғаҳои Intel тамғаҳои тиҷоратии Intel Corporation ё филиалҳои он мебошанд. Intel иҷрои маҳсулоти FPGA ва нимноқилҳои худро мувофиқи мушаххасоти ҷорӣ мутобиқи кафолати стандартии Intel кафолат медиҳад, аммо ҳуқуқ дорад, ки дар вақти дилхоҳ бидуни огоҳӣ ба ҳама гуна маҳсулот ва хидматҳо тағйирот ворид кунад. Intel ҳеҷ гуна масъулият ё масъулиятеро, ки аз барнома ё истифодаи ҳама гуна маълумот, маҳсулот ё хидмати дар ин ҷо тавсифшуда бармеояд, ба дӯш намегирад, ба истиснои ҳолатҳое, ки Intel дар шакли хаттӣ розӣ шудааст. Ба муштариёни Intel тавсия дода мешавад, ки пеш аз такя ба ягон маълумоти нашршуда ва пеш аз фармоиш додани маҳсулот ё хидматҳо версияи охирини мушаххасоти дастгоҳро дастрас кунанд. * Дигар номҳо ва брендҳо метавонанд ҳамчун моликияти дигарон даъво карда шаванд.
ISO 9001: 2015 ба қайд гирифта шудааст
Интихобан, агар шумо ду интерфейси DDR ва як интерфейси чоргонаи суръати маълумот (QDR) дошта бошед, кори стеки OpenCL-и ду интерфейси DDR ва интерфейси QDR-ро мустақилона тафтиш кунед.
Intel тавсия медиҳад, ки барои санҷиши интерфейсҳои хотираи худ тарроҳии PCI Express® – (PCIe® -) ё EMIF-ро истифода баред. Пас аз он ки шумо санҷед, ки ҳар як интерфейси хотира функсионалӣ аст ва тарҳи OpenCL-и шумо бо зермаҷмӯи интерфейсҳои хотира кор мекунад, идома диҳед.
барои ба вучуд овардани системаи хотираи гетерогении пурра функсионалй. 
1.2. Тағир додани board_spec.xml File
board_spec.xml-ро тағир диҳед file барои муайян кардани намудҳои системаҳои хотираи гетерогенӣ, ки барои ядроҳои OpenCL дастрасанд.
Ҳангоми тартиб додани ядро, Intel FPGA SDK барои OpenCL Offline Compiler далелҳои ядроро ба хотира дар асоси аргументи ҷойгиршавии буфере, ки шумо муайян мекунед, таъин мекунад.
1. Ба board_spec.xml нигаред file дар феҳристи сахтафзори Платформаи фармоишии шумо.
2. board_spec.xml -ро кушоед file дар муҳаррири матн ва XML-ро мувофиқи он тағир диҳед.
Барои мисолampАгар системаи сахтафзори шумо ду хотираи DDR ҳамчун хотираи пешфарз ва ду бонки QDR дошта бошад, ки шумо онҳоро ҳамчун хотираи гетерогенӣ модел мекунед, қисмҳои хотираи board_spec.xml -ро тағир диҳед file ба зерин монанд аст:
















1.3. Насб кардани тақсимкунандагони хотираи сершумор дар Qsys
Дар айни замон, тақсимкунандаи бонки хотираи OpenCL дар тарҳи Qsys шумораи бонкҳои хотираи ғайридавлатиро дастгирӣ намекунад, ки барои конфигуратсияҳои маъмулӣ маҳдудият нест. Бо вуҷуди ин, сенарияҳое вуҷуд доранд, ки шумораи интерфейсҳои хотираи ғайридавлатӣ аз 2 заруранд. Барои ҷойгир кардани интерфейсҳои хотираи ғайридавлатӣ аз 2, тақсимкунакҳои сершумори OpenCL Memory Bank -ро истифода баред, то системаҳои хотираи гетерогениро бо шумораи бонкҳои хотираи ғайридавлатӣ аз 2 эҷод кунед. Вақте ки шумо системаи хотираи гетерогении ҳақиқӣ доред, шумо бояд якчанд тақсимкунандагони бонки хотираи OpenCL эҷод кунед. Системаро бо як интерфейси хотираи DDR ва як интерфейси хотираи QDR баррасӣ кунед. Азбаски ин ду бонк топологияҳои гуногуни хотира доранд, шумо наметавонед онҳоро дар як хотираи глобалӣ муттаҳид кунед.
Расми 1. Диаграммаи блоки системаи хотираи гетерогении се бонкӣ
Ин системаи хотираи гетерогенӣ дорои ду интерфейси хотираи DDR ва як интерфейси хотираи QDR мебошад.intel Эҷоди системаҳои хотираи гетерогенӣ дар FPGA SDK барои платформаҳои фармоишии OpenCL - расм 1Агар шумо версияи 16.0, 16.0.1 ё 16.0.2 нармафзори Intel Quartus® Prime ва Altera SDK барои OpenCL-ро истифода баред, тақсимкунандаи бонки хотираи OpenCL таркишҳои хотираро дар ҳудуди суроғаҳо нодуруст идора мекунад. Барои ҳалли ин масъалаи маълум, як пули қубурро бо андозаи таркиши 1 илова кунед ва устоди Avalon ®Memory-Mapped (Avalon-MM) -ро ба бандари ғуломи OpenCL Memory Bank Divider пайваст кунед.
Шарҳ:
Ин масъалаи маълум дар нармафзори Intel Quartus Prime ва Intel FPGA SDK барои версияи OpenCL 16.1 ҳал карда шудааст.
Расми 2. Диаграммаи блоки системаи хотираи гетерогении се бонкӣ бо пули қубур intel Эҷоди системаҳои хотираи гетерогенӣ дар FPGA SDK барои платформаҳои фармоишии OpenCL - расм 21.4. Тағир додани барномаи Boardtest ва рамзи мизбон барои ҳалли хотираи гетерогении шумо
Ядрои boardtest.cl, ки бо Intel FPGA SDK барои Toolkit OpenCL Custom Platform меояд, истифода баред, то коршоямӣ ва иҷрои Платформаи фармоишии худро санҷед.
Барномаи boardtest як ядрои OpenCL мебошад, ки ба шумо имкон медиҳад, ки маҷрои мизбон ба дастгоҳ, фарохмаҷрои хотира ва функсияҳои умумии Платформаи фармоишии худро санҷед.

  1. Ба /board/ custom_platform_toolkit/tests/ boardtest феҳристи.
  2. boardtest.cl -ро кушоед file дар муҳаррири матнӣ ҷойгир кунед ва ба ҳар як аргументи хотираи глобалӣ макони буфер таъин кунед.
    Барои мисолampле:
    __ ядро ​​​​беэътибор
    mem_stream (__global__attribute__((buffer_location("DDR"))) uint *src, __global __attribute__((buffer_location("QDR"))) uint *dst, uint arg, uint arg2)
    Дар ин ҷо, uint *src ба хотираи DDR ва uint *dst ба хотираи QDR таъин карда мешавад. board_spec.xml file хусусиятҳои ҳарду системаи хотираро муайян мекунад.
  3. Барои истифодаи ҳалли хотираи гетерогении худ дар системаи OpenCL, рамзи хости худро бо илова кардани парчами CL_MEM_HETEROGENEOUS_INTELFPGA ба занги clCreateBuffer-и худ тағир диҳед.
    Барои мисолampле:
    ddatain = clCreateBuffer (контекст, CL_MEM_READ_WRITE | memflags
    CL_MEM_HETEROGENEOUS_INTELFPGA, sizeof(беимзо) * vectorSize, NULL, &status);
    Intel ба таври қатъӣ тавсия медиҳад, ки шумо пеш аз навиштани буфер макони буферро ҳамчун аргументи ядро ​​муқаррар кунед. Ҳангоми истифодаи як хотираи глобалӣ, шумо метавонед буферҳоро пеш аз ё баъд аз таъини онҳо ба аргументи ядроӣ нависед. Дар системаҳои хотираи гетерогенӣ, мизбон пеш аз навиштани буфер макони буферро муқаррар мекунад. Ба ибораи дигар, мизбон пеш аз даъват кардани функсияи clEnqueueWriteBuffer функсияи clSetKernelArgument -ро даъват мекунад.
    Дар рамзи хости худ, зангҳои clCreateBuffer, clSetKernelArg ва clEnqueueWriteBuffer-ро бо тартиби зерин даъват кунед:
    ddatain = clCreateBuffer (контекст, CL_MEM_READ_WRITE | memflags |
    CL_MEM_HETEROGENEOUS_INTELFPGA, sizeof(беимзо) * vectorSize, NULL, &status);
    … ҳолати = clSetKernelArg(ядро[k], 0, sizeof(cl_mem), (боэътибор*)&ddatain);
    … вазъият = clEnqueueWriteBuffer(навбат, маълумот, CL_FALSE, 0, sizeof(беимзо) * vectorSize,hdatain, 0, NULL, NULL);
    ALTERAOCLSDKROOT/board/custom_platform_toolkit/tests/boardtest/host/memspeed.cpp file тартиби шабеҳи ин зангҳои функсияро пешниҳод мекунад.
  4.  Пас аз тағир додани boardtest.cl file ва рамзи ҳост, рамзи ҳост ва ядроро тартиб диҳед ва кори онҳоро тафтиш кунед.
    Ҳангоми тартиб додани рамзи ядрои худ, шумо бояд таркиш-ҳамбастагии ҳамаи системаҳои хотираро бо дохил кардани -no-interleaving ғайрифаъол кунед. хосият дар фармони aoc.

Маълумоти марбут
Хомӯш кардани Burst-Interleaving-и хотираи глобалӣ (-но-интерлеалинг )

1.5. Санҷиши фаъолияти хотираи гетерогении шумо Система
Барои боварӣ ҳосил кардани он, ки системаи хотираи гетерогенӣ дуруст кор мекунад, парчами CL_CONTEXT_COMPILER_MODE_INTELFPGA-ро дар коди мизбони худ танзим кунед.
Дар системаҳои OpenCL бо хотираи якхела, шумо бояд интихоб кунед, ки парчами CL_CONTEXT_COMPILER_MODE_INTELFPGA=3-ро дар коди ҳостатон хомӯш кунед, то хондани .aocx-ро ғайрифаъол кунед. file ва аз нав барномарезии FPGA. Ҷойгир кардани парчами CL_CONTEXT_COMPILER_MODE_INTELFPGA=3 ҳангоми сохтани тахтаи шумо барои тасдиқи фаъолияти Платформаи фармоишии шумо бе тарҳрезии нақшаи ошёна ва муайян кардани минтақаҳои LogicLock™ муфид аст.
Бо системаҳои хотираи гетерогенӣ, муҳити корӣ бояд маконҳои буферии ҳар як буферро, ки дар .aocx тавсиф шудааст, хонд. file, барои санҷидани фаъолияти системаҳои хотира. Бо вуҷуди ин, шумо метавонед бе татбиқи хусусиятҳои ниҳоии тарҳи тахта, ба монанди тарҳрезии нақшаи ошёна ва муайян кардани минтақаҳои LogicLock, фаъолияти Платформаи фармоишии худро тафтиш кунед.

  1. Боварӣ ҳосил кунед, ки парчами CL_CONTEXT_COMPILER_MODE_INTELFPGA дар коди мизбони шумо насб нашудааст.
  2. Ба тахта нигаред/ /source/host/mmd феҳристи Платформаи фармоишии шумо.
  3. Дастгоҳи бо хариташудаи хотираи acl_pcie_device.cpp (MMD) -ро кушоед file дар муҳаррири матн.
  4.  Функсияи reprogramро дар acl_pcie_device.cpp тағир диҳед file бо илова кардани бозгашти 0; хат, тавре ки дар зер нишон дода шудааст:
    int ACL_PCIE_DEVICE::reprogram(беэътибор *маълумот, андозаи_t дода_андоза)
    {
    баргардонидани 0;
    // нокомиро тахмин кардан
    int reprogram_failed = 1;
    // фарз кунем, ки дар fpga.bin rbf ё hash мавҷуд нест
    int rbf_or_hash_not_provided = 1;
    // фарз кунем, ки хэшҳои бознигарии базавӣ ва воридотӣ мувофиқат намекунанд
    int hash_mismatch = 1;

    }
  5. acl_pcie_device.cpp-ро аз нав тартиб диҳед file.
  6. Боварӣ ҳосил кунед, ки парчами CL_CONTEXT_COMPILER_MODE_INTELFPGA танзим нашуда мемонад.
    Диққат: Пас аз илова кардани шумо бозгашти 0; ба вазифаи reprogram ва аз нав тартиб MMD file, муҳити корӣ .aocx-ро мехонад file ва ҷойгиршавии буферро таъин кунед, аммо FPGA-ро аз нав барномарезӣ намекунад. Шумо бояд ба таври дастӣ тасвири FPGA бо .aocx мувофиқат кунед file. Барои баргардонидани ин рафтор, баргардонидани 0; аз функсияи reprogram ва аз нав тартиб MMD file.

1.6. Таърихи бознигарии ҳуҷҷатҳо

Сана Версия Тағйирот
17 декабр 2017.12.01 • Ребрендинг CL_MEM_HETEROGENEOUS_ALTERA ба CL_MEM_HETEROGENEOUS_INTELFPGA.
16 декабр 2016.12.13 • Ребрендинги CL_CONTEXT_COMPILER_MODE_ALTERA ба CL_CONTEXT_COMPILER_MODE_INTELFPGA.

Intel - логотипЭҷоди системаҳои хотираи гетерогенӣ дар Intel® FPGA SDK барои OpenCL
Платформаҳои фармоишӣ
intel Эҷоди системаҳои хотираи гетерогенӣ дар FPGA SDK барои платформаҳои фармоишии OpenCL - icon 1 Фиристодани фикру ақида
intel Эҷоди системаҳои хотираи гетерогенӣ дар FPGA SDK барои платформаҳои фармоишии OpenCL - icon Онлайн
intel Эҷоди системаҳои хотираи гетерогенӣ дар FPGA SDK барои платформаҳои фармоишии OpenCL - icon 1 Фиристодани фикру ақида
Рақам: 683654
Версия: 2016.12.13

Ҳуҷҷатҳо / Сарчашмаҳо

intel Эҷоди системаҳои хотираи гетерогенӣ дар FPGA SDK барои платформаҳои фармоишии OpenCL [pdf] Дастурҳо
Эҷоди системаҳои хотираи гетерогенӣ дар FPGA SDK барои платформаҳои фармоишии OpenCL, эҷоди системаҳои хотираи гетерогенӣ, FPGA SDK барои платформаҳои фармоишии OpenCL

Иқтибосҳо

Назари худро гузоред

Суроғаи почтаи электронии шумо нашр намешавад. Майдонҳои зарурӣ қайд карда шудаанд *