آموزش توسعه برنامه‌های ابری شتاب‌یافته با FPGA با استفاده از SDAccel: تئوری - آخرین آپدیت

دانلود Developing FPGA-accelerated cloud applications with SDAccel: Theory

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: این دوره برای هر کسی است که مشتاق یادگیری نحوه توسعه برنامه‌های شتاب‌یافته با FPGA با استفاده از SDAccel است! ما در عصری هستیم که پیشرفت تکنولوژی باعث تغییر پارادایم‌ها در محاسبات شده است! به عنوان یک نقطه تعادل بین دو ویژگی متضاد GPP و ASIC، ما با مفهوم جدیدی روبرو هستیم: محاسبات بازپیکربند (Reconfigurable Computing) که مزایای هر دو دنیای قبلی را با هم ترکیب کرده است. در این راستا، می‌توان گفت که محاسبات بازپیکربند به طور گسترده و تدریجی بر زندگی انسان تأثیر خواهد گذاشت. بنابراین، اکنون زمان آن است که بر نحوه استفاده از محاسبات بازپیکربند و تکنیک‌های طراحی سیستم‌های بازپیکربند برای ساخت برنامه‌ها تمرکز کنیم. از یک سو، محاسبات بازپیکربند می‌تواند عملکرد بهتری نسبت به پیاده‌سازی نرم‌افزاری داشته باشد، اما این برتری به قیمت صرف زمان بیشتر برای پیاده‌سازی تمام می‌شود. از سوی دیگر، یک دستگاه بازپیکربند می‌تواند برای طراحی سیستمی استفاده شود که در مقایسه با راهکارهای کاملاً سفارشی (Custom Solution)، زمان طراحی و پیچیدگی کمتری داشته باشد، هرچند ممکن است از نظر عملکرد در رده پایین‌تری قرار گیرد. در این راستا، ابزارهای Xilinx SDx، شامل محیط SDAccel، محیط SDSoC و Vivado HLS، تجربه‌ای آماده و جامع را برای برنامه‌نویسان سیستم فراهم می‌کنند تا بخش‌هایی از یک برنامه نرم‌افزاری را برای اجرا در یک المان سخت‌افزاری مبتنی بر FPGA تقسیم‌بندی کرده و کاری کنند که آن سخت‌افزار به طور یکپارچه با بقیه برنامه که در یک پردازنده یا پردازنده جاسازی شده (Embedded) در حال اجراست، کار کند. این تجربه آماده، نتایج جالب و «به اندازه کافی خوب» را برای بسیاری از برنامه‌ها فراهم می‌کند. با این حال، ممکن است برای شما کافی نباشد و به دنبال عملکرد بهتر، نرخ انتقال داده بالاتر، کاهش تأخیر یا کاهش مصرف منابع باشید... این دوره دقیقاً بر همین موارد تمرکز دارد. پس از معرفی FPGAها، ما بیشتر در جزئیات نحوه استفاده از Xilinx SDAccel عمیق می‌شویم و مثال‌های کاربردی در مورد نحوه بهینه‌سازی منطق سخت‌افزاری برای دستیابی به بهترین نتایج در پیاده‌سازی‌های سخت‌افزاری ارائه می‌دهیم. در این مسیر، ویژگی‌ها، دستورالعمل‌ها یا پراگماهای (Pragmas) خاصی برای هدایت کامپایل و سنتز هسته سخت‌افزاری یا بهینه‌سازی عملکرد انتقال‌دهنده داده بین پردازنده و منطق سخت‌افزاری استفاده می‌شوند. علاوه بر این، در این دوره بر زیرساخت‌های توزیع‌شده و ناهمگون تمرکز خواهیم کرد و نحوه عملیاتی کردن راهکارهای شما را با استفاده از نمونه‌های Amazon EC2 F1 معرفی می‌کنیم.

سرفصل ها و درس ها

آشنایی با تکنولوژی‌های FPGA Familizarize youself with FPGA technologies

  • محاسبات بازپیکربند و تکنولوژی‌های FPGA Reconfigurable Computing and FPGA technologies

  • سیستم‌های مبتنی بر FPGA و بازپیکربندی FPGA-based systems and reconfiguration

  • سیستم قابل برنامه‌ریزی روی چندین تراشه Programmable System-on-Multiple Chips

  • سیستم قابل برنامه‌ریزی روی تراشه (SoC) Programmable System-on-Chips

  • بلوک‌های سازنده اصلی FPGA FPGAs main building blocks

  • نحوه برنامه‌ریزی FPGA: بیت‌استریم و پیکربندی How to program an FPGA: bitstream and configuration

  • نحوه برنامه‌ریزی FPGA: توصیف سیستم و طراحی فیزیکی How to program an FPGA: system description and physical design

  • ابزارهای CAD برای طراحی سیستم‌های مبتنی بر FPGA CAD Tools for FPGA-based systems design

  • مقدمه‌ای بر محیط توسعه SDx An introuction to the SDx development environment

نگاهی کلی به SDAccel A bird's eye view on SDAccel

  • جریان طراحی سخت‌افزار Hardware Design Flow

  • مقدمه‌ای بر SDAccel و جریان مبتنی بر OpenCL An introduction to SDAccel and the OpenCL-based flow

  • مدل محاسباتی OpenCL: اندازه‌های جهانی و محلی OpenCL computational model: global and local sizes

  • فراتر از OpenCL: منطق پشت جریان‌های RTL و C Not only OpenCL! The Rationale behind the RTL and C flows

  • مدل حافظه SDAccel SDAccel memory model

  • شبیه‌سازی‌های SDAccel SDAccel "emulations"

  • زمان اجرای (Runtime) SDAccel SDAccel runtime

نحوه بهینه‌سازی سیستم On how to optmize your system

  • مقدمه Introduction

  • موازی‌سازی FPGA در مقابل معماری پردازنده ۱/۲ FPGA Parallelism vs Processor Architecture 1/2

  • موازی‌سازی FPGA در مقابل معماری پردازنده ۲/۲ FPGA Parallelism vs Processor Architecture 2/2

  • زمان‌بندی، خط‌لوله (Pipelining) و جریان داده Scheduling, Pipelining, and Dataflow

  • جریان بهینه‌سازی برنامه Application Optimization Flow

بهینه‌سازی سیستم از طریق SDAccel Optimize your system via SDAccel

  • نگاهی کلی به بهینه‌سازی‌های SDAccel A bird's eye view on SDAccel optimizations

  • بهینه‌سازی رابط‌ها: بافت کلی و بررسی معماری هدف معمولی Interface optimizations: Overall context and an overview of a typical target architecture

  • بهینه‌سازی رابط‌ها: اولین مثال Interface optimizations: a first example

  • انتقال داده‌های Burst Burst data transfer

  • استفاده از پهنای باند کامل داده‌های AXI Using full AXI data width

  • استفاده از بانک‌های حافظه متعدد Using multiple memory banks

سایر بهینه‌سازی‌ها Other optimizations

  • بهینه‌سازی هسته: باز کردن حلقه (Loop Unrolling) ۱/۲ Kernel optimization: loop unrolling 1/2

  • بهینه‌سازی هسته: باز کردن حلقه (Loop Unrolling) ۲/۲ Kernel optimization: loop unrolling 2/2

  • بهینه‌سازی هسته: خط‌لوله‌سازی حلقه (Loop Pipelining) Kernel optimization: loop pipelining

  • بهینه‌سازی هسته: تقسیم‌بندی آرایه ۱/۲ Kernel optimization: array partitioning 1/2

  • بهینه‌سازی هسته: تقسیم‌بندی آرایه ۲/۲ Kernel optimization: array partitioning 2/2

  • بهینه‌سازی‌های میزبان (Host) Host optimizations

مقدمه‌ای بر زیرساخت‌های ابری تقویت‌شده با FPGA An introduction to FPGA-augmented cloud infrastructures

  • زیرساخت‌های ابری فعال‌شده با FPGA FPGA-enable cloud infrastructures

  • مقدمه‌ای بر SDAccel و نمونه‌های AWS EC2 F1 An introduction to SDAccel and the AWS EC2 F1 instances

  • نکات پایانی و مسیرهای آینده Closing remarks and future directions

نمایش نظرات

آموزش توسعه برنامه‌های ابری شتاب‌یافته با FPGA با استفاده از SDAccel: تئوری
جزییات دوره
19h 10m
36
(آخرین آپدیت)
4,176
4.5 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar