Intel - လိုဂိုOpenCL စိတ်ကြိုက်ပလပ်ဖောင်းများအတွက် FPGA SDK တွင် ကွဲပြားသော Memory စနစ်များကို ဖန်တီးခြင်း။
ညွှန်ကြားချက်များ

OpenCL စိတ်ကြိုက်ပလပ်ဖောင်းများအတွက် Intel® FPGA SDK တွင် Heterogeneous Memory Systems ဖန်တီးခြင်း

စိတ်ကြိုက်ပလပ်ဖောင်းတစ်ခုရှိ ကွဲပြားသောမမ်မိုရီကို အကောင်အထည်ဖော်ခြင်းသည် ပြင်ပမှတ်ဉာဏ်ကြားခံမျက်နှာပြင် (EMIF) ဘန်းဝဒ်အပြင် ပိုမိုကြီးမားပြီး ပိုမြန်သော မမ်မိုရီဝင်ရောက်မှုများကိုလည်း ခွင့်ပြုပေးပါသည်။ ကွဲပြားသော မှတ်ဉာဏ်ဝင်ရောက်မှု၏ ပေါင်းစပ်မှုကို အကောင်းဆုံးဖြစ်အောင် ပြုလုပ်ထားသည်။
OpenCL ™(1) kernel သည် သင်၏ OpenCL စနစ်အတွက် သိသာထင်ရှားသော စွမ်းဆောင်ရည် မြှင့်တင်မှုများကို ဖြစ်ပေါ်စေနိုင်သည်။
ဤအပလီကေးရှင်းမှတ်စုသည် OpenCL(2) အတွက် Intel® FPGA SDK နှင့် အသုံးပြုရန်အတွက် စိတ်ကြိုက်ပလပ်ဖောင်းတွင် ကွဲပြားသောမှတ်ဉာဏ်စနစ်များ ဖန်တီးခြင်းဆိုင်ရာ လမ်းညွှန်ချက်ပေးပါသည်။ Intel မှ သင် သည် ကွဲပြားသော မမ်မိုရီစနစ်များပါရှိသော စိတ်ကြိုက်ပလပ်ဖောင်းများကို တီထွင်နေသော အတွေ့အကြုံရှိ FPGA ဒီဇိုင်နာတစ်ဦးဖြစ်သည်ဟု ယူဆပါသည်။
ကွဲပြားသော မမ်မိုရီစနစ်များကို မဖန်တီးမီ၊ အောက်တွင်ဖော်ပြထားသော OpenCL စာရွက်စာတမ်းများအတွက် Intel FPGA SDK နှင့် ရင်းနှီးအောင်လုပ်ပါ။
ဆက်စပ်အချက်အလက်

  • OpenCL ပရိုဂရမ်းမင်းလမ်းညွှန်အတွက် Intel FPGA SDK
  • OpenCL အကောင်းဆုံးအလေ့အကျင့်များလမ်းညွှန်အတွက် Intel FPGA SDK
  • OpenCL Arria 10 GX FPGA Development Kit အတွက် Intel FPGA SDK ရည်ညွှန်းပလပ်ဖောင်း ပို့ခြင်းလမ်းညွှန်

၁.၁။ FPGA ဘုတ်အဖွဲ့နှင့် EMIF အင်တာဖေ့စ်များ၏ လုပ်ဆောင်နိုင်စွမ်းကို စစ်ဆေးခြင်း။

မမ်မိုရီအင်တာဖေ့စ်တစ်ခုစီကို အမှီအခိုကင်းစွာစစ်ဆေးပြီးနောက် ကမ္ဘာလုံးဆိုင်ရာမှတ်ဉာဏ်ကိုအသုံးပြု၍ သင်၏စိတ်ကြိုက်ပလပ်ဖောင်းကို ချက်ချင်းလုပ်ဆောင်ပါ။

  1. အင်တာဖေ့စ်တစ်ခုစီ၏ အမြန်နှုန်းနှင့် တည်ငြိမ်မှုကို စမ်းသပ်နိုင်သော ဟာ့ဒ်ဝဲဒီဇိုင်းများကို အသုံးပြု၍ မမ်မိုရီအင်တာဖေ့စ်တစ်ခုစီကို အတည်ပြုပါ။
  2. ကမ္ဘာလုံးဆိုင်ရာမှတ်ဉာဏ်ကို အသုံးပြု၍ သင်၏ စိတ်ကြိုက်ပလပ်ဖောင်းကို ချက်ချင်းလုပ်ဆောင်ပါ။
    1. ဟောင်းအတွက်ampအကယ်၍ သင့်တွင် DDR interface သုံးခုရှိလျှင် ၎င်းတို့ထဲမှ တစ်ခုကို ကွဲပြားသော မမ်မိုရီအဖြစ် ပုံဖော်ရပါမည်။ ဤကိစ္စတွင်၊ OpenCL stack ၏လုပ်ဆောင်နိုင်စွမ်းကို DDR interface တစ်ခုစီဖြင့် သီးခြားအတည်ပြုပါ။
      OpenCL နှင့် OpenCL လိုဂိုများသည် Khronos Group™ ၏ခွင့်ပြုချက်ဖြင့်အသုံးပြုသော Apple Inc. ၏ကုန်အမှတ်တံဆိပ်များဖြစ်သည်။
    2.  OpenCL အတွက် Intel FPGA SDK သည် ထုတ်ဝေထားသော Khronos Specification ပေါ်တွင် အခြေခံထားပြီး Khronos Conformance Testing Process ကို ကျော်ဖြတ်ခဲ့သည်။ လက်ရှိ လိုက်လျောညီထွေမှု အခြေအနေကို မှာ တွေ့နိုင်ပါတယ်။ www.khronos.org/conformance။

Intel ကော်ပိုရေးရှင်း။ မူပိုင်ခွင့်များရယူပြီး။ Intel၊ Intel လိုဂိုနှင့် အခြားသော Intel အမှတ်အသားများသည် Intel ကော်ပိုရေးရှင်း သို့မဟုတ် ၎င်း၏လုပ်ငန်းခွဲများ၏ အမှတ်တံဆိပ်များဖြစ်သည်။ Intel သည် Intel ၏ စံအာမခံချက်နှင့်အညီ ၎င်း၏ FPGA နှင့် တစ်ပိုင်းလျှပ်ကူးပစ္စည်းထုတ်ကုန်များ၏ စွမ်းဆောင်ရည်ကို လက်ရှိ သတ်မှတ်ချက်များအတိုင်း အာမခံထားသော်လည်း မည်သည့်ထုတ်ကုန်နှင့် ဝန်ဆောင်မှုများကိုမဆို အသိပေးခြင်းမရှိဘဲ အချိန်မရွေး အပြောင်းအလဲပြုလုပ်ပိုင်ခွင့်ကို လက်ဝယ်ရှိပါသည်။ Intel မှ စာဖြင့် အတိအလင်း သဘောတူထားသည့်အတိုင်း ဤနေရာတွင် ဖော်ပြထားသော အချက်အလက်၊ ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုကို အသုံးပြုခြင်း သို့မဟုတ် အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော တာဝန် သို့မဟုတ် တာဝန်ခံမှု မရှိဟု ယူဆပါသည်။ Intel သုံးစွဲသူများသည် ထုတ်ဝေထားသော အချက်အလက်များနှင့် ထုတ်ကုန် သို့မဟုတ် ဝန်ဆောင်မှုများအတွက် အမှာစာမတင်မီ နောက်ဆုံးဗားရှင်းကို ရယူရန် အကြံပြုအပ်ပါသည်။ *အခြားအမည်များနှင့် အမှတ်တံဆိပ်များကို အခြားသူများ၏ပိုင်ဆိုင်မှုအဖြစ် တောင်းဆိုနိုင်ပါသည်။
ISO 9001:2015 မှတ်ပုံတင်ထားသည်။
တနည်းအားဖြင့် သင့်တွင် DDR interface နှစ်ခုနှင့် quad data rate (QDR) အင်တာဖေ့စ်တစ်ခုရှိလျှင် DDR interfaces နှစ်ခု၏ OpenCL stack ၏ လုပ်ဆောင်နိုင်စွမ်းနှင့် QDR interface ကို သီးခြားစီစစ်ဆေးပါ။
သင်၏မှတ်ဉာဏ်အင်တာဖေ့စ်များကိုစမ်းသပ်ရန် PCI Express® (PCIe® -) သို့မဟုတ် EMIF သီးသန့်ဒီဇိုင်းများကို အသုံးပြုရန် Intel မှ အကြံပြုထားသည်။ မမ်မိုရီအင်တာဖေ့စ်တစ်ခုစီသည် အလုပ်လုပ်ကြောင်းနှင့် သင်၏ OpenCL ဒီဇိုင်းသည် မမ်မိုရီအင်တာဖေ့စ်၏ အစုအဝေးတစ်ခုနှင့် အလုပ်လုပ်ကြောင်း အတည်ပြုပြီးနောက် ဆက်လက်လုပ်ဆောင်ပါ။
အပြည့်အဝလုပ်ဆောင်နိုင်သော ကွဲပြားခြားနားသော မှတ်ဉာဏ်စနစ်တစ်ခုကို ဖန်တီးရန်။ 
၁.၂။ board_spec.xml ကို ပြင်ဆင်ခြင်း။ File
board_spec.xml ကို ပြင်ဆင်ပါ။ file OpenCL kernels များတွင် ရရှိနိုင်သော ကွဲပြားသော မမ်မိုရီစနစ် အမျိုးအစားများကို သတ်မှတ်ရန်။
kernel စုစည်းမှုအတွင်း၊ OpenCL အော့ဖ်လိုင်း Compiler အတွက် Intel FPGA SDK သည် သင်သတ်မှတ်ပေးသည့် ကြားခံတည်နေရာအငြင်းအခုံအပေါ်အခြေခံ၍ kernel အကြောင်းပြချက်များကို မှတ်ဉာဏ်တစ်ခုသို့ ပေးသည်။
1. board_spec.xml သို့ ကြည့်ရှုပါ။ file သင်၏ စိတ်ကြိုက်ပလပ်ဖောင်း၏ ဟာ့ဒ်ဝဲလမ်းညွှန်တွင်။
2. board_spec.xml ကိုဖွင့်ပါ။ file စာသားတည်းဖြတ်သူတွင် နှင့် XML ကို လျော်ညီစွာ မွမ်းမံပါ။
ဟောင်းအတွက်ampအကယ်၍ သင့်ဟာ့ဒ်ဝဲစနစ်တွင် DDR မှတ်ဉာဏ်နှစ်ခုကို မူရင်း globalmemory အဖြစ်နှင့် သင်ပုံစံတူသော QDR ဘဏ်နှစ်ခု ရှိပါက၊ board_spec.xml ၏ မှတ်ဉာဏ်အပိုင်းများကို မွမ်းမံပါ။ file အောက်ပါတို့နှင့်ဆင်တူရန်-
















၁.၃။ Qsys တွင် Multiple Memory Dividers ကို သတ်မှတ်ခြင်း။
လက်ရှိတွင်၊ Qsys ဒီဇိုင်းရှိ OpenCL Memory Bank Divider သည် ပုံမှန်ဖွဲ့စည်းပုံများအတွက် ကန့်သတ်ချက်မဟုတ်သည့် ပါဝါ-၏ 2 နံပါတ်မဟုတ်သော မန်မိုရီဘဏ်များကို မပံ့ပိုးပါ။ သို့သော်၊ ပါဝါမဟုတ်သော 2 နံပါတ် မမ်မိုရီအင်တာဖေ့စ်များ လိုအပ်သည့် အခြေအနေများရှိပါသည်။ ပါဝါမဟုတ်သော 2 အရေအတွက်ရှိသော မမ်မိုရီအင်တာဖေ့စ်များကို လိုက်လျောညီထွေဖြစ်စေရန်အတွက်၊ ပါဝါမဟုတ်သော 2 အရေအတွက်ရှိသော မမ်မိုရီဘဏ်များနှင့်အတူ ကွဲပြားသောမမ်မိုရီဘဏ်များကို ဖန်တီးရန်အတွက် OpenCL Memory Bank Dividers အများအပြားကို အသုံးပြုပါ။ သင့်တွင် စစ်မှန်သော ကွဲပြားခြားနားသော မှတ်ဉာဏ်စနစ်တစ်ခုရှိသောအခါတွင် သင်သည် OpenCL Memory Bank Dividers အများအပြားကို ဖန်တီးရပါမည်။ DDR memory interface တစ်ခုနှင့် QDR memory interface တစ်ခုပါရှိသော စနစ်တစ်ခုကို သုံးသပ်ကြည့်ပါ။ ဘဏ်နှစ်ခုတွင် မတူညီသော memory topologies ပါရှိသောကြောင့်၊ ၎င်းတို့ကို global memory တစ်ခုအောက်တွင် ပေါင်းစပ်၍မရပါ။
ပုံ 1. Three-Bank Heterogeneous Memory System ၏ Block Diagram
ဤမျိုးရိုးဆန်သော မမ်မိုရီစနစ်တွင် DDR မမ်မိုရီ အင်တာဖေ့စ်နှစ်ခုနှင့် QDR မှတ်ဉာဏ်ကြားခံတစ်ခု ပါရှိသည်။intel သည် OpenCL စိတ်ကြိုက်ပလပ်ဖောင်းများအတွက် FPGA SDK တွင် ကွဲပြားသော Memory စနစ်များကို ဖန်တီးနေသည် - ပုံ 1အကယ်၍ သင်သည် Intel Quartus® Prime ဆော့ဖ်ဝဲလ်၏ ဗားရှင်း 16.0၊ 16.0.1 သို့မဟုတ် 16.0.2 နှင့် OpenCL အတွက် Altera SDK ကို အသုံးပြုနေပါက၊ OpenCL Memory Bank Divider သည် လိပ်စာဘောင်များတစ်လျှောက် မမ်မိုရီပေါက်များကို မှားယွင်းစွာ ကိုင်တွယ်ပေးပါသည်။ ဤသိထားသောပြဿနာကိုဖြေရှင်းရန်၊ ပေါက်ကွဲအရွယ်အစား 1 ရှိသော ပိုက်လိုင်းတံတားကိုထည့်ကာ ၎င်း၏ Avalon ®Memory-Mapped (Avalon-MM) မာစတာကို OpenCL Memory Bank Divider's slave port သို့ ချိတ်ဆက်ပါ။
မှတ်ချက် -
ဤလူသိများသောပြဿနာကို Intel Quartus Prime ဆော့ဖ်ဝဲနှင့် OpenCL ဗားရှင်း 16.1 အတွက် Intel FPGA SDK တွင် ဖြေရှင်းထားသည်။
ပုံ 2. ပိုက်လိုင်းတံတားဖြင့် Three-Bank Heterogeneous Memory System ၏ Block Diagram intel သည် OpenCL စိတ်ကြိုက်ပလပ်ဖောင်းများအတွက် FPGA SDK တွင် ကွဲပြားသော Memory စနစ်များကို ဖန်တီးနေသည် - ပုံ 2၁.၄။ သင်၏ Heterogeneous Memory ဖြေရှင်းချက်အတွက် Boardtest ပရိုဂရမ်နှင့် လက်ခံကုဒ်ကို ပြင်ဆင်ခြင်း။
သင့်စိတ်ကြိုက်ပလပ်ဖောင်း၏လုပ်ဆောင်နိုင်စွမ်းနှင့်စွမ်းဆောင်ရည်ကိုစမ်းသပ်ရန် OpenCL Custom Platform Toolkit အတွက် Intel FPGA SDK ပါရှိသော boardtest.cl kernel ကိုသုံးပါ။
boardtest ပရိုဂရမ်သည် သင့်စိတ်ကြိုက်ပလပ်ဖောင်း၏ ယေဘူယျလုပ်ဆောင်နိုင်စွမ်း၊ လက်ခံသူမှ စက်ကိရိယာ လှိုင်းနှုန်း၊ မှတ်ဉာဏ် လှိုင်းနှုန်းနှင့် အထွေထွေ လုပ်ဆောင်ချက်များကို စမ်းသပ်ရန် ခွင့်ပြုသည့် OpenCL kernel တစ်ခုဖြစ်သည်။

  1. Browse လုပ်ပါ။ /board/ custom_platform_toolkit/tests/boardtest directory။
  2. boardtest.cl ကိုဖွင့်ပါ။ file စာသားတည်းဖြတ်သူတွင် ဂလိုဘယ်မှတ်ဉာဏ် အငြင်းအခုံတစ်ခုစီအတွက် ကြားခံတည်နေရာကို သတ်မှတ်ပါ။
    ဟောင်းအတွက်ample-
    __kernel ပျက်ပြယ်သည်။
    mem_stream (__global__attribute__((buffer_location(“DDR”))) uint *src၊ __global __attribute__((buffer_location(“QDR”))) uint *dst၊ uint arg၊ uint arg2)
    ဤတွင်၊ uint *src ကို DDR memory တွင်သတ်မှတ်ထားပြီး uint *dst ကို QDR memory တွင်သတ်မှတ်ထားသည်။ board_spec.xml file မှတ်ဉာဏ်စနစ်နှစ်ခုလုံး၏ လက္ခဏာများကို သတ်မှတ်သည်။
  3. သင်၏ OpenCL စနစ်တွင် ကွဲပြားသော မမ်မိုရီဖြေရှင်းချက်ကို အသုံးချရန် CL_MEM_HETEROGENEOUS_INTELFPGA အလံကို သင်၏ clCreateBuffer ခေါ်ဆိုမှုတွင် ထည့်သွင်းခြင်းဖြင့် သင့်အိမ်ရှင်ကုဒ်ကို မွမ်းမံပြင်ဆင်ပါ။
    ဟောင်းအတွက်ample-
    ddatain = clCreateBuffer(အကြောင်းအရာ၊ CL_MEM_READ_WRITE | memflags
    CL_MEM_HETEROGENEOUS_INTELFPGA၊ အရွယ်အစား(လက်မှတ်မထိုးထားသော) * vectorSize၊ NULL၊ &status);
    Intel သည် ကြားခံနေရာကို မရေးမီ kernel အငြင်းအခုံအဖြစ် သတ်မှတ်ရန် အလေးအနက်အကြံပြုပါသည်။ ဂလိုဘယ်မှတ်ဉာဏ်တစ်ခုတည်းကို အသုံးပြုသည့်အခါ၊ ၎င်းတို့ကို kernel အငြင်းအခုံတစ်ခုသို့ မသတ်မှတ်မီ သို့မဟုတ် အပြီးတွင် buffers များကို ရေးသားနိုင်သည်။ ကွဲပြားသော မမ်မိုရီစနစ်များတွင်၊ ကြားခံကို မရေးမီတွင် လက်ခံသူသည် ကြားခံတည်နေရာကို သတ်မှတ်ပေးသည်။ တစ်နည်းအားဖြင့်၊ လက်ခံသူသည် clEnqueueWriteBuffer လုပ်ဆောင်ချက်ကို မခေါ်ဆိုမီ clSetKernelArgument လုပ်ဆောင်ချက်ကို ခေါ်ပါမည်။
    သင့်အိမ်ရှင်ကုဒ်တွင် clCreateBuffer၊ clSetKernelArg နှင့် clEnqueueWriteBuffer ခေါ်ဆိုမှုများကို အောက်ပါအစီအစဉ်အတိုင်း ခေါ်ဆိုပါ-
    ddatain = clCreateBuffer(အကြောင်းအရာ၊ CL_MEM_READ_WRITE | memflags |
    CL_MEM_HETEROGENEOUS_INTELFPGA၊ အရွယ်အစား(လက်မှတ်မထိုးထားသော) * vectorSize၊ NULL၊ &status);
    … status = clSetKernelArg(kernel[k]၊ 0၊ sizeof(cl_mem), (void*)&ddatain);
    … status = clEnqueueWriteBuffer(queue, ddatain, CL_FALSE, 0, sizeof(unsigned) * vectorSize,hdatain, 0, NULL, NULL);
    ALTERAOCLSDKROOT/board/custom_platform_toolkit/tests/boardtest/host/memspeed.cpp file ဤလုပ်ဆောင်ချက်ခေါ်ဆိုမှုများ၏ အလားတူအစီအစဥ်ကို တင်ပြသည်။
  4.  သင် boardtest.cl ကိုမွမ်းမံပြီးနောက် file နှင့် host ကုဒ်၊ host နှင့် kernel ကုဒ်တို့ကို စုစည်းပြီး ၎င်းတို့၏ လုပ်ဆောင်နိုင်စွမ်းကို အတည်ပြုပါ။
    သင်၏ kernel ကုဒ်ကို ပြုစုသောအခါ၊ -no-interleaving အပါအဝင် မမ်မိုရီစနစ်အားလုံး၏ ဆက်တိုက်ကြားဖြတ်ခြင်းကို ပိတ်ရပါမည်။ aoc command တွင်ရွေးချယ်မှု။

ဆက်စပ်အချက်အလက်
ကမ္ဘာလုံးဆိုင်ရာမှတ်ဉာဏ်၏ ဆက်တိုက်ကြားထွက်ခြင်းကို ပိတ်ခြင်း (–ကြားမဝင်ပါ။ )

၁.၅။ သင်၏ ကွဲပြားသော မှတ်ဉာဏ်၏ လုပ်ဆောင်နိုင်စွမ်းကို စစ်ဆေးခြင်း။ စနစ်
ကွဲပြားသောမှတ်ဉာဏ်စနစ်သည် ကောင်းမွန်စွာလုပ်ဆောင်နိုင်စေရန် သေချာစေရန်၊ သင့်အိမ်ရှင်ကုဒ်တွင် CL_CONTEXT_COMPILER_MODE_INTELFPGA အလံကို ဖြုတ်ပါ။
တစ်သားတည်းရှိသော မမ်မိုရီရှိသော OpenCL စနစ်များတွင်၊ .aocx ၏ဖတ်ခြင်းကို ပိတ်ရန်အတွက် သင့်အိမ်ရှင်ကုဒ်တွင် CL_CONTEXT_COMPILER_MODE_INTELFPGA=3 အလံကို သတ်မှတ်ရန် ရွေးချယ်ခွင့်ရှိသည်။ file နှင့် FPGA ၏ ပြန်လည်အစီအစဉ်ချခြင်း CL_CONTEXT_COMPILER_MODE_INTELFPGA=3 အလံကို သတ်မှတ်ခြင်းသည် သင့်စိတ်ကြိုက်ပလပ်ဖောင်း၏ လုပ်ဆောင်နိုင်စွမ်းကို အတည်ပြုရန် သင့်ဘုတ်အဖွဲ့အား ချက်ခြင်းလုပ်ဆောင်သည့်အခါ အသုံးဝင်ပါသည်။
ကွဲပြားသော မမ်မိုရီစနစ်များဖြင့်၊ .aocx တွင်ဖော်ပြထားသော ကြားခံတစ်ခုစီ၏ ကြားခံတည်နေရာများကို runtime ပတ်ဝန်းကျင်က ဖတ်ရပါမည်။ fileမှတ်ဉာဏ်စနစ်များ၏ လုပ်ဆောင်နိုင်စွမ်းကို စစ်ဆေးရန်။ သို့သော်လည်း၊ floorplan ကို ဒီဇိုင်းထုတ်ခြင်းနှင့် LogicLock ဒေသများကို သတ်မှတ်ခြင်းကဲ့သို့သော board design ၏ နောက်ဆုံးအင်္ဂါရပ်များကို အကောင်အထည်မဖော်ဘဲ သင်၏ Custom Platform ၏ လုပ်ဆောင်နိုင်စွမ်းကို အတည်ပြုလိုပေမည်။

  1. သင့်အိမ်ရှင်ကုဒ်တွင် CL_CONTEXT_COMPILER_MODE_INTELFPGA အလံကို သတ်မှတ်မထားကြောင်း အတည်ပြုပါ။
  2. ဘုတ်သို့ လှန်ကြည့်ရန်/ သင့်စိတ်ကြိုက်ပလပ်ဖောင်း၏ /source/host/mmd လမ်းညွှန်။
  3. acl_pcie_device.cpp မမ်မိုရီမြေပုံပြုလုပ်ထားသော စက် (MMD) ကိုဖွင့်ပါ file စာသားတည်းဖြတ်သူတွင်။
  4.  acl_pcie_device.cpp ရှိ reprogram လုပ်ဆောင်ချက်ကို မွမ်းမံပါ။ file return 0 ကို ပေါင်းထည့်ခြင်းဖြင့်၊ အောက်ဖော်ပြပါအတိုင်း စာကြောင်း
    int ACL_PCIE_DEVICE::reprogram(ပျက်ပြယ် *data၊ size_t data_size)
    {
    ပြန်လာ 0;
    // ပျက်ကွက်တယ်လို့ ယူဆတယ်။
    int reprogram_failed = 1;
    // fpga.bin တွင် rbf သို့မဟုတ် hash မရှိဟု ယူဆပါ။
    int rbf_or_hash_not_provided = 1;
    // အခြေခံနှင့် တင်သွင်းသည့် တည်းဖြတ်မှု hashe များသည် မကိုက်ညီဟု ယူဆသည်။
    int hash_mismatch = 1;

    }
  5. acl_pcie_device.cpp ကို ပြန်လည်စုစည်းပါ။ file.
  6. CL_CONTEXT_COMPILER_MODE_INTELFPGA အလံ မသတ်မှတ်ရသေးကြောင်း အတည်ပြုပါ။
    အာရုံစူးစိုက်မှု- ပြန်ထည့်ပြီးနောက် 0; reprogram function သို့ MMD ကို ပြန်လည်စုစည်းပါ။ fileruntime environment သည် .aocx ကိုဖတ်လိမ့်မည်။ file ကြားခံတည်နေရာများကို သတ်မှတ်ပေးသော်လည်း FPGA ကို ပြန်လည်အစီအစဉ်ချမည်မဟုတ်ပါ။ သင်သည် FPGA ရုပ်ပုံအား .aocx နှင့် ကိုယ်တိုင် ကိုက်ညီရပါမည်။ file. ဤအပြုအမူကို ပြောင်းပြန်လှန်ရန်၊ return 0 ကို ဖယ်ရှားပါ။ reprogram function မှ MMD ကို recompile လုပ်ပါ။ file.

၁၁.၅။ စာရွက်စာတမ်း ပြန်လည်ပြင်ဆင်မှုမှတ်တမ်း

ရက်စွဲ ဗားရှင်း အပြောင်းအလဲများ
ဒီဇင်ဘာ-၁၃ 2017.12.01 • CL_MEM_HETEROGENEOUS_ALTERA ကို CL_MEM_HETEROGENEOUS_INTELFPGA သို့ တံဆိပ်ပြောင်းထားသည်။
ဒီဇင်ဘာ-၁၃ 2016.12.13 • CL_CONTEXT_COMPILER_MODE_ALTERA အား CL_CONTEXT_COMPILER_MODE_INTELFPGA သို့ တံဆိပ်ပြောင်းထားသည်။

Intel - လိုဂိုOpenCL အတွက် Intel® FPGA SDK တွင် Heterogeneous Memory Systems ကို ဖန်တီးခြင်း။
စိတ်ကြိုက်ပလပ်ဖောင်းများ
intel OpenCL စိတ်ကြိုက်ပလပ်ဖောင်းများအတွက် FPGA SDK တွင် ကွဲပြားသော Memory စနစ်များကို ဖန်တီးခြင်း - သင်္ကေတ 1 တုံ့ပြန်ချက်ပေးပို့ပါ။
intel သည် OpenCL စိတ်ကြိုက်ပလပ်ဖောင်းများအတွက် FPGA SDK တွင် ကွဲပြားသော Memory စနစ်များကို ဖန်တီးနေသည် - သင်္ကေတ အွန်လိုင်းဗားရှင်း
intel OpenCL စိတ်ကြိုက်ပလပ်ဖောင်းများအတွက် FPGA SDK တွင် ကွဲပြားသော Memory စနစ်များကို ဖန်တီးခြင်း - သင်္ကေတ 1 တုံ့ပြန်ချက်ပေးပို့ပါ။
ID: 683654
ဗားရှင်း- 2016.12.13

စာရွက်စာတမ်းများ / အရင်းအမြစ်များ

intel သည် OpenCL စိတ်ကြိုက်ပလပ်ဖောင်းများအတွက် FPGA SDK တွင် ကွဲပြားသော Memory စနစ်များကို ဖန်တီးနေသည် [pdf] ညွှန်ကြားချက်များ
OpenCL စိတ်ကြိုက်ပလပ်ဖောင်းများအတွက် FPGA SDK တွင် ကွဲပြားသော Memory စနစ်များကို ဖန်တီးခြင်း၊ ကွဲပြားသော Memory စနစ်များကို ဖန်တီးခြင်း၊ OpenCL စိတ်ကြိုက်ပလပ်ဖောင်းများအတွက် FPGA SDK

ကိုးကား

မှတ်ချက်တစ်ခုချန်ထားပါ။

သင့်အီးမေးလ်လိပ်စာကို ထုတ်ပြန်မည်မဟုတ်ပါ။ လိုအပ်သောအကွက်များကို အမှတ်အသားပြုထားသည်။ *