ການສ້າງລະບົບຄວາມຊົງຈໍາ Heterogeneous ໃນ FPGA SDK ສໍາລັບ OpenCL Custom Platforms
ຄໍາແນະນໍາ
ການສ້າງລະບົບຄວາມຊົງຈໍາທີ່ຮຸນແຮງໃນ Intel® FPGA SDK ສໍາລັບ OpenCL Custom Platforms
ການປະຕິບັດຂອງຫນ່ວຍຄວາມຈໍາ heterogeneous ໃນ Custom Platform ອະນຸຍາດໃຫ້ມີການໂຕ້ຕອບຫນ່ວຍຄວາມຈໍາພາຍນອກ (EMIF) ແບນວິດເພີ່ມເຕີມເຊັ່ນດຽວກັນກັບການເຂົ້າເຖິງຫນ່ວຍຄວາມຈໍາຂະຫນາດໃຫຍ່ແລະໄວຂຶ້ນ. ການປະສົມປະສານຂອງການເຂົ້າເຖິງຫນ່ວຍຄວາມຈໍາ heterogenous ກັບ optimized
OpenCL ™(1)kernel ສາມາດສົ່ງຜົນໃຫ້ມີການປັບປຸງປະສິດທິພາບທີ່ສໍາຄັນສໍາລັບລະບົບ OpenCL ຂອງທ່ານ.
ບັນທຶກແອັບພລິເຄຊັນນີ້ໃຫ້ຄຳແນະນຳໃນການສ້າງລະບົບຄວາມຊົງຈຳທີ່ຫຼາກຫຼາຍໃນເວທີທີ່ກຳນົດເອງເພື່ອໃຊ້ກັບ Intel® FPGA SDK ສຳລັບ OpenCL(2). Intel ສົມມຸດວ່າທ່ານເປັນຜູ້ອອກແບບ FPGA ທີ່ມີປະສົບການທີ່ກໍາລັງພັດທະນາ Custom Platforms ທີ່ມີລະບົບຄວາມຊົງຈໍາທີ່ແຕກຕ່າງກັນ.
ກ່ອນທີ່ຈະສ້າງລະບົບຄວາມຊົງຈໍາທີ່ຫຼາກຫຼາຍຊະນິດ, ໃຫ້ເຮັດຄວາມຄຸ້ນເຄີຍກັບ Intel FPGA SDK ສໍາລັບເອກະສານ OpenCL ທີ່ລະບຸໄວ້ຂ້າງລຸ່ມນີ້.
ຂໍ້ມູນທີ່ກ່ຽວຂ້ອງ
- Intel FPGA SDK ສໍາລັບຄູ່ມືການດໍາເນີນໂຄງການ OpenCL
- Intel FPGA SDK ສໍາລັບຄູ່ມືການປະຕິບັດທີ່ດີທີ່ສຸດ OpenCL
- Intel FPGA SDK ສໍາລັບ OpenCL Arria 10 GX FPGA Development Kit Reference Platform Porting Guide
1.1. ການກວດສອບການທໍາງານຂອງຄະນະກໍາມະການ FPGA ແລະການໂຕ້ຕອບ EMIF
ກວດສອບແຕ່ລະສ່ວນປະສານຄວາມຊົງຈໍາເປັນອິດສະຫຼະແລະຫຼັງຈາກນັ້ນ instantiate Custom Platform ຂອງທ່ານໂດຍນໍາໃຊ້ຫນ່ວຍຄວາມຈໍາທົ່ວໂລກ.
- ກວດສອບແຕ່ລະສ່ວນຕິດຕໍ່ຫນ່ວຍຄວາມຈໍາໂດຍໃຊ້ການອອກແບບຮາດແວທີ່ສາມາດທົດສອບຄວາມໄວແລະຄວາມຫມັ້ນຄົງຂອງແຕ່ລະສ່ວນຕິດຕໍ່.
- Instantiate Custom Platform ຂອງທ່ານໂດຍໃຊ້ຫນ່ວຍຄວາມຈໍາທົ່ວໂລກ.
- ຕົວຢ່າງampຖ້າຫາກວ່າທ່ານມີສາມການໂຕ້ຕອບ DDR, ຫນຶ່ງໃນນັ້ນຕ້ອງໄດ້ຮັບການສ້າງແຜນທີ່ເປັນຄວາມຊົງຈໍາ heterogeneous. ໃນກໍລະນີນີ້, ກວດສອບການທໍາງານຂອງ stack OpenCL ກັບແຕ່ລະ DDR interface ເປັນອິດສະຫຼະ.
OpenCL ແລະໂລໂກ້ OpenCL ແມ່ນເຄື່ອງໝາຍການຄ້າຂອງ Apple Inc. ທີ່ໃຊ້ໂດຍການອະນຸຍາດຈາກ Khronos Group™ . - Intel FPGA SDK ສໍາລັບ OpenCL ແມ່ນອີງໃສ່ການເຜີຍແຜ່ Khronos Specification, ແລະໄດ້ຜ່ານຂະບວນການທົດສອບຄວາມສອດຄ່ອງຂອງ Khronos. ສະຖານະການສອດຄ່ອງໃນປະຈຸບັນສາມາດພົບໄດ້ທີ່ www.khronos.org/conformance.
- ຕົວຢ່າງampຖ້າຫາກວ່າທ່ານມີສາມການໂຕ້ຕອບ DDR, ຫນຶ່ງໃນນັ້ນຕ້ອງໄດ້ຮັບການສ້າງແຜນທີ່ເປັນຄວາມຊົງຈໍາ heterogeneous. ໃນກໍລະນີນີ້, ກວດສອບການທໍາງານຂອງ stack OpenCL ກັບແຕ່ລະ DDR interface ເປັນອິດສະຫຼະ.
ບໍລິສັດ Intel. ສະຫງວນລິຂະສິດທັງໝົດ. Intel, ໂລໂກ້ Intel, ແລະເຄື່ອງໝາຍ Intel ອື່ນໆແມ່ນເຄື່ອງໝາຍການຄ້າຂອງ Intel Corporation ຫຼືບໍລິສັດຍ່ອຍຂອງມັນ. Intel ຮັບປະກັນປະສິດທິພາບຂອງຜະລິດຕະພັນ FPGA ແລະ semiconductor ຂອງຕົນຕໍ່ກັບຂໍ້ມູນຈໍາເພາະໃນປະຈຸບັນໂດຍສອດຄ່ອງກັບການຮັບປະກັນມາດຕະຖານຂອງ Intel, ແຕ່ສະຫງວນສິດທີ່ຈະປ່ຽນແປງຜະລິດຕະພັນແລະການບໍລິການໄດ້ທຸກເວລາໂດຍບໍ່ມີການແຈ້ງການ. Intel ຖືວ່າບໍ່ມີຄວາມຮັບຜິດຊອບ ຫຼືຄວາມຮັບຜິດຊອບທີ່ເກີດຂຶ້ນຈາກແອັບພລິເຄຊັນ ຫຼືການນຳໃຊ້ຂໍ້ມູນ, ຜະລິດຕະພັນ, ຫຼືບໍລິການໃດໜຶ່ງທີ່ໄດ້ອະທິບາຍໄວ້ໃນນີ້ ຍົກເວັ້ນຕາມທີ່ໄດ້ຕົກລົງຢ່າງຈະແຈ້ງໃນລາຍລັກອັກສອນໂດຍ Intel. ລູກຄ້າ Intel ໄດ້ຮັບຄໍາແນະນໍາໃຫ້ໄດ້ຮັບສະບັບຫລ້າສຸດຂອງຂໍ້ມູນຈໍາເພາະຂອງອຸປະກອນກ່ອນທີ່ຈະອີງໃສ່ຂໍ້ມູນໃດໆທີ່ຈັດພີມມາແລະກ່ອນທີ່ຈະວາງຄໍາສັ່ງສໍາລັບຜະລິດຕະພັນຫຼືການບໍລິການ. *ຊື່ ແລະຍີ່ຫໍ້ອື່ນໆອາດຈະຖືກອ້າງວ່າເປັນຊັບສິນຂອງຄົນອື່ນ.
ISO 9001:2015 ລົງທະບຽນ
ອີກທາງເລືອກ, ຖ້າທ່ານມີອິນເຕີເຟດ DDR ສອງອັນແລະອິນເຕີເຟດອັດຕາຂໍ້ມູນ quad (QDR), ກວດສອບການເຮັດວຽກຂອງ OpenCL stack ຂອງສອງ DDR interfaces ແລະການໂຕ້ຕອບ QDR ເປັນເອກະລາດ.
Intel ແນະນໍາໃຫ້ທ່ານໃຊ້ PCI Express® – (PCIe® -) ຫຼືການອອກແບບສະເພາະ EMIF ເພື່ອທົດສອບການໂຕ້ຕອບຫນ່ວຍຄວາມຈໍາຂອງທ່ານ. ຫຼັງຈາກທີ່ທ່ານກວດສອບວ່າແຕ່ລະສ່ວນຕິດຕໍ່ຫນ່ວຍຄວາມຈໍາເຮັດວຽກໄດ້ແລະການອອກແບບ OpenCL ຂອງທ່ານເຮັດວຽກກັບຊຸດຍ່ອຍຂອງການໂຕ້ຕອບຫນ່ວຍຄວາມຈໍາ, ດໍາເນີນການ.
ເພື່ອສ້າງລະບົບຄວາມຊົງຈໍາ heterogeneous ທີ່ເປັນປະໂຫຍດຢ່າງເຕັມສ່ວນ.
1.2. ການແກ້ໄຂ board_spec.xml File
ແກ້ໄຂ board_spec.xml file ເພື່ອລະບຸປະເພດຂອງລະບົບຄວາມຊົງຈໍາ heterogeneous ທີ່ມີຢູ່ກັບ OpenCL kernels.
ໃນລະຫວ່າງການລວບລວມ kernel, Intel FPGA SDK ສໍາລັບ OpenCL Offline Compiler ມອບຫມາຍ kernel arguments ໃຫ້ກັບຫນ່ວຍຄວາມຈໍາໂດຍອີງໃສ່ buffer argument ທີ່ທ່ານລະບຸ.
1. ທ່ອງໄປຫາ board_spec.xml file ຢູ່ໃນໄດເລກະທໍລີຮາດແວຂອງ Custom Platform ຂອງທ່ານ.
2. ເປີດ board_spec.xml file ໃນຕົວແກ້ໄຂຂໍ້ຄວາມແລະດັດແປງ XML ຕາມຄວາມເຫມາະສົມ.
ຕົວຢ່າງampຖ້າຫາກວ່າລະບົບຮາດແວຂອງທ່ານມີສອງຄວາມຊົງຈໍາ DDR ເປັນຄ່າເລີ່ມຕົ້ນ globalmemory ແລະສອງທະນາຄານ QDR ທີ່ທ່ານສ້າງແບບຈໍາລອງເປັນຄວາມຊົງຈໍາ heterogeneous, ປັບປຸງແກ້ໄຂພາກສ່ວນຄວາມຊົງຈໍາຂອງ board_spec.xml file ເພື່ອໃຫ້ຄ້າຍຄືດັ່ງຕໍ່ໄປນີ້:
1.3. ການຕັ້ງຄ່າຕົວແບ່ງຄວາມຈໍາຫຼາຍໃນ Qsys
ໃນປັດຈຸບັນ, OpenCL Memory Bank Divider ໃນການອອກແບບ Qsys ບໍ່ສະຫນັບສະຫນູນຈໍານວນທະນາຄານຫນ່ວຍຄວາມຈໍາທີ່ບໍ່ມີພະລັງງານ 2, ເຊິ່ງບໍ່ແມ່ນຂໍ້ຈໍາກັດສໍາລັບການຕັ້ງຄ່າທົ່ວໄປ. ຢ່າງໃດກໍ່ຕາມ, ມີສະຖານະການທີ່ຈໍານວນການໂຕ້ຕອບຫນ່ວຍຄວາມຈໍາທີ່ບໍ່ແມ່ນພະລັງງານ 2 ແມ່ນມີຄວາມຈໍາເປັນ. ເພື່ອຮອງຮັບຕົວເຊື່ອມຕໍ່ໜ່ວຍຄວາມຈຳທີ່ບໍ່ມີພະລັງງານ 2 ອັນ, ໃຫ້ໃຊ້ຕົວແບ່ງທະນາຄານຄວາມຈຳ OpenCL ຫຼາຍໆອັນເພື່ອສ້າງລະບົບຄວາມຊົງຈຳທີ່ຫຼາກຫຼາຍດ້ວຍໜ່ວຍຄວາມຈຳທີ່ບໍ່ມີພະລັງງານ 2 ຈຳນວນ. ທ່ານຕ້ອງສ້າງ OpenCL Memory Bank Dividers ຫຼາຍໆຄັ້ງເມື່ອທ່ານມີລະບົບຄວາມຊົງຈໍາທີ່ຫຼາກຫຼາຍທີ່ແທ້ຈິງ. ພິຈາລະນາລະບົບທີ່ມີການໂຕ້ຕອບຫນ່ວຍຄວາມຈໍາ DDR ຫນຶ່ງແລະຫນຶ່ງໃນການໂຕ້ຕອບຫນ່ວຍຄວາມຈໍາ QDR. ເນື່ອງຈາກວ່າທັງສອງທະນາຄານມີ topologies ຄວາມຊົງຈໍາທີ່ແຕກຕ່າງກັນ, ທ່ານບໍ່ສາມາດລວມພວກມັນພາຍໃຕ້ຫນ່ວຍຄວາມຈໍາທົ່ວໂລກດຽວ.
ຮູບທີ 1. ແຜນວາດຂອງລະບົບຄວາມຈຳສາມທະນາຄານ Heterogeneous
ລະບົບຄວາມຊົງຈໍາທີ່ຫຼາກຫຼາຍຊະນິດນີ້ມີສ່ວນຕິດຕໍ່ຄວາມຈຳ DDR ສອງອັນ ແລະອິນເຕີເຟດໜ່ວຍຄວາມຈຳ QDR ອັນໜຶ່ງ.ຖ້າທ່ານກໍາລັງໃຊ້ເວີຊັ່ນ 16.0, 16.0.1, ຫຼື 16.0.2 ຂອງຊອບແວ Intel Quartus® Prime ແລະ Altera SDK ສໍາລັບ OpenCL, OpenCL Memory Bank Divider ຈັດການກັບການລະເບີດຂອງຫນ່ວຍຄວາມຈໍາໃນທົ່ວຂອບເຂດທີ່ຢູ່ຢ່າງບໍ່ຖືກຕ້ອງ. ເພື່ອແກ້ໄຂບັນຫາທີ່ຮູ້ຈັກນີ້, ໃຫ້ເພີ່ມຂົວທໍ່ທີ່ມີຂະຫນາດລະເບີດຂອງ 1 ແລະເຊື່ອມຕໍ່ແມ່ບົດ Avalon ®Memory-Mapped (Avalon-MM) ຂອງຕົນກັບພອດສໍາລອງ OpenCL Memory Bank Divider.
ໝາຍເຫດ:
ບັນຫາທີ່ຮູ້ຈັກນີ້ແມ່ນຖືກແກ້ໄຂໃນຊອບແວ Intel Quartus Prime ແລະ Intel FPGA SDK ສໍາລັບ OpenCL ຮຸ່ນ 16.1.
ຮູບທີ 2. ແຜນວາດຂອງລະບົບຄວາມຊົງຈຳສາມທະນາຄານ Heterogeneous ທີ່ມີຂົວທໍ່. 1.4. ການແກ້ໄຂໂຄງການ Boardtest ແລະລະຫັດໂຮດສໍາລັບການແກ້ໄຂບັນຫາຄວາມຊົງຈໍາ Heterogeneous ຂອງທ່ານ
ໃຊ້ boardtest.cl kernel ທີ່ມາພ້ອມກັບ Intel FPGA SDK ສໍາລັບ OpenCL Custom Platform Toolkit ເພື່ອທົດສອບການທໍາງານແລະການປະຕິບັດຂອງ Custom Platform ຂອງທ່ານ.
ໂຄງການ boardtest ແມ່ນແກ່ນ OpenCL ທີ່ຊ່ວຍໃຫ້ທ່ານສາມາດທົດສອບແບນວິດຂອງເຈົ້າພາບກັບອຸປະກອນ, ແບນວິດຂອງຫນ່ວຍຄວາມຈໍາ, ແລະການເຮັດວຽກທົ່ວໄປຂອງແພລະຕະຟອມທີ່ກໍາຫນົດເອງຂອງທ່ານ.
- ທ່ອງໄປຫາ /board/ custom_platform_toolkit/tests/boardtest directory.
- ເປີດ boardtest.cl file ໃນຕົວແກ້ໄຂຂໍ້ຄວາມແລະກໍານົດສະຖານທີ່ buffer ໃຫ້ກັບແຕ່ລະ argument ຫນ່ວຍຄວາມຈໍາທົ່ວໂລກ.
ຕົວຢ່າງample:
__kernel void
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 ກໍານົດລັກສະນະຂອງລະບົບຄວາມຊົງຈໍາທັງສອງ. - ເພື່ອໃຊ້ການແກ້ໄຂຄວາມຊົງຈໍາທີ່ຫຼາກຫຼາຍຂອງທ່ານໃນລະບົບ OpenCL, ແກ້ໄຂລະຫັດໂຮດຂອງທ່ານໂດຍການເພີ່ມທຸງ CL_MEM_HETEROGENEOUS_INTELFPGA ໃສ່ການໂທ clCreateBuffer ຂອງທ່ານ.
ຕົວຢ່າງample:
ddatain = clCreateBuffer(ບໍລິບົດ, CL_MEM_READ_WRITE | memflags
CL_MEM_HETEROGENEOUS_INTELFPGA, sizeof(unsigned) * vectorSize, NULL, &status);
Intel ແນະນໍາຢ່າງແຂງແຮງໃຫ້ທ່ານຕັ້ງສະຖານທີ່ buffer ເປັນ kernel argument ກ່ອນທີ່ຈະຂຽນ buffer. ເມື່ອໃຊ້ຫນ່ວຍຄວາມຈໍາທົ່ວໂລກອັນດຽວ, ທ່ານສາມາດຂຽນ buffers ບໍ່ວ່າກ່ອນຫຼືຫຼັງຈາກກໍານົດພວກມັນໃຫ້ກັບ kernel argument. ໃນລະບົບຄວາມຊົງຈໍາທີ່ຫຼາກຫຼາຍ, ເຈົ້າພາບກໍານົດສະຖານທີ່ຂອງບັຟເຟີກ່ອນທີ່ຈະຂຽນ buffer. ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ເຈົ້າພາບຈະໂທຫາຟັງຊັນ clSetKernelArgument ກ່ອນທີ່ຈະເອີ້ນຟັງຊັນ clEnqueueWriteBuffer.
ໃນລະຫັດໂຮດຂອງເຈົ້າ, ເອີ້ນ clCreateBuffer, clSetKernelArg, ແລະ clEnqueueWriteBuffer ໂທຫາຕາມລໍາດັບຕໍ່ໄປນີ້:
ddatain = clCreateBuffer(ບໍລິບົດ, CL_MEM_READ_WRITE | memflags |
CL_MEM_HETEROGENEOUS_INTELFPGA, sizeof(unsigned) * 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 ນໍາສະເຫນີຄໍາສັ່ງທີ່ຄ້າຍຄືກັນຂອງການໂທຟັງຊັນເຫຼົ່ານີ້. - ຫຼັງຈາກທີ່ທ່ານດັດແປງ boardtest.cl file ແລະລະຫັດໂຮດ, ລວບລວມລະຫັດໂຮດແລະ kernel ແລະກວດສອບການເຮັດວຽກຂອງພວກເຂົາ.
ເມື່ອລວບລວມລະຫັດ kernel ຂອງທ່ານ, ທ່ານຕ້ອງປິດການແຊກແຊງຂອງລະບົບຫນ່ວຍຄວາມຈໍາທັງຫມົດໂດຍການລວມເອົາ -no-interleaving. ທາງເລືອກໃນຄໍາສັ່ງ aoc.
ຂໍ້ມູນທີ່ກ່ຽວຂ້ອງ
ການປິດການນຳໃຊ້ຄວາມຊົງຈຳທົ່ວໂລກແບບ Burst-Interleaving (–no-interleaving )
1.5. ການກວດສອບການທໍາງານຂອງຫນ່ວຍຄວາມຈໍາ Heterogeneous ຂອງທ່ານ ລະບົບ
ເພື່ອຮັບປະກັນວ່າລະບົບຄວາມຈຳທີ່ຕ່າງກັນເຮັດວຽກຢ່າງຖືກຕ້ອງ, ຍົກເລີກການຕັ້ງທຸງ CL_CONTEXT_COMPILER_MODE_INTELFPGA ໃນລະຫັດໂຮດຂອງທ່ານ.
ໃນລະບົບ OpenCL ທີ່ມີໜ່ວຍຄວາມຈຳທີ່ເປັນອັນດຽວກັນ, ທ່ານຕ້ອງເລືອກຕັ້ງທຸງ CL_CONTEXT_COMPILER_MODE_INTELFPGA=3 ໃນລະຫັດໂຮດຂອງທ່ານເພື່ອປິດການອ່ານ .aocx. file ແລະ reprogramming ຂອງ FPGA ໄດ້. ການຕັ້ງຄ່າທຸງ CL_CONTEXT_COMPILER_MODE_INTELFPGA=3 ແມ່ນເປັນປະໂຫຍດໃນເວລາທີ່ເຮັດໃຫ້ກະດານຂອງທ່ານທັນທີເພື່ອກວດສອບການທໍາງານຂອງເວທີທີ່ກໍາຫນົດເອງຂອງທ່ານໂດຍບໍ່ມີການອອກແບບພື້ນເຮືອນແລະກໍານົດພາກພື້ນ LogicLock™.
ດ້ວຍລະບົບຄວາມຊົງຈຳທີ່ຫຼາກຫຼາຍ, ສະພາບແວດລ້ອມຂອງເວລາແລ່ນຕ້ອງອ່ານບ່ອນເກັບຂໍ້ມູນຂອງແຕ່ລະ buffer, ອະທິບາຍໄວ້ໃນ .aocx. file, ເພື່ອກວດສອບການເຮັດວຽກຂອງລະບົບຄວາມຊົງຈໍາ. ຢ່າງໃດກໍຕາມ, ທ່ານອາດຈະຕ້ອງການກວດສອບການທໍາງານຂອງ Custom Platform ຂອງທ່ານໂດຍບໍ່ມີການປະຕິບັດຄຸນນະສົມບັດສຸດທ້າຍຂອງການອອກແບບກະດານ, ເຊັ່ນ: ການອອກແບບພື້ນເຮືອນແລະກໍານົດພາກພື້ນ LogicLock.
- ກວດສອບວ່າທຸງ CL_CONTEXT_COMPILER_MODE_INTELFPGA ບໍ່ໄດ້ຖືກຕັ້ງຢູ່ໃນລະຫັດແມ່ຂ່າຍຂອງທ່ານ.
- ທ່ອງໄປຫາຄະນະ / /source/host/mmd directory ຂອງ Custom Platform ຂອງທ່ານ.
- ເປີດ acl_pcie_device.cpp ອຸປະກອນການສ້າງແຜນທີ່ຫນ່ວຍຄວາມຈໍາ (MMD) file ໃນຕົວແກ້ໄຂຂໍ້ຄວາມ.
- ແກ້ໄຂຟັງຊັນ reprogram ໃນ acl_pcie_device.cpp file ໂດຍການເພີ່ມຜົນຕອບແທນ 0; ເສັ້ນ, ດັ່ງທີ່ສະແດງຂ້າງລຸ່ມນີ້:
int ACL_PCIE_DEVICE::reprogram(void *data, size_t data_size)
{
ກັບຄືນ 0;
// ສົມມຸດວ່າລົ້ມເຫລວ
int reprogram_failed = 1;
// ສົມມຸດວ່າບໍ່ມີ rbf ຫຼື hash ໃນ fpga.bin
int rbf_or_hash_not_provided = 1;
// ສົມມຸດຖານແລະການນໍາເຂົ້າການດັດແກ້ hashes ບໍ່ກົງກັນ
int hash_mismatch = 1;
…
} - ລວບລວມ acl_pcie_device.cpp ຄືນໃໝ່ file.
- ກວດສອບວ່າທຸງ CL_CONTEXT_COMPILER_MODE_INTELFPGA ຍັງຄົງບໍ່ໄດ້ຕັ້ງ.
ເອົາໃຈໃສ່: ຫຼັງຈາກທີ່ທ່ານເພີ່ມຜົນຕອບແທນ 0; ກັບຟັງຊັນ reprogram ແລະ recompile MMD file, ສະພາບແວດລ້ອມ runtime ຈະອ່ານ .aocx file ແລະກໍານົດສະຖານທີ່ buffer ແຕ່ຈະບໍ່ reprogram FPGA. ທ່ານຕ້ອງຈັບຄູ່ຮູບ FPGA ດ້ວຍຕົນເອງກັບ .aocx file. ເພື່ອກັບຄືນພຶດຕິກໍານີ້, ເອົາການກັບຄືນ 0; ຈາກຟັງຊັນ reprogram ແລະ recompile 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. |
ການສ້າງລະບົບຄວາມຊົງຈໍາ Heterogeneous ໃນ Intel® FPGA SDK ສໍາລັບ OpenCL
ເວທີທີ່ກໍາຫນົດເອງ
ສົ່ງຄຳຕິຊົມ
Online Version
ສົ່ງຄຳຕິຊົມ
ID: 683654
ລຸ້ນ: 2016.12.13
ເອກະສານ / ຊັບພະຍາກອນ
![]() |
intel ການສ້າງລະບົບຄວາມຊົງຈໍາ Heterogeneous ໃນ FPGA SDK ສໍາລັບ OpenCL Custom Platforms [pdf] ຄໍາແນະນໍາ ການສ້າງລະບົບຄວາມຊົງຈໍາ Heterogeneous ໃນ FPGA SDK ສໍາລັບ OpenCL Custom Platforms, ການສ້າງ Heterogeneous Memory Systems, FPGA SDK ສໍາລັບ OpenCL Custom Platforms |