لوگوی اینتلAN 824 FPGA SDK برای OpenCL Board
بسته پشتیبانی Floorplan
راهنمای کاربر

 Intel® FPGA SDK برای راهنمای بهینه‌سازی طرح طبقه‌بندی بسته پشتیبانی هیئت مدیره OpenCL
راهنمای بهینه‌سازی پلان طبقه‌بندی Intel/® FPGA SDK برای بسته پشتیبانی برد OpenCL™ (BSP) دستورالعمل‌های برنامه‌ریزی کف را برای OpenCL) BSP ارائه می‌کند. همچنین راهنمایی در مورد اینکه چگونه می توانید دانه پایه را با بهترین متوسط ​​حداکثر فرکانس عملیاتی بدست آورید و کارایی استفاده از منابع BSP را ارزیابی کنید، ارائه می دهد.
این سند فرض می کند که شما با مفاهیم OpenCL(2) همانطور که در OpenCL Specification نسخه 1.0 توسط گروه Khronos توضیح داده شده است، آشنا هستید.

جریان کامپایل OpenCL BSP
OpenCL BSP از انواع زیر از جریان های کامپایل پشتیبانی می کند:

  • کامپایل مسطح [–bsp-flow flat]: یک کامپایل مسطح از کل طراحی را انجام می دهد (BSP به همراه سخت افزار تولید شده هسته).
  • کامپایل پایه [–bsp-flow base]: یک کامپایل پایه را با استفاده از محدودیت های LogicLock از base.qsf انجام می دهد. file. هدف ساعت هسته آرام است تا سخت افزار BSP آزادی بیشتری برای برآوردن زمان بندی داشته باشد. یک پایگاه داده base.qar برای حفظ سخت افزار BSP که ناحیه ایستا است ایجاد می شود.
  • وارد کردن کامپایل [ ]: منطقه استاتیک بسته زمان بندی را از پایگاه داده base.qar بازیابی می کند و فقط سخت افزار تولید شده هسته را کامپایل می کند. همچنین هدف ساعت هسته را افزایش می دهد تا بهترین فرکانس عملیاتی هسته (fmax) را به دست آورد.

پارتیشن OpenCL BSP Floorplan
پلان کف OpenCL BSP عمدتا به دو منطقه زیر تقسیم می شود:

  • ناحیه ایستا: ناحیه ای را نشان می دهد که دارای سخت افزار مربوط به BSP است که ثابت می ماند. زمان بندی برای این منطقه در طول تدوین پایه بسته است. به طور کلی، هدف به حداقل رساندن منابع تراشه مورد استفاده توسط این منطقه برای بسته شدن زمان است.
  • ناحیه کرنل: ناحیه پیکربندی مجدد جزئی (PR) را نشان می‌دهد که برای ماژول freeze_wrapper_inst|kernel_system_inst رزرو شده است که حاوی هسته است. به طور کلی، هدف این است که منابع تراشه را به حداکثر میزان برای این منطقه ذخیره کنیم.
  1. Intel FPGA SDK برای OpenCL بر اساس مشخصات Khronos منتشر شده است و فرآیند تست انطباق Khronos را پشت سر گذاشته است. وضعیت انطباق فعلی را می توان در یافت www.khronos.org/conformance.
  2. OpenCL و لوگوی OpenCL علائم تجاری Apple Inc. هستند و با مجوز Khronos Group™ استفاده می شوند.

شرکت اینتل تمامی حقوق محفوظ است. اینتل، لوگوی اینتل و سایر علائم اینتل علائم تجاری Intel Corporation یا شرکت های تابعه آن هستند. اینتل عملکرد FPGA و محصولات نیمه هادی خود را با مشخصات فعلی مطابق با ضمانت استاندارد اینتل تضمین می کند، اما این حق را برای خود محفوظ می دارد که در هر زمان و بدون اطلاع قبلی، هر محصول و خدماتی را تغییر دهد. اینتل هیچ مسئولیت یا مسئولیتی را که ناشی از کاربرد یا استفاده از هر گونه اطلاعات، محصول یا خدماتی است که در اینجا توضیح داده شده است، ندارد، مگر اینکه صراحتاً توسط اینتل به صورت کتبی با آن موافقت شده باشد. به مشتریان اینتل توصیه می شود قبل از تکیه بر اطلاعات منتشر شده و قبل از سفارش محصولات یا خدمات، آخرین نسخه مشخصات دستگاه را دریافت کنند.
*اسامی و برندهای دیگر ممکن است به عنوان دارایی دیگران ادعا شود.

دستورالعمل برای برنامه ریزی کف OpenCL BSP

  • با کامپایل مسطح شروع کنید تا بفهمید همه اجزای اصلی BSP به طور طبیعی در کجا قرار می گیرند (به خصوص بلوک های IP با اتصالات I/O مانند PCIe یا DDR). در حین طراحی BSP، ممکن است لازم باشد ایجاد خطوط لوله را در نظر بگیریدtagبین IP ها برای بسته شدن زمان بندی قرار دارد. ابتدا باید یک Sweep کامپایل مسطح برای شناسایی مسیرهای ناموفق مکرر اجرا کنید و سپس سعی کنید آنها را اصلاح کنید.
    نکته: - نرخ بسته شدن زمان بندی مناسب نسبت به جاروهای دانه کامپایل مسطح، شانس بیشتری برای بسته شدن زمان کامپایل پایه خواهد داشت.
    - اگر در mm_interconnect* خرابی های مداوم مشاهده کردید (جزئی که Qsys اضافه کرد)، سپس سیستم را با Qsys Interconnect باز کنید viewer و پیچیدگی اتصال ناقص را مشاهده کنید. می توانید فلیپ فلاپ های لوله کشی را در آن اضافه کنید viewبرای بهبود زمان بندی اگر هنوز نمی توانید به این مشکل رسیدگی کنید، ممکن است مجبور شوید مسیر حیاتی mm_interconnect* را با افزودن پل های خط لوله Avalon شکست دهید.
  • در طول کامپایل پایه، با LogicLock در ناحیه هسته که حاوی freeze_wrapper_inst|kernel_system_inst است، شروع کنید. بدون هیچ محدودیت دیگری، Intel Quartus Prime می‌تواند سخت‌افزار BSP را آزادانه در ناحیه ثابت باقی‌مانده تراشه قرار دهد. از کامپایل مسطح و برنامه ریز تراشه برای شناسایی اندازه و مکان سخت افزار BSP، مانند PCIe و DDR استفاده کنید. سپس، با استفاده از LogicLock، منطقه هسته را رزرو کنید و از مناطق اصلی خوشه‌بندی سخت‌افزار BSP اجتناب کنید.
    نکته: اگر خانواده تراشه‌های مورد استفاده با پلتفرم مرجع یکسان است و اگر اجزای BSP مشابه هستند، ممکن است سریع‌تر از مناطق LogicLock برای freeze_wrapper_inst|kernel_system_inst که با BSP مرجع OpenCL ارسال می‌شود شروع کنید و از طریق خرابی‌ها کار کنید.
  • می توانید اجزای اضافی زیر را به BSP خود اضافه کنید:
    - بانک‌های حافظه: اگر بانک‌های حافظه بیشتری اضافه کنید، باید مکان بانک ورودی/خروجی را شناسایی کنید، زیرا ممکن است نیاز به افزودن پل‌های خط لوله برای رسیدن به زمان‌بندی داشته باشید.
    — کانال های ورودی/خروجی: می توانید کانال های ورودی/خروجی مانند ویدئو، اترنت یا رابط سریال اضافه کنید. اگر کانال‌های ورودی/خروجی را اضافه می‌کنید، باید مکان بانک ورودی/خروجی را شناسایی کنید، زیرا ممکن است لازم باشد مناطق LogicLock جدید را برای لوله‌گذاری اعمال کنید، اگر زمان‌بندی بسته شدن دشوار است.
    نکته: اگر نیاز به اضافه کردن پل های خط لوله دارید (مثلاampبه دلیل تاخیرهای زیاد در مسیریابی که باعث خرابی زمان‌بندی می‌شود)، سپس فاصله مسیریابی از منطق مبدا تا مقصد را در تراشه در نظر بگیرید و مقداری فضای رزرو شده برای منطقه هسته آزاد کنید.
  • هنگام رزرو مناطق LogicLock برای هسته این دستورالعمل های کلی را دنبال کنید:
    - سعی کنید تمام ستون های DSP را در kernel_system قرار دهید مگر اینکه توسط BSP نیاز باشد.
    - سعی کنید منابع بیشتری را برای kernel_system رزرو کنید.
    - سعی کنید تعداد بریدگی ها در ناحیه هسته را به حداقل برسانید.
    شکل زیر یک بریدگی را نشان می دهد که برای قرار دادن یک پل خط لوله بین بانک PCIe و DDR اضافه شده است.

شکل 1. OpenCL BSP Floorplan برای Intel Arria® 10 GX در نسخه 17.0

intel AN 824 FPGA SDK for OpenCL Board Support Package Floorplan

دستورالعمل برای حداکثر فرکانس عملیاتی
حداکثر فرکانس عملیاتی (fmax) که توسط کرنل ها به دست می آید تا حد زیادی به سرعت FPGA بستگی دارد زیرا اکثر IP ها باید قبلاً بهینه شده باشند. با این حال، بسته به پلان طبقه BSP ممکن است مقداری از دست دادن fmax وجود داشته باشد. برای مثالample، معمولاً تعداد برش‌ها در ناحیه هسته BSP بر fmax کرنل تأثیر می‌گذارد.
همانطور که در شکل زیر نشان داده شده است، برای به دست آوردن بهترین بذر پایه که بهترین میانگین fmax را تولید می کند:

  1. به جای انتخاب اولین دانه پایه که با زمان بندی مطابقت دارد، یک جاروی دانه بر روی کامپایل پایه انجام دهید.
  2. کامپایل import را انجام دهید (با استفاده از چند هسته از نسخه قبلیample designs) روی تمام دانه های پایه عبوری.
  3. میانگین fmax را برای همه دانه های پایه محاسبه کنید.
  4. دانه پایه ای را انتخاب کنید که بالاترین میانگین fmax را دارد.
    دانه پایه با بهترین میانگین fmax کاندیدای خوبی برای انتشار با BSP است. اگر تصمیم دارید رویکردی متفاوت از مراحل توصیه شده را دنبال کنید، ممکن است 5 تا 10 درصد تغییرات در fmax فرآیند کامپایل واردات هسته مشاهده کنید.

شکل 2. شناسایی بهترین بذر پایهintel AN 824 FPGA SDK for OpenCL Board Support Package Floorplan - Fig

  • برای درک اینکه هسته با چه سرعتی می تواند بدون محدودیت پلان کف اجرا شود:
    1. یک کامپایل مسطح از هسته انجام دهید و fmax را مشاهده کنید.
    2. یک کامپایل import روی همان کرنل انجام دهید و fmax را رعایت کنید.
    3. نتایج fmax را مقایسه کنید.
    با توجه به محدودیت‌های پلان، fmax کامپایل وارداتی همیشه کمتر از fmax کامپایل مسطح است. برای جلوگیری از نویز seed، هسته را با دانه های پایه بیشتری کامپایل کنید و هنگام مقایسه نتایج fmax، یک fmax متوسط ​​در نظر بگیرید.
  • هرگز کرنل fmax را از یک کامپایل پایه با یک کامپایل flat یا import مقایسه نکنید. اهداف ساعت هسته در طول کامپایل پایه آرام می شوند و از این رو، هرگز نتایج خوبی به دست نخواهید آورد.
  • مسیر بحرانی ساعت هسته را در کامپایل پایه یا واردات مشاهده کنید. اگر مسیر بحرانی از هسته به ناحیه استاتیک در پلان کف می‌گذرد، پلان کف را تغییر دهید یا چند دانه پایه دیگر را اجرا کنید تا از این مسیر بحرانی جلوگیری کنید.

دستورالعمل هایی برای ارزیابی کارایی استفاده از منابع BSP

هر چه درصد استفاده از منابع بیشتر باشدtage، استفاده از ناحیه در ناحیه استاتیک BSP شما بهتر است. درصد استفاده از منابع بالاtage همچنین به این معنی است که منابع بیشتری برای منطقه هسته در دسترس است.
مراحل زیر را برای محاسبه درصد استفاده از منابع دنبال کنیدtage از BSP شما:

  1. مقادیر برای همه منابع در FPGA از top.fit.rpt یا base.fit.rpt موجود در بخش آمار پارتیشن گزارش Fitter بدست آورید.
  2. مقدار «freeze_wrapper_inst|kernel_system_inst» (منطقه هسته) را کسر کنید.

نکته:
بیشتر بر روی مقادیر ماژول منطق تطبیقی ​​(ALM) تمرکز کنید تا روی مقادیر منابع دیگر. اطمینان حاصل کنید که درصد استفاده از منابعtage برای ALM به BSP مرجع OpenCL نزدیکتر است. یک درصد بسیار بالاtage برای ALM ممکن است منجر به تراکم شود، که می تواند زمان کامپایل را افزایش دهد و تراکم مسیریابی را در هسته های پیچیده ایجاد کند. با این حال، همیشه می توانید منطقه استاتیک را افزایش یا کاهش دهید و زمان کامپایل و fmax را مشاهده کنید.
جدول زیر منعکس کننده استفاده از منابع OpenCL BSP دستگاه های Arria ® 10 GX در نسخه 17.0 است.

جدول 1.
استفاده از منابع OpenCL BSP از دستگاه های IntelArria 10 GX در نسخه 17.0

مجموع موجود برای Kernel رزرو شده است برای BSP موجود است استفاده شده توسط BSP 0/0
ALM 427200 393800 33400 23818. 71.٪
ثبت می کند 1708800 1575200 133600 38913 29.٪
M2OK 2713 2534 179 134 75.٪
DSP 1518 1518 0 0 N/A

توجه داشته باشید که برنامه ریزی کف به گونه ای اجرا می شود که منطقه استاتیک هیچ بلوک DSP نداشته باشد.

تاریخچه ویرایش سند

جدول 2.
راهنمای بهینه‌سازی طرح طبقه‌بندی بسته پشتیبانی از برد OpenCL برای تاریخچه بازنگری سند Intel FPGA SDK

تاریخ نسخه تغییرات
اوت-17 انتشار اولیه

نماد نسخه آنلاین
Cardo 590878 Spirit Bluetooth Intercom - ICON 14 ارسال بازخورد
شناسه: 683312
AN-824
نسخه: 2017.08.08
AN 824: Intel® FPGA SDK برای برد OpenCL™

راهنمای بهینه سازی پلان بسته بسته پشتیبانی

اسناد / منابع

intel AN 824 FPGA SDK for OpenCL Board Support Package Floorplan [pdfراهنمای کاربر
AN 824 FPGA SDK for OpenCL Board Support Package Floorplan, AN 824, FPGA SDK for OpenCL Board Support Package Floorplan, OpenCL Board Support Package Floorplan, Board Support Package Floorplan, Support Package Floorplan, Package Floorplan, Floorplan

مراجع

نظر بدهید

آدرس ایمیل شما منتشر نخواهد شد. فیلدهای الزامی مشخص شده اند *