د OpenCL لپاره FPGA SDK
د کارن لارښود
UG-OCL009
2017.05.08
د Intel® Quartus® Prime Design Suite لپاره وروستی تازه شوی: 17.0
ګډون وکړئ
فیډبیک واستوئ
Intel® FPGA SDK for OpenCL™ Intel® Cyclone®V SoC پراختیایی کټ ریفرنس پلیټ فارم پورټینګ لارښود
د V SoC پرمختیا کټ ریفرنس پلیټ فارم پورټینګ لارښود د Intel Cyclone V SoC Development Kit Reference Platform (c5soc) هارډویر او سافټویر ډیزاین تشریح کوي د OpenCL لپاره د Intel سافټویر پرمختیا کټ (SDK) سره د کارونې لپاره Intel ® FPGA SDK د OpenCL ™ Intel Cyclone لپاره . مخکې لدې چې تاسو پیل کړئ ، Intel په کلکه وړاندیز کوي چې تاسو د لاندې سندونو مینځپانګې سره ځان وپیژنئ:
- د OpenCLIntel Cyclone V SoC لپاره Intel FPGA SDK د پیل کولو لارښود
- Intel FPGA SDK د OpenCL ګمرک پلیټ فارم تولک کټ کارونکي لارښود لپاره
- د سایکلون V وسیلې لاسي کتاب ، حجم 3: د هارډ پروسیسر سیسټم تخنیکي حوالې لارښود سربیره پردې ، د الټرا د سایکلون V SoC پرمختیا کټ او SoC سرایت شوي ډیزاین سویټ پا pageې ته مراجعه وکړئ webد نورو معلوماتو لپاره سایټ. 1 2
پاملرنه: انټیل فرض کوي چې تاسو د OpenCL ګمرک پلیټ فارم تولک کټ کارونکي لارښود لپاره د Intel FPGA SDK ژوره پوهه لرئ. د سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم پورټینګ لارښود د سایکلون V SoC پرمختیا کټ لپاره د ګمرک پلیټ فارم پلي کولو لپاره د SDK د ګمرک پلیټ فارم تولک کټ کارول نه تشریح کوي. دا یوازې د سایکلون V SoC پراختیایی کټ کې د SDK ملاتړ او د OpenCL ګمرک پلیټ فارم لپاره عمومي Intel FPGA SDK ترمنځ توپیرونه تشریح کوي.
اړونده لینکونه
- د OpenCL سایکلون V SoC لپاره Intel FPGA SDK د پیل کولو لارښود
- Intel FPGA SDK د OpenCL ګمرک پلیټ فارم تولک کټ کارونکي لارښود لپاره
- د سایکلون V وسیلې لاسي کتاب، حجم 3: د هارډ پروسیسر سیسټم تخنیکي حوالې لارښود
- د سایکلون V SoC پرمختیا کټ او SoC ایمبیډډ ډیزاین سویټ پاڼه په الټرا کې webسایټ
- OpenCL او OpenCL لوگو د Apple Inc. سوداګریزې نښې دي چې د Khronos Group™ په اجازې کارول کیږي.
- د OpenCL لپاره Intel FPGA SDK د خپاره شوي Khronos مشخصاتو پر بنسټ والړ دی، او د Khronos Conformance ازموینې پروسې څخه تېر شوی. د اوسني موافقت حالت په کې موندل کیدی شي www.khronos.org/conformance.
Intel Corporation. ټول حقونه خوندي دي. Intel، د Intel لوگو، Altera، Arria، Cyclone، Enpirion، MAX، Nios، Quartus او Stratix ټکي او لوګو په متحده ایالاتو او/یا نورو هیوادونو کې د Intel Corporation یا د هغې د فرعي شرکتونو سوداګریزې نښې دي. انټیل د خپل FPGA او سیمیکمډکټر محصولاتو فعالیت د Intel معیاري تضمین سره سم اوسني مشخصاتو ته تضمینوي ، مګر پرته له خبرتیا پرته هر وخت په هر محصول او خدماتو کې د بدلون کولو حق خوندي کوي. Intel هیڅ مسؤلیت یا مسؤلیت په غاړه نه اخلي چې د غوښتنلیک یا د کوم معلوماتو، محصول، یا خدماتو کارولو څخه رامینځته کیږي چې دلته تشریح شوي پرته له دې چې د Intel لخوا په لیکلي ډول موافقه شوې وي. د انټیل پیرودونکو ته مشوره ورکول کیږي چې د وسیلې ځانګړتیاو وروستۍ نسخه ترلاسه کړي مخکې لدې چې په کوم خپاره شوي معلوماتو تکیه وکړي او د محصولاتو یا خدماتو لپاره امر کولو دمخه.
* نور نومونه او نښې ممکن د نورو ملکیت په توګه ادعا شي.
1.1.1 سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم بورډ ډولونه
د OpenCL سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم لپاره د Intel FPGA SDK دوه بورډ ډولونه شامل دي.
- c5soc بورډ
دا ډیفالټ بورډ دوه DDR حافظې بانکونو ته لاسرسی چمتو کوي. د HPS DDR د FPGA او CPU دواړو لخوا د لاسرسي وړ دی. د FPGA DDR یوازې د FPGA لخوا د لاسرسي وړ دی. - c5soc_sharedonly بورډ
د دې بورډ ډول یوازې د HPS DDR ارتباط لري. د FPGA DDR د لاسرسي وړ ندي. د بورډ دا ډول ډیر اغیزمن دی ځکه چې د DDR حافظې بانک مالتړ لپاره لږ هارډویر اړین دی. د c5soc_sharedonly بورډ د یو واحد DDR حافظې بانک سره د وروستي تولید بورډ لپاره یو ښه پروټوټایپ پلیټ فارم هم دی.
د دې بورډ ډول په نښه کولو لپاره کله چې ستاسو د OpenCL کرنل تالیف کول، په خپل aoc کمانډ کې -board c5soc_sharedonly اختیار شامل کړئ.
د بورډ په اړه د نورو معلوماتو لپاره د aoc کمانډ اختیار، د OpenCL پروګرام کولو لارښود لپاره Intel FPGA SDK ته مراجعه وکړئ.
اړونده لینکونه
د ځانګړي FPGA بورډ لپاره د کرنل تالیف کول (-بورډ )
1.1.2 د سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم مینځپانګه
د سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم په لاندې ډول دی files او لارښودونه:
File یا لارښود | تفصیل |
board_env.xml | د توزیع وړ مارک اپ ژبه (XML) file چې د OpenCL لپاره Intel FPGA SDK ته c5soc تشریح کوي. |
linux_sd_card_image.tgz | د کمپریس شوي SD فلش کارت عکس file چې هر هغه څه لري چې د SDK کاروونکي اړتیا لري د SDK سره د سایکلون V SoC پرمختیا کټ کارولو ته اړتیا ولري. |
arm32 | لارښود چې لاندې لري: |
1.1.3 د سایکلون V SoC پرمختیا کټ اړونده ځانګړتیاوې
لاندې لیست د سایکلون V SoC پرمختیا کټ اجزا او ځانګړتیاوې په ګوته کوي چې د OpenCL لپاره د Intel FPGA SDK سره تړاو لري:
- ډبل کور ARM Cortex-A9 CPU د 32-bit لینکس چلوي.
- د HPS او FPGA کور پارچه تر مینځ پرمختللی ایکسټینیبل انٹرفیس (AXI) بس.
- دوه سخت شوي DDR حافظې کنټرولرونه، هر یو د 1 ګیګابایټ (GB) DDR3 SDRAM سره نښلوي.
- یو DDR کنټرولر یوازې د FPGA کور ته د لاسرسي وړ دی (یعنی FPGA DDR).
- بل DDR کنټرولر د HPS او FPGA دواړو ته د لاسرسي وړ دی (یعنی HPS DDR). دا شریک شوی کنټرولر د CPU او FPGA کور ترمینځ وړیا حافظې شریکولو ته اجازه ورکوي. - CPU کولی شي د FPGA اصلي پوښاک بیا تنظیم کړي.
1.1.3.1 د سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم ډیزاین اهداف او پریکړې Intel د څو ډیزاین اهدافو او پریکړو په اړه د سایکلون V SoC پرمختیا کټ ریفرنس پلیټ فارم پلي کولو اساس لري. Intel وړاندیز کوي چې تاسو دا اهداف او پریکړې په پام کې ونیسئ کله چې تاسو د دې حوالې پلیټ فارم خپل SoC FPGA بورډ ته پورټ کړئ.
لاندې د c5soc ډیزاین اهداف دي:
- د FPGA او DDR حافظې سیسټمونو کې د کرنلونو تر مینځ ترټولو ممکنه بینډ ویت چمتو کړئ.
- ډاډ ترلاسه کړئ چې په FPGA کې کمپیوټري (یعنې د OpenCL کرنلز) د CPU نورو دندو کې مداخله نه کوي چې ممکن د خدماتو پیری فیرلز پکې شامل وي.
- د انٹرفیس اجزاو پر ځای د کرنل کمپیوټرونو لپاره د امکان تر حده د FPGA سرچینې پریږدئ.
لاندې د لوړې کچې ډیزاین پریکړې دي چې د Intel ډیزاین اهدافو مستقیم پایلې دي:
- د حوالې پلیټ فارم یوازې د خورا پراخه احتمالي ترتیب (256 بټونو) سره د هارډ DDR حافظې کنټرولرونه کاروي.
- FPGA د HPS DDR حافظې کنټرولر سره مستقیم اړیکه نیسي، پرته له دې چې د AXI بس او L3 سویچ د HPS دننه شامل کړي. مستقیم ارتباط DDR ته ترټولو غوره ممکنه بینډ ویت چمتو کوي، او د FPGA کمپیوټري د CPU او د هغې د پردې تر مینځ د اړیکو سره د مداخلې څخه ساتي.
- سکرټر راټولول مستقیم حافظې ته لاسرسی (SG-DMA) د FPGA انٹرفیس منطق برخه نده. د DDR حافظې سیسټمونو ترمینځ د ډیټا لوی مقدار لیږدولو پرځای ، ډاټا په شریک HPS DDR کې ذخیره کړئ. د FPGA لخوا CPU حافظې ته مستقیم لاسرسی د DMA په پرتله خورا مؤثر دی. دا د هارډویر سرچینې خوندي کوي (دا د FPGA ساحه ده) او د لینکس کرنل ډرایور ساده کوي.
خبرداری: د شریک شوي HPS DDR سیسټم او DDR سیسټم ترمنځ د حافظې لیږد چې یوازې FPGA ته د لاسرسي وړ دی خورا ورو دی. که تاسو غوره کړئ
په دې ډول د حافظې لیږد، دا یوازې د ډیرو لږو معلوماتو لپاره وکاروئ. - کوربه او وسیله د یو بل تر مینځ د HPS-to-FPGA (H2F) پل له لارې د غیر DMA ډیټا لیږد ترسره کوي ، یوازې یو واحد 32-bit بندر کاروي. دلیل یې دا دی چې د DMA پرته، د لینکس کرنل کولی شي یوازې د 32-bit لوستلو یا لیکلو غوښتنه صادره کړي، نو دا اړینه نده چې پراخه اړیکه ولري.
- کوربه د سپک وزن H2F (LH2F) پل له لارې وسیلې ته د کنټرول سیګنالونه لیږي.
ځکه چې د کوربه څخه وسیلې ته د کنټرول سیګنالونه د ټیټ بینډ ویت سیګنالونه دي ، د LH2F پل د دندې لپاره غوره دی.
1.2 ستاسو د SoC FPGA بورډ ته د حوالې پلیټ فارم پورټ کول
ستاسو د SoC FPGA بورډ ته د سایکلون V SoC پرمختیا کټ ریفرنس پلیټ فارم پورټ کولو لپاره ، لاندې دندې ترسره کړئ:
- د خپل ډیزاین د پیل ټکي په توګه د C5soc حوالې پلیټ فارم یوه DDR حافظه یا دوه DDR حافظې نسخه غوره کړئ.
- په ALTERAOCLSDKROOT/board/c5soc/ کې د پن ځایونه تازه کړئ /top.qsf file، چیرته چې ALTERAOCLSDKROOT د OpenCL نصبولو لپاره د Intel FPGA SDK موقعیت ته لاره ده، او د بورډ ډول د لارښود نوم دی. د c5soc_sharedonly لارښود د بورډ ډول لپاره دی چې د DDR حافظې سیسټم سره دی. د c5soc لارښود د دوه DDR حافظې سیسټمونو سره د بورډ ډول لپاره دی.
- په ALTERAOCLSDKROOT/board/c5soc/ کې د HPS او/یا FPGA SDRAM بلاکونو لپاره د DDR ترتیبات تازه کړئ /system.qsys file.
4. د OpenCL غوره شوي بورډ ډیزاینونو لپاره ټول Intel FPGA SDK باید د تضمین شوي وخت بندولو ترلاسه کړي. د دې په څیر، د ډیزاین ځای پرځای کول باید د وخت پاک وي. ستاسو د SoC FPGA بورډ ته د c5soc بورډ برخې (acl_iface_partition.qxp) پورټ کولو لپاره، لاندې دندې ترسره کړئ:
د تختې د برخې د تعدیل او ساتلو په اړه د تفصيلي لارښوونو لپاره، Quartus ته مراجعه وکړئ
د کوارټس پریم معیاري نسخه لاسي کتاب د هییرارکیکل او ټیم پراساس ډیزاین څپرکي لپاره پریم انکریمینټ تالیف.
a. د ALTERAOCLSDKROOT/board/c5soc/c5soc لارښود څخه acl_iface_partition.qxp لرې کړئ.
ب. د acl_iface_region LogicLock™ سیمه د Tcl کمانډ بدلولو سره فعال کړئ set_global_assignment -name LL_ENABLED OFF -section_id acl_iface_region په set_global_assignment -name LL_ENABLED ON -section_id acl_iface_region
ج. د خپل بورډ لپاره د OpenCL کرنل تالیف کړئ.
d. که اړتیا وي، د LogicLock سیمې اندازه او موقعیت تنظیم کړئ.
e. کله چې تاسو مطمین یاست چې ستاسو د ډیزاین ځای په ځای کولو وخت پاک دی ، دا برخه د acl_iface_partition.qxp Quartus Prime Exported Partition په توګه صادر کړئ. File.
لکه څنګه چې د دې .qxp واردولو له لارې د OpenCL ګمرک پلیټ فارم تولک کټ کارونکي لارښود لپاره د AIntel FPGA SDK د تضمین شوي وخت جریان رامینځته کولو برخه کې تشریح شوي. file د لوړې کچې ډیزاین کې، تاسو د تضمین شوي وخت بندولو جریان سره د بورډ ډیزاین چمتو کولو اړتیا پوره کوئ.
د هغو فکتورونو لپاره چې ممکن ستاسو د صادر شوي برخې د پایلو کیفیت (QoR) باندې اغیزه وکړي، د OpenCL ګمرک پلیټ فارم Toolkit کارن لارښود لپاره Intel FPGA SDK کې د صادر شوي بورډ برخې برخې لپاره د پایلو عمومي کیفیت ته مراجعه وکړئ.
f. د acl_iface_region LogicLock سیمه غیر فعال کړئ په 2 مرحله کې کمانډ بیرته set_global_assignment -name LL_ENABLED OFF section_id acl_iface_region ته بیرته راګرځولو سره. - که ستاسو د SoC FPGA بورډ د HPS بلاک مختلف پنونه او پریریو کاروي، د پریلوډر او د وسیلې ونې سرچینه (DTS) بیا تولید کړئ. file. که تاسو د HPS DDR حافظې کنټرولر تنظیمات بدل کړئ، پری لوډر بیا تولید کړئ.
- د SD فلش کارت عکس جوړ کړئ.
- خپل دودیز پلیټ فارم جوړ کړئ، کوم چې د SD فلش کارت عکس شامل دي.
- د OpenCL لپاره د Intel FPGA Runtime Environment (RTE) سره کارولو لپاره ستاسو د ګمرک پلیټ فارم د چلولو چاپیریال نسخه رامینځته کولو په اړه غور وکړئ. ستاسو د ګمرک پلیټ فارم RTE نسخه کې د هارډویر لارښودونه او د SD فلش کارت عکس شامل ندي. دا دودیز پلیټ فارم د SoC FPGA سیسټم کې بار کوي ترڅو کوربه غوښتنلیکونو ته اجازه ورکړي چې چلیږي. په مقابل کې، د ګمرک پلیټ فارم SDK نسخه د SDK لپاره اړینه ده چې د OpenCL کرنلونو تالیف کړي.
لارښوونه: تاسو کولی شئ د RTE لپاره د خپل دودیز پلیټ فارم SDK نسخه وکاروئ. د ژغورلو لپاره
ځای، د خپل دودیز پلیټ فارم RTE نسخه څخه د SD فلش کارت عکس لرې کړئ. - خپل دودیز پلیټ فارم ازموینه وکړئ.
د نورو معلوماتو لپاره د OpenCL ګمرکي پلیټ فارم تولک کټ کارونکي لارښود لپاره د Intel FPGA SDK د هارډویر ډیزاین برخې ازموینې ته مراجعه وکړئ.
اړونده لینکونه
- د هارډویر ډیزاین ازموینه
- د درجه بندي او ټیم پراساس ډیزاین لپاره د Quartus Prime Incremental Compilation
- د تضمین شوي وخت جریان رامینځته کول
- د صادر شوي بورډ ویش لپاره د پایلو عمومي کیفیت
1.2.1 د پورټ شوي حوالې پلیټ فارم تازه کول
د سایکلون V SoC پرمختیا کټ ریفرنس پلیټ فارم اوسني نسخه کې ، د HPS بلاک د برخې دننه دی چې ټول غیر کارنیل منطق تعریفوي. په هرصورت، تاسو نشئ کولی HPS د .qxp برخې په توګه صادر کړئ file. د موجوده ګمرک پلیټ فارم تازه کولو لپاره چې تاسو د c5soc پخوانۍ نسخې څخه ترمیم کړی ، د QXP محافظت جریان پلي کړئ ، د وروستي چلولو چاپیریال ترلاسه کولو لپاره د SD فلش کارت عکس تازه کړئ ، او board_spec.xml تازه کړئ. file د اتوماتیک کولو فعالولو لپاره.
Altera® SDK د OpenCL نسخه 14.1 او هاخوا د تحقیقاتو لپاره board_spec.xml file د بورډ معلوماتو لپاره، او اتوماتیک تازه معلومات پلي کوي. ځکه چې تاسو تعدیل کړئ
د QXP د ساتنې جریان پلي کولو سره ډیزاین، تاسو باید board_spec.xml تازه کړئ file په اوسني نسخه کې خپل شکل ته. تازه کول file SDK ته اجازه ورکوي چې د غیر ساتل شوي ګمرک پلیټ فارمونو او اوسني QXP-based ګمرک پلیټ فارمونو ترمینځ توپیر وکړي. د نورو معلوماتو لپاره د OpenCL Custom Platform Toolkit کارن لارښود لپاره Intel FPGA SDK کې د فارورډ مطابقت لپاره د ګمرک پلیټ فارم اتوماتیک ته مراجعه وکړئ.
- د سایکلون V SoC FPGA هارډویر ډیزاین کې د QXP ساتنې جریان پلي کولو لپاره چې د c5soc پخوانۍ نسخې څخه پورټ شوی ، لاندې مرحلې ترسره کړئ ترڅو د .qxp څخه HPS خارج کولو لپاره فرعي برخې رامینځته کړئ. file:
a. مخکې له دې چې د غیر کارنیل منطق په شاوخوا کې برخه جوړه کړئ، د .qsf Quartus Prime Settings کې د HPS شاوخوا یوه برخه جوړه کړئ. File.
د مثال لپارهampLe:
# په لاسي ډول هغه مثال تقسیم کړئ کوم چې د HPS- وقف شوي I/O set_instance_assignment -نوم PARTITION_HIERARCHY borde_18261 - "system:the_system|system_acl_iface:acl_iface|system_acl_iface_hps_face_hps_ps_hps_hps_hps_hps_0| system_acl_iface_hps_0_hps_io_border:border" -section_id "system_acl_iface_hps_0_hps_io_border:سرحد"
# تقسیم د HPS_PARTITION ډول لپاره تنظیم کړئ ترڅو د پاتې کوارټس لخوا په سمه توګه پروسس شي
set_global_assignment -name PARTITION_TYPE HPS_PARTITION -section_id "system_acl_iface_hps_0_hps_io_border: سرحد"
quartus_cdb ټاپ -c ټاپ
– incremental_compilation_export=acl_iface_partition.qxp
- زیاتیدونکي_کمپیلیشن_ایکسپورٹ_پارټیشن_نوم = acl_iface_partition
- زیاتیدونکي_تړون_صادرات_پوسټ_سنت = آن
- زیاتیدونکي_تالیف_د صادراتو_پوسټ_فټ = آن
- زیاتیدونکي_کمپیلیشن_د صادراتو_روټینګ = آن
- زیاتیدونکي_تړون_صادرات_فلاټین = بند
وروسته له دې چې تاسو د برخې څخه HPS لرې کړئ، تاسو کولی شئ .qxp وارد کړئ file او خپل ډیزاین تالیف کړئ. - د لاندې دندو په ترسره کولو سره د OpenCL لپاره د Intel FPGA RTE اوسني نسخه سره د SD فلش کارت عکس تازه کړئ:
a. پورته کول file د تخصیص جدول (fat32) او پراخ شوی file سیسټم (ext3) برخې په موجوده عکس کې د لوپ بیک وسیلو په توګه. د تفصيلي لارښوونو لپاره، د SD فلش کارت انځور جوړولو کې 2 ګام ته مراجعه وکړئ.
ب. په /home/root/opencl_arm32_rte لارښود کې، لرې کړئ fileد RTE د پخوانۍ نسخې څخه.
ج. د RTE اوسنی نسخه ډاونلوډ او خلاص کړئ په /home/root/opencl_arm32_rte لارښود کې.
d. په /driver/version.h file ستاسو د دودیز پلیټ فارم څخه، د ACL_DRIVER_VERSION دنده تازه کړئ . (د مثال لپارهample، 16.1.x، چیرته چې 16.1 د SDK نسخه ده، او x د ډرایور نسخه ده چې تاسو یې تنظیم کړئ).
e. ډرایور بیا جوړ کړئ.
f. د خپل ګمرکي پلیټ فارم هارډویر فولډر ړنګ کړئ. د ګمرک پلیټ فارم، د تازه شوي ډرایور سره، /home/root/opencl_arm_rte/board لارښود ته کاپي کړئ.
g. د Altera.icd کاپي کړئ file د /home/root/opencl_arm32_rte ډایرکټر څخه او دا په /etc/OpenCL/vendors لارښود کې اضافه کړئ.
h. نوی عکس غیر نصب او ازموینه وکړئ. د تفصيلي لارښوونو لپاره، د SD فلش کارت انځور جوړولو کې له 8 څخه تر 11 پورې مرحلې ته مراجعه وکړئ.
اړونده لینکونه
- په 14 پاڼه کې د SD فلش کارت انځور جوړول
تاسو د نوي SD فلش کارت عکس رامینځته کولو اختیار هم لرئ. - د فارورډ مطابقت لپاره د ګمرک پلیټ فارم اتوماتیک
1.3 د شریکې حافظې لپاره د سافټویر ملاتړ
د FPGA او CPU تر مینځ شریکه فزیکي حافظه د OpenCL کرنلونو لپاره غوره حافظه ده چې په SoC FPGAs کې چلیږي. ځکه چې FPGA شریک فزیکي حافظې ته لاسرسی لري، لکه څنګه چې د شریک مجازی حافظې سره مخالف دی، دا د CPU پاڼې میزونو ته لاسرسی نلري چې د کاروونکي مجازی پتې د فزیکي پاڼې پتې ته نقشه کوي.
د هارډویر په اړه، د OpenCL کرنل د HPS DDR هارډ حافظې کنټرولر سره د مستقیم ارتباط له لارې شریک فزیکي حافظې ته لاسرسی لري. د سافټویر په اړه، د شریک فزیکي حافظې لپاره مالتړ لاندې نظرونه لري:
- په CPU کې د حافظې تخصیص لپاره ځانګړي سافټویر پلي کول (د مثال لپارهample، malloc() فنکشن نشي کولی د حافظې سیمه تخصیص کړي چې FPGA یې کارولی شي.
هغه حافظه چې د malloc() فنکشن تخصیص کوي د مجازی حافظې پته ځای کې متضاد دی، مګر هر ډول فزیکي مخونه احتمال نلري چې په فزیکي توګه سره نږدې وي. د دې په څیر، کوربه باید د دې وړتیا ولري چې د فزیکي پلوه د حافظې سیمې تخصیص کړي. په هرصورت، دا وړتیا په لینکس کې د کاروونکي ځای غوښتنلیکونو کې شتون نلري. نو ځکه، د لینکس کرنل ډرایور باید تخصیص ترسره کړي. - د OpenCL SoC FPGA لینکس کرنل ډرایور د mmap() فنکشن شاملوي ترڅو شریک فزیکي حافظه تخصیص کړي او د کارونکي ځای ته یې نقشه کړي. mmap() فنکشن د معیاري لینکس کرنل کال dma_alloc_coherent() کاروي ترڅو د وسیلې سره د شریکولو لپاره د فزیکي پلوه متضاد حافظې سیمو غوښتنه وکړي.
- په ډیفالټ لینکس کرنل کې، dma_alloc_coherent() له 0.5 میګابایټ (MB) څخه ډیر فزیکي پلوه حافظه نه تخصیص کوي. د دې لپاره چې dma_alloc_coherent() ته اجازه ورکړئ چې په پراخه کچه فزیکي پلوه حافظه تخصیص کړي ، د لینکس کرنل د متضاد حافظې تخصیص (CMA) خصوصیت فعال کړئ او بیا د لینکس کرنل بیا تنظیم کړئ.
د سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم لپاره ، CMA د 512 GB فزیکي حافظې څخه 1 MB اداره کوي. تاسو ممکن دا ارزښت زیات یا کم کړئ، د شریک شوي حافظې مقدار پورې اړه لري چې غوښتنلیک ورته اړتیا لري. د dma_alloc_coherent() زنګ ممکن د دې توان ونلري چې بشپړ 512 MB د فزیکي پلوه یادداشت تخصیص کړي؛ په هرصورت، دا کولی شي په منظمه توګه نږدې 450 MB حافظه ترلاسه کړي. - CPU کولی شي حافظه ذخیره کړي چې dma_alloc_coherent() کال تخصیص کوي. په ځانګړې توګه، د کوربه غوښتنلیک څخه د لیکلو عملیات د OpenCL کرنلونو ته نه لیدل کیږي. په OpenCL SoC FPGA لینکس کرنل ډرایور کې د mmap() فنکشن pgprot_noncached() یا remap_pf_range() فنکشن ته زنګونه هم لري ترڅو د حافظې د دې سیمې لپاره کیچنګ غیر فعال کړي.
- وروسته له دې چې dma_alloc_coherent() فنکشن د فزیکي پلوه متضاد حافظه تخصیص کوي، د mmap() فنکشن د رینج پیل ته مجازی پته بیرته راګرځوي، کوم چې د هغه حافظې پته ده چې تاسو یې اختصاص کړئ. کوربه غوښتنلیک حافظې ته د لاسرسي لپاره دې مجازی پتې ته اړتیا لري. له بلې خوا، د OpenCL کرنل فزیکي پتې ته اړتیا لري. د لینکس کرنل ډرایور د مجازی څخه فزیکي پته نقشه تعقیبوي. تاسو کولی شئ هغه فزیکي پتې نقشه کړئ چې mmap() ډرایور ته د پوښتنې په اضافه کولو سره اصلي فزیکي پتې ته راستنیږي.
aocl_mmd_shared_mem_alloc() د MMD غوښتنلیک پروګرام کولو انٹرفیس (API) کال لاندې پوښتنې شاملوي:
a. mmap() فنکشن چې حافظه تخصیص کوي او مجازی پته بیرته راګرځوي.
ب. اضافي پوښتنه چې بیرته راستانه شوي مجازی پته فزیکي پته ته نقشه کوي.
aocl_mmd_shared_mem_alloc() MMD API کال بیا دوه پتې بیرته راګرځوي
- اصلي بیرته راستنیدونکي پته مجازی پته ده، او فزیکي پته د device_ptr_out ته ځي.
یادونه: ډرایور کولی شي یوازې مجازی پتې نقشه کړي چې د mmap() فعالیت فزیکي پتې ته راستنیږي. که تاسو د کوم بل مجازی پوائنټر فزیکي پته غوښتنه وکړئ، چلوونکی یو NULL ارزښت بیرته راولي.
خبرداری: د OpenCL د چلولو وخت کتابتونونو لپاره Intel FPGA SDK داسې انګیرل کیږي چې شریکه حافظه لومړنۍ حافظه ده چې په board_spec.xml کې لیست شوي. file. په بل عبارت، هغه فزیکي پته چې د لینکس کرنل ډرایور ترلاسه کوي د Avalon® پته کیږي چې د OpenCL کرنل HPS SDRAM ته تیریږي.
د چلولو وخت کتابتون ته په پام سره، د clCreateBuffer() زنګ وکاروئ ترڅو شریکه حافظه په لاندې ډول د وسیلې بفر په توګه تخصیص کړئ:
- د دوه-DDR بورډ ډولونو لپاره چې دواړه شریک شوي او غیر شریک شوي حافظې سره، clCreateBuffer() شریکه حافظه تخصیص کوي که تاسو د CL_MEM_USE_HOST_PTR بیرغ مشخص کړئ. د نورو بیرغونو کارول د دې لامل کیږي چې clCreateBuffer() په غیر شریک شوي حافظه کې بفر تخصیص کړي.
- یوازې د شریکې حافظې سره د یو-DDR بورډ ډول لپاره ، clCreateBuffer() شریک حافظه تخصیص کوي پرته لدې چې تاسو کوم بیرغ مشخص کړئ.
اوس مهال، په ARM CPU کې د 32-bit لینکس ملاتړ د SDK د چلولو وخت کتابتونونو کې د شریک حافظې ملاتړ حد اداره کوي. په بل عبارت، د چلولو وخت کتابتونونه نورو چاپیریالونو ته راټول شوي (د مثال لپارهample، x86_64 لینکس یا 64-bit وینډوز) د شریکې حافظې ملاتړ نه کوي.
C5soc د لاندې دلایلو لپاره د شریک او غیر شریک شوي حافظې ترمینځ توپیر کولو لپاره متضاد حافظه پلي نه کړه:
1. تاریخ — د متفاوت حافظې ملاتړ شتون نه درلود کله چې د شریک حافظې ملاتړ په اصل کې رامینځته شوی و.
2. یونیفورم انٹرفیس — ځکه چې OpenCL یو خلاص معیار دی، انټیل د متفاوت کمپیوټري پلیټ فارم پلورونکو تر مینځ ثبات ساتي. نو ځکه، د نورو بورډ پلورونکو جوړښتونو په څیر ورته انٹرفیس د شریک حافظې تخصیص او کارولو لپاره کارول کیږي.
1.4 د FPGA بیا تنظیم کول
د SoC FPGAs لپاره، CPU کولی شي د FPGA اصلي فیبریک بیا تنظیم کړي پرته له دې چې د CPU عملیات مداخله وکړي. د FPGA مدیر هارډویر بلاک چې د HPS پټوي او اصلي FPGA بیا تنظیم کول ترسره کوي. د لینکس کرنل کې یو ډرایور شامل دی چې د FPGA مدیر ته اسانه لاسرسي وړوي.
- ته view د FPGA کور حالت، د بلی /sys/class/fpga/fpga0/ حالت کمانډ غوښتنه وکړئ.
د Intel FPGA SDK د OpenCL برنامه افادیت لپاره د سایکلون V SoC پرمختیا کټ ریفرنس پلیټ فارم سره شتون لري دا انٹرفیس د FPGA برنامه کولو لپاره کاروي. کله چې د چلونکي CPU سره د FPGA کور بیا برنامه کول ، د برنامه افادیت لاندې ټولې دندې ترسره کوي:
1. د بیا پروګرام کولو دمخه، د FPGA او HPS ترمنځ د اړیکو ټول پلونه غیر فعال کړئ، دواړه H2F او LH2F پلونه.
د بیا پروګرام کولو بشپړیدو وروسته دا پلونه بیا فعال کړئ.
پاملرنه: د OpenCL سیسټم د FPGA-to-HPS (F2H) پل نه کاروي. د نورو معلوماتو لپاره د سایکلون V وسیلې لاسي کتاب کې د HPS-FPGA انٹرفیس برخې ته مراجعه وکړئ، 3 جلد: د هارډ پروسیسر سیسټم تخنیکي حوالې لارښود.
2. ډاډ ترلاسه کړئ چې د FPGA او HPS DDR کنټرولر ترمنځ اړیکه د بیا پروګرام کولو پرمهال غیر فعاله ده.
3. ډاډ ترلاسه کړئ چې په FPGA کې د FPGA مداخلې د بیا پروګرام کولو پرمهال غیر فعال شوي.
همچنان ، ډرایور ته خبر ورکړئ چې د بیا برنامه کولو پرمهال د FPGA څخه کوم مداخله رد کړي.
د ریښتیني تطبیق په اړه د توضیحاتو لپاره د برنامه کارونې سرچینې کوډ سره مشوره وکړئ.
خبرداری: کله چې CPU روان وي د HPS DDR کنټرولر ترتیب مه بدلوئ.
داسې کول ممکن د وژونکي سیسټم خطا لامل شي ځکه چې تاسو ممکن د DDR کنټرولر ترتیب بدل کړئ کله چې د CPU څخه د حافظې پاتې لیږدونه شتون ولري. دا پدې مانا ده چې کله چې CPU روان وي، تاسو ممکن د FPGA کور د یو عکس سره بیا پروګرام ونکړئ چې په مختلف ترتیب کې د HPS DDR کاروي.
په یاد ولرئ چې د OpenCL سیسټم، او د گولډن هارډویر حوالې ډیزاین د Intel SoC FPGA ایمبیډډ ډیزاین سویټ (EDS) سره شتون لري، د HPS DDR په یو واحد 256-bit حالت کې تنظیموي.
د CPU سیسټم برخې لکه د شاخ وړاندوینه کونکی یا د پاڼې میز پریفیچر ممکن د DDR کمانډونه صادر کړي حتی کله چې داسې ښکاري چې هیڅ شی په CPU کې نه چلیږي.
نو ځکه، د بوټ وخت یوازینی خوندي وخت دی چې د HPS DDR کنټرولر ترتیب تنظیم کړي.
دا دا هم په ګوته کوي چې U-boot باید خام بائنری ولري file (.rbf) انځور په حافظه کې د پورته کولو لپاره. که نه نو ، تاسو ممکن په FPGA کې د نه کارول شوي بندرونو سره HPS DDR فعال کړئ او بیا وروسته په احتمالي توګه د پورټ تشکیلات بدل کړئ. د دې دلیل لپاره، د OpenCL لینکس کرنل ډرایور نور د HPS DDR کنټرولر ترتیب کولو لپاره اړین منطق نه لري.
د SW3 دوه اړخیزه انلاین کڅوړه (DIP) د Cylon V SoC پراختیایی کټ کې د .rbf عکس متوقع شکل کنټرولوي (دا چې ایا file کمپریس شوی او/یا کوډ شوی). C5soc، او د طلایی هارډویر حوالې ډیزاین چې د SoC EDS سره شتون لري، کمپریس شوي مګر نه کوډ شوي .rbf انځورونه شامل دي. د OpenCL سایکلون V SoC پیل کولو لارښود لپاره د Intel FPGA SDK کې د SW3 DIP سویچ تنظیمات د دې .rbf عکس ترتیب سره سمون لري.
اړونده لینکونه
- HPS-FPGA انٹرفیسونه
- د SW3 سویچونو تنظیم کول
1.4.1 د FPGA سیسټم جوړښت توضیحات
د سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم لپاره ملاتړ د Stratix® V حوالې پلیټ فارم (s5_ref) پراساس دی ، چې د OpenCL لپاره د Intel FPGA SDK سره شتون لري.
د c5soc Qsys سیسټم عمومي تنظیم او د کرنل ډرایور په s5_ref کې ورته ورته دي.
لاندې د FPGA اصلي برخې په دواړو c5soc او s5_ref کې یو شان دي:
- VERSION_ID بلاک
- د آرام میکانیزم
- د حافظې بانک ویشونکی
- د کیچ سنوپ انٹرفیس
- د کرنل ساعت
- د راجستر لاسرسي کنټرول (CRA) بلاکونه
1.5 د SD فلش کارت انځور جوړول
ځکه چې سایکلون V SoC FPGA په چپ کې یو بشپړ سیسټم دی ، تاسو د سیسټم بشپړ تعریف وړاندې کولو مسؤل یاست. Intel وړاندیز کوي چې تاسو دا د SD فلش کارت عکس په بڼه وړاندې کړئ. د OpenCL کارونکي لپاره Intel FPGA SDK کولی شي په ساده ډول عکس د مایکرو SD فلش کارت ته ولیکي او د SoC FPGA بورډ د کارونې لپاره چمتو دی.
په 13 مخ کې د موجوده SD فلش کارت عکس بدلول
انټیل وړاندیز کوي چې تاسو په ساده ډول د سایکلون V SoC پرمختیا کټ ریفرنس پلیټ فارم سره موجود عکس بدل کړئ. تاسو د نوي SD فلش کارت عکس رامینځته کولو اختیار هم لرئ.
په 14 پاڼه کې د SD فلش کارت انځور جوړول
تاسو د نوي SD فلش کارت عکس رامینځته کولو اختیار هم لرئ.
1.5.1 د موجوده SD فلش کارت عکس بدلول
انټیل وړاندیز کوي چې تاسو په ساده ډول د سایکلون V SoC سره موجود عکس بدل کړئ
د پراختیا کټ حواله پلیټ فارم. تاسو د نوي SD فلش کارت عکس رامینځته کولو اختیار هم لرئ.
د c5soc linux_sd_card_image.tgz انځور file په ALTERAOCLSDKROOT/board/c5soc ډایرکټر کې شتون لري، چیرته چې ALTERAOCLSDKROOT د OpenCL نصبولو لارښود لپاره د Intel FPGA SDK لارې ته اشاره کوي.
پاملرنه: د SD فلش کارت عکس بدلولو لپاره ، تاسو باید د روټ یا سوډو امتیازات ولرئ.
- د $ALTERAOCLSDKROOT/board/c5soc/linux_sd_card_image.tgz د کمپریس کولو لپاره fileد tar xvfzlinux_sd_card_image.tgz کمانډ چل کړئ.
- د هیلو_ورلډ اوپن سی ایل پخوانی تالیف کړئampستاسو د ګمرک پلیټ فارم ملاتړ په کارولو سره ډیزاین. د .rbf نوم بدل کړئ file چې د OpenCL آفلاین کمپیلر لپاره Intel FPGA SDK د opencl.rbf په توګه رامینځته کوي ، او د SD فلش کارت عکس کې د fat32 برخې کې ځای په ځای کړئ.
تاسو کولی شئ ډاونلوډ کړئ hello_world exampد OpenCL ډیزاین Exampپه Altera کې les پاڼه webسایټ - د .rbf ځای ونیسئ file د فلش کارت عکس د fat32 برخې کې.
پاملرنه: د fat32 برخه باید دواړه zImage ولري file او .rbf file. د .rbf پرته file، یوه وژونکې تېروتنه به واقع شي کله چې تاسو ډرایور داخل کړئ. - وروسته له دې چې تاسو د SD کارت عکس رامینځته کړئ ، دا لاندې کمانډ په کارولو سره مایکرو SD کارت ته ولیکئ: sudo dd if=/path/to/sdcard/image.bin of=/dev/sdcard
- د خپل SD فلش کارت عکس ازموینې لپاره ، لاندې دندې ترسره کړئ:
a. د مایکرو SD فلش کارت د SoC FPGA بورډ کې دننه کړئ.
ب. تخته ځواکمن کړئ.
ج. د aocl تشخیص یوټیلیټ کمانډ غوښتنه وکړئ.
1.5.2 د SD فلش کارت انځور جوړول
تاسو د نوي SD فلش کارت عکس رامینځته کولو اختیار هم لرئ. د نوي SD فلش کارت عکس جوړولو او د موجوده SD فلش کارت عکس بیا جوړولو په اړه عمومي لارښوونې په GSRD v14.0.2 – د RocketBoards.org د SD کارت پا pageه کې شتون لري. webسایټ
لاندې مرحلې د گولډن سیسټم حوالې ډیزاین (GSRD) SD فلش کارت عکس څخه د linux_sd_card_image.tgz عکس رامینځته کولو طرزالعمل تشریح کوي:
یادونه:
د c5soc عکس څخه د عکس رامینځته کولو لپاره ، په دې کړنلاره کې ذکر شوي ټول پلي شوي دندې ترسره کړئ.
- د Rocketboards.org څخه د GSRD SD فلش کارت عکس نسخه 14.0 ډاونلوډ او خلاص کړئ.
- پورته کول file د تخصیص جدول (fat32) او پراخ شوی file سیسټم (ext3) برخې په دې عکس کې د لوپ بیک وسیلو په توګه. د ویش نصبولو لپاره، لاندې مرحلې ترسره کړئ:
a. د /sbin/fdisk -lu image_ په کارولو سره په عکس کې دننه د برخې د بایټ پیل مشخص کړئ.file قومانده
د مثال لپارهample، د W1 FAT ډول 95 پارشن نمبر 2121728 بلاک آفسیټ لري. په هر بلاک کې 512 بایټس سره، د بایټ آفسیټ 512 بایټ x 2121728 = 1086324736 بایټس دی.
ب. د وړیا لوپ وسیله وپیژنئ (د مثال لپارهample، /dev/loop0) د Lostup -f کمانډ په ټایپ کولو سره.
ج. فرض کړئ /dev/loop0 وړیا لوپ وسیله ده، خپل د فلش کارت عکس د لوپ بلاک وسیلې ته د لوټ اپ /dev/loop0 امیج په کارولو سره ورکړئ.file -0 1086324736 کمانډ.
d. د mount /dev/loop0 /media/disk1 کمانډ په کارولو سره لوپ وسیله نصب کړئ.
د انځور دننه file, /media/disk1 اوس یو نصب شوی fat32 برخه ده.
e. د ext3 برخې لپاره a څخه تر d پورې مرحلې تکرار کړئ. - په الټرا کې د ډاونلوډ مرکز څخه د OpenCL کڅوړې لپاره د Intel FPGA Runtime Environment Cyclone V SoC FPGA نسخه ډاونلوډ کړئ webسایټ
a. د Quartus Prime سافټویر نسخه ترڅنګ د ډاونلوډ تڼۍ کلیک وکړئ.
ب. د خوشې کولو نسخه، عملیاتي سیسټم، او د ډاونلوډ طریقه مشخص کړئ.
ج. د اضافي سافټویر ټب کلیک وکړئ، او د Intel FPGA ډاونلوډ کولو لپاره غوره کړئ
د اوپن سی ایل لینکس سایکلون V SoC TGZ لپاره د چلولو چاپیریال.
d. وروسته له دې چې تاسو aocl-rte- ډاونلوډ کړئ .arm32.tgz file, دا خلاص کړئ
یو لارښود چې تاسو یې لرئ. - نه پیکه aocl-rte- ځای په ځای کړئ .arm32 ډایرکټر د عکس په ext32 برخه کې /home/root/opencl_arm3_rte ډایرکټر کې file.
- د خپل ګمرک پلیټ فارم هارډویر فولډر ړنګ کړئ، او بیا د ګمرک پلیټ فارم د /home/root/ opencl_arm32_rte بورډ فرعي لارښود کې ځای په ځای کړئ.
- init_opencl.sh جوړ کړئ file په /home/root لارښود کې د لاندې منځپانګې سره: صادر کړئ ALTERAOCLSDKROOT=/home/root/opencl_arm32_rte صادر کړئ AOCL_BOARD_PACKAGE_ROOT=$ALTERAOCLSDKROOT/board/ صادرات PATH=$ALTERAOCLSDKROOT/bin:$PATH صادرول LD_LIBRARY_PATH=$ALTERAOCLSDKROOT/host/arm32/lib:$LD_LIBRARY_PATH insmod $AOCL_BOARD_PACKAGE_ROOT/driver/aclsoc_drv.ko
د SDK کارونکي د چاپیریال متغیرونو او د OpenCL لینکس کرنل ډرایور بارولو لپاره سرچینه ./init_opencl.sh کمانډ چلوي. - که تاسو پریلوډر تازه کولو ته اړتیا لرئ، DTS files، یا د لینکس کرنل، تاسو د SoC EDS څخه arm-linux-gnueabihf-gcc کمپیلر ته اړتیا لرئ. د سافټویر ترلاسه کولو لپاره د Intel SoC FPGA ایمبیډډ ډیزاین سویټ کارونکي لارښود کې ذکر شوي لارښوونې تعقیب کړئ ، دوی یې بیا تنظیم کړئ ، او اړونده تازه کړئ files په نصب شوي fat32 برخې کې.
پاملرنه: دا خورا احتمال شتون لري چې تاسو اړتیا لرئ پری لوډر تازه کړئ که ستاسو ګمرک پلیټ فارم د c5soc په پرتله مختلف پن کارونې ولري.
په یاد ولرئ: که تاسو د لینکس کرنل بیا تنظیم کړئ ، د ورته لینکس کرنل سرچینې سره د لینکس کرنل ډرایور بیا تنظیم کړئ files. که چیرې د لینکس کرنل ډرایور او د لینکس کرنل ترمینځ توپیر شتون ولري ، نو ډرایور به بار نشي. همدارنګه، تاسو باید CMA فعال کړئ.
د لا زیاتو معلوماتو لپاره د لینکس کرنل بیا تنظیمولو ته مراجعه وکړئ. - د هیلو_ورلډ اوپن سی ایل پخوانی تالیف کړئampستاسو د ګمرک پلیټ فارم ملاتړ په کارولو سره ډیزاین. د .rbf نوم بدل کړئ file چې د OpenCL آفلاین کمپیلر لپاره Intel FPGA SDK د opencl.rbf په توګه رامینځته کوي ، او د SD فلش کارت عکس کې د fat32 برخې کې ځای په ځای کړئ.
تاسو کولی شئ ډاونلوډ کړئ hello_world exampد OpenCL ډیزاین Exampپه Altera کې les پاڼه webسایټ
9. وروسته له دې چې تاسو ټول اړین ذخیره کړئ fileد فلش کارت عکس کې، لاندې کمانډونه وغواړئ:
a. همغږي کول
ب. unmount /media/disk1
ج. بې ځایه کول چیرته د ډایرکټر نوم دی چې تاسو یې په 3 مخ کې په 3 کې د ext3 برخې نصبولو لپاره کاروئ (د مثال لپارهample، /media/disk2).
d. لوسټ اپ -d /dev/loop0
e. لوسټ اپ -d /dev/loop1 - د لاندې کمانډ په کارولو سره د SD فلش کارت عکس کمپریس کړئ: tar cvfz .tgz linux_sd_card_image
- تحویل کړي .tgz file ستاسو د ګمرک پلیټ فارم روټ لارښود دننه.
- د خپل SD فلش کارت عکس ازموینې لپاره ، لاندې دندې ترسره کړئ:
a. په مایکرو SD فلش کارت کې پایله شوي غیر کمپریس شوي عکس ولیکئ.
ب. د مایکرو SD فلش کارت د SoC FPGA بورډ کې دننه کړئ.
ج. تخته ځواکمن کړئ.
d. د aocl تشخیص یوټیلیټ کمانډ غوښتنه وکړئ.
اړونده لینکونه
- د Intel SoC FPGA ایمبیډډ ډیزاین سویټ کارونکي لارښود
- د OpenCL ډیزاین Exampپه Altera کې les پاڼه webسایټ
- په 16 پاڼه کې د لینکس کرنل بیا تالیف کول
د CMA فعالولو لپاره، تاسو باید لومړی د لینکس کرنل بیا جوړ کړئ. - ستاسو د FPGA بورډ د وسیلې نوم پوښتنه کول (تشخیص)
1.6 د سایکلون V SoC FPGA لپاره د لینکس کرنل تالیف کول
د سایکلون V SoC FPGA بورډ کې د OpenCL غوښتنلیکونو چلولو دمخه، تاسو باید د لینکس کرنل سرچینه تالیف کړئ، او د OpenCL لینکس کرنل ډرایور تالیف او نصب کړئ.
- په 16 پاڼه کې د لینکس کرنل بیا تالیف کول
د CMA فعالولو لپاره، تاسو باید لومړی د لینکس کرنل بیا جوړ کړئ. - د OpenCL لینکس کرنل ډرایور تالیف او نصب کول په 17 مخ کې د OpenCL لینکس کرنل ډرایور د تالیف شوي کرنل سرچینې په مقابل کې تالیف کړئ.
1.6.1 د لینکس کرنل بیا تالیف کول
د CMA فعالولو لپاره، تاسو باید لومړی د لینکس کرنل بیا جوړ کړئ.
- د GSRD v14.0 کلیک وکړئ - د RocketBoards.org د سرچینو پاڼې کې د لینکس لینک تالیف کول webسایټ د لینکس کرنل سرچینې کوډ ډاونلوډ او بیا جوړولو لارښوونو ته لاسرسی لپاره.
د OpenCL لپاره د ™ Intel FPGA SDK سره کارولو لپاره، socfpga-3.13-rel14.0 په توګه مشخص کړئ . - یادونه: د ودانولو پروسه آرچ/arm/configs/socfpga_defconfig جوړوي file. دا file د socfpga ډیفالټ ترتیب لپاره تنظیمات مشخص کوي.
لاندې کرښې د arch/arm/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=y
CONFIG_CMA_ALIGNMENT=8
CONFIG_CMA_AREAS=7
د CONFIG_CMA_SIZE_MBYTES ترتیب ارزښت د فزیکي پلوه د موجود حافظې په مجموعي شمیر کې پورتنۍ حد ټاکي. تاسو ممکن دا ارزښت ډیر کړئ که تاسو ډیر حافظې ته اړتیا لرئ. - پاملرنه: په SoC FPGA بورډ کې د ARM پروسیسر ته د موجود فزیکي حافظې ټول مقدار 1 GB دی. Intel سپارښتنه نه کوي چې تاسو د CMA مدیر 1 GB ته نږدې تنظیم کړئ.
- د اوسني تشکیلاتو پاکولو لپاره د make mrproper کمانډ چل کړئ.
- د make ARCH=arm socfpga_deconfig کمانډ چل کړئ.
ARCH=arm په ګوته کوي چې تاسو غواړئ د ARM جوړښت تنظیم کړئ.
socfpga_defconfig په ګوته کوي چې تاسو غواړئ د ډیفالټ socfpga ترتیب وکاروئ. - صادرات CROSS_COMPILE=arm-linux-gnueabihf- کمانډ پرمخ وړئ.
دا کمانډ د CROSS_COMPILE چاپیریال متغیر ټاکي ترڅو د مطلوب وسیلې سلسلې مخکینۍ مشخص کړي. - د make ARCH=arm zImage کمانډ چل کړئ. پایله لرونکی عکس په آرچ / بازو / بوټ / zImage کې شتون لري file.
- د زیمیج ځای ونیسئ file د فلش کارت عکس د fat32 برخې کې. د تفصيلي لارښوونو لپاره، په Rocketboards.org کې د سایکلون V SoC FPGA ځانګړي GSRD کارونکي لارښود ته مراجعه وکړئ.
- یادونه: د OpenCL لینکس کرنل ډرایور په سمه توګه دننه کولو لپاره، لومړی د SDKgenerated.rbf پورته کړئ file په FPGA کې.
د .rbf د جوړولو لپاره file، د SDK ډیزاین تالیف کړئ exampد سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم سره د هدف شوي ګمرک پلیټ فارم په توګه.
9. د .rbf ځای ونیسئ file د فلش کارت عکس د fat32 برخې کې.
پاملرنه: د fat32 برخه باید دواړه zImage ولري file او .rbf file. د .rbf پرته file، یوه وژونکې تېروتنه به واقع شي کله چې تاسو ډرایور داخل کړئ. - برنامه شوي مایکرو SD کارت دننه کړئ ، کوم چې د SD کارت عکس لري چې تاسو یې ترمیم کړی یا دمخه رامینځته شوی ، د سایکلون V SoC پرمختیا کټ کې دننه کړئ او بیا د SoC FPGA بورډ ځواکمن کړئ.
- د uname -r کمانډ په چلولو سره د نصب شوي لینکس کرنل نسخه تایید کړئ.
- د دې تصدیق کولو لپاره چې تاسو په کرنل کې CMA په بریالیتوب سره فعال کړئ، د SoC FPGA بورډ سره ځواکمن شوي، د grep init_cma /proc/kallsyms کمانډ چل کړئ.
CMA فعال شوی که چیرې محصول خالي نه وي. - د SDK سره د بیا جوړ شوي لینکس کرنل کارولو لپاره، د لینکس کرنل ډرایور تالیف او نصب کړئ.
اړونده لینکونه
- د سرو زرو سیسټم حوالې ډیزاین (GSRD) کارن لارښود
- په 13 پاڼه کې د SD فلش کارت انځور جوړول
ځکه چې سایکلون V SoC FPGA په چپ کې یو بشپړ سیسټم دی ، تاسو د سیسټم بشپړ تعریف وړاندې کولو مسؤل یاست.
1.6.2 د OpenCL لینکس کرنل ډرایور تالیف او نصب کول
د تالیف شوي کرنل سرچینې په وړاندې د OpenCL لینکس کرنل ډرایور تالیف کړئ.
د ډرایور سرچینه د OpenCL لپاره د Intel FPGA Runtime Environment په سایکلون V SoC FPGA نسخه کې شتون لري. برسېره پردې، ډاډ ترلاسه کړئ چې تاسو د OpenCL تولید شوي .rbf لپاره د Intel FPGA SDK بار کړی دی file په FPGA کې د لینکس کرنل ماډل غلط نصبولو مخه ونیسئ.
- په الټرا کې د ډاونلوډ مرکز څخه د OpenCL کڅوړې لپاره د Intel FPGA Runtime Environment Cyclone V SoC FPGA نسخه ډاونلوډ کړئ webسایټ
a. د Quartus Prime سافټویر نسخه ترڅنګ د ډاونلوډ تڼۍ کلیک وکړئ.
ب. د خوشې کولو نسخه، عملیاتي سیسټم، او د ډاونلوډ طریقه مشخص کړئ.
ج. د اضافي سافټویر ټب کلیک وکړئ، او د Intel FPGA ډاونلوډ کولو لپاره غوره کړئ
د اوپن سی ایل لینکس سایکلون V SoC TGZ لپاره د چلولو چاپیریال.
d. وروسته له دې چې تاسو aocl-rte- ډاونلوډ کړئ .arm32.tgz file, دا خلاص کړئ
یو لارښود چې تاسو یې لرئ.
د موټر چلوونکي سرچینه په aocl-rte- کې ده .arm32/board/c5soc/ ډرایور لارښود. - د OpenCL لینکس کرنل ډرایور د بیا تنظیمولو لپاره، د ډرایور په میک کې د KDIR ارزښت تنظیم کړئfile هغه لارښود ته چې د لینکس کرنل سرچینه لري files.
- د صادرولو CROSS_COMPILE=arm-linux-gnueabihf- کمانډ چل کړئ ترڅو ستاسو د وسیلې سلسله مخکینۍ نښه وښیې.
- د پاک پاک کمانډ چل کړئ.
- د aclsoc_drv.ko جوړولو لپاره د میک کمانډ چل کړئ file.
- د Opencl_arm32_rte لارښود سایکلون V SoC FPGA بورډ ته انتقال کړئ.
د scp -r چلول root@your-ipaddress: کمانډ د چلولو چاپیریال په/کور/روټ ډایرکټر کې ځای په ځای کوي. - د init_opencl.sh سکریپټ چل کړئ چې تاسو د SD کارتیمیج جوړولو پرمهال رامینځته کړی.
- د aocl تشخیص یوټیلیټ کمانډ غوښتنه وکړئ. د تشخیص کارتیا به وروسته له دې چې تاسو init_opencl.sh په بریالیتوب سره پرمخ وړئ یو تیریدونکي پایله بیرته راوړي.
1.7 پیژندل شوې مسلې
اوس مهال، د سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم سره د OpenCL لپاره د Intel FPGA SDK کارولو باندې ځینې محدودیتونه شتون لري.
- تاسو نشئ کولی د CL_DEVICE_VENDOR او CL_DEVICE_NAME تارونو لخوا د clGetDeviceInfo() کال راپور شوي د پلورونکي او بورډ نومونه پورته کړئ.
- که کوربه په ګډ DDR سیسټم کې دوامداره حافظه تخصیص کړي (یعنې HPS DDR) او دا د کرنل اجرا کولو وروسته دوامداره حافظه بدلوي ، نو په حافظه کې ډاټا ممکن زوړ شي. دا مسله رامینځته کیږي ځکه چې د FPGA کور نشي کولی د CPU-to-HPS DDR لیږدونو ته مخه کړي.
د پخوانیو معلوماتو ته د لاسرسي څخه وروسته د کرنل اعدامونو د مخنیوي لپاره، د لاندې کارونو څخه یو پلي کړئ:
• د پیل کولو وروسته دوامداره حافظه مه بدلوئ.
• که تاسو څو __مستقیم ډیټا سیټونو ته اړتیا لرئ، ډیری دوامداره حافظې بفرونه جوړ کړئ.
• که شتون ولري، په FPGA DDR کې ستاسو د سرعت کونکي بورډ کې دوامداره حافظه تخصیص کړئ. - په ARM کې د SDK افادیت یوازې د برنامه ملاتړ کوي او د کارونې کمانډونه تشخیصوي.
د فلش ، انسټال او غیر نصب کولو یوټیلټي کمانډونه د لاندې دلایلو لپاره د سایکلون V SoC پرمختیا کټ کې د پلي کیدو وړ ندي:
a. د نصبولو اسانتیا باید د aclsoc_drv لینکس کرنل ډرایور تالیف کړي او په SoC FPGA کې یې فعال کړي. د پراختیا ماشین باید تالیف ترسره کړي؛ په هرصورت، دا دمخه د SoC FPGA لپاره د لینکس کرنل سرچینې لري. د پراختیا ماشین لپاره د لینکس کرنل سرچینې د SoC FPGA لپاره له هغه څخه توپیر لري. د SoC FPGA لپاره د لینکس کرنل سرچینو موقعیت احتمال د SDK کارونکي لپاره نامعلوم دی. په ورته ډول ، د غیر نصبولو یوټیلیټ هم د سایکلون V SoC پرمختیا کټ کې شتون نلري.
همچنان ، د SoC بورډ ته د aclsoc_drv تحویلول ننګونه ده ځکه چې د سایکلون V SoC پراختیایی کټ ډیفالټ توزیع د لینکس کرنل نلري files یا د GNU کمپیلر ټولګه (GCC) کمپیلر.
ب. د فلش اسانتیا د .rbf ځای په ځای کولو ته اړتیا لري file د مایکرو SD فلش کارت FAT32 برخې ته د OpenCL ډیزاین. اوس مهال، دا ویش نه پورته کیږي کله چې د SDK کاروونکي بورډ ته واک ورکوي. له همدې امله، د برخې تازه کولو غوره لاره د فلش کارت ریډر او پراختیا ماشین کارول دي. - کله چې د OpenCL آفلاین کمپیلر اجرا وړ لپاره د Intel FPGA SDK ترمنځ تیریږي files (.aocx) چې د بورډ مختلف ډولونو سره مطابقت لري (یعنې c5soc او c5soc_sharedonly)، تاسو باید د .aocx پورته کولو لپاره د SDK د برنامه کارونې څخه کار واخلئ. file د لومړي ځل لپاره د نوي بورډ ډول لپاره. که تاسو په ساده ډول د نوي بورډ ډول په کارولو سره کوربه غوښتنلیک پرمخ وړئ مګر FPGA د بل بورډ ډول څخه عکس لري ، ممکن وژونکې تېروتنه رامینځته شي.
- د .qxp file د انٹرفیس د برخې برخې دندې شاملې ندي ځکه چې د Quartus Prime سافټویر په دوامداره توګه د دې برخې وخت اړتیاوې پوره کوي.
- کله چې تاسو بورډ ځواکمن کړئ، د هغې د رسنیو لاسرسي کنټرول (MAC) پته په تصادفي شمیره کې ټاکل کیږي. که ستاسو د LAN پالیسي دا چلند ته اجازه نه ورکوي، د لاندې کارونو په ترسره کولو سره د MAC پته تنظیم کړئ:
a. د U-Bot پاور اپ په جریان کې، د U-Bot کمانډ پرامپټ ته د ننوتلو لپاره هر کلی فشار ورکړئ.
ب. د کمانډ پرامپټ کې setenv ethaddr 00:07:ed:00:00:03 ټایپ کړئ.
تاسو کولی شئ هر MAC پته غوره کړئ.
ج. د saveenv کمانډ ټایپ کړئ.
d. بورډ ریبوټ کړئ.
1.8 د اسنادو د بیاکتنې تاریخ
جدول 1.
د OpenCL سایکلون V SoC لپاره د Intel FPGA SDK سند بیاکتنه تاریخ
د پراختیا کټ ریفرنس پلیټ فارم پورټینګ لارښود
نیټه | نسخه | بدلونونه |
می-۱۹ | 2017.05.08 | • د ساتنې خوشې کول. |
اکتوبر ۲۰۱۶ | 2016.10.31 | • د OpenCL لپاره Altera SDK د OpenCL لپاره Intel FPGA SDK ته بیا برانډ شوی. • د OpenCL آفلاین کمپیلر لپاره Intel FPGA SDK ته د الټرا آفلاین کمپیلر بیا برانډ شوی. |
می-۱۹ | 2016.05.02 | • د SD فلش کارت عکس جوړولو او بدلولو په اړه تعدیل شوي لارښوونې. • د لینکس کرنل او د OpenCL لینکس کرنل ډرایور د بیا تنظیم کولو په اړه تعدیل شوي لارښوونې. |
نومبر-۱۸ | 2015.11.02 | • د ساتنې خوشې کول، او د Quartus II مثالونه Quartus Prime ته بدل شوي. |
می-۱۹ | 15.0.0 | • د FPGA بیا تنظیم کولو کې، د FPGA کور بیا پروګرام کولو لپاره لارښوونې لرې شوې سره . د پیشو په بللو سره د rbf انځور fileنوم>. rbf > /dev/ fpga0 کمانډ ځکه چې دا طریقه سپارښتنه نه کیږي. |
دسمبر - 14 | 14.1.0 | • سند د الټرا سایکلون V SoC پراختیایی کټ ریفرنس پلیټ فارم پورټینګ لارښود په توګه بدل کړ. • Aocl پروګرام ته د بیا پروګرام یوټیلیټ تازه کړیfilename>.aocx یوټیلټي کمانډ. • د aocl تشخیص او aocl تشخیص ته د تشخیصي اسانتیا تازه کول د کارونې قومانده. • ستاسو د SoC بورډ برخې ته د حوالې پلیټ فارم پورټ کولو کې طرزالعمل تازه کړی ترڅو د تضمین شوي وخت بندولو جریان لپاره د وخت پاک برخې رامینځته کولو لپاره د c5soc بورډ برخې پورټینګ او ترمیم کولو لارښوونې شاملې کړي. • موضوع داخل کړه د پورټ شوي حوالې پلیټ فارم تازه کول د لاندې دندو لپاره طرزالعملونه په ګوته کول: 1. د بورډ په برخه کې د هارډ پروسیسر سیسټم (HPS) بلاک څخه جلا کول 2. د SD فلش کارت عکس تازه کول • د SD فلش کارت د انځور برخه جوړول تازه کړل. د طلایی سیسټم حوالې ډیزاین (GSRD) عکس 14.0 نسخه کارولو وړاندیز شوی د SoC ایمبیډډ ډیزاین سویټ (EDS) سره موجود عکس پرځای د پیل ټکي په توګه. • د لینکس کرنل او د OpenCL لینکس کرنل ډرایور برخې بیا تنظیم کول تازه کړل: 1. د CROSS COMPILE متغیر تنظیم کولو لپاره لارښوونې اضافه شوې. 2. هغه کمانډ بدل کړئ چې تاسو یې چلوئ ترڅو تایید کړئ چې CMA په بریالیتوب سره فعال شوی. |
جولای-۱۶ | 14.0.0 | •لومړني خپرول. |
اسناد / سرچینې
![]() |
د OpenCL لپاره intel FPGA SDK [pdf] د کارونکي لارښود د OpenCL لپاره FPGA SDK، FPGA SDK، SDK د OpenCL لپاره، SDK |