رویداد به پایان رسیده است!
دوره آموزشی برنامه‌نویسی پردازنده‌های گرافیکی (CUDA Programming) در تاریخ جمعه ۹ آذر ۱۳۹۷ به پایان رسیده است. (جزئیات بیشتر)

رویدادهای زیر را به شما پیشنهاد می‌کنیم:

دوره آموزشی برنامه‌نویسی پردازنده‌های گرافیکی (CUDA Programming)

شروع رویداد
پنج‌شنبه ۱۰ آبان ۹۷ ۱۵:۰۰
پایان رویداد
جمعه ۹ آذر ۹۷ ۱۴:۰۰
مکان رویدادتهران
موضوع رویدادتکنولوژی / برنامه نویسی
اضافه به تقویم
دوره آموزشی برنامه‌نویسی پردازنده‌های گرافیکی (CUDA Programming)
برگزارکننده‌ی رویداد
تماس با برگزارکننده
۰۹۱۹۹۹۳۰۷۳۹
گزارش
مهلت ثبت‌نام برای این رویداد به پایان رسیده است.
جزئیات
مهلت ثبت‌نام
قیمت (تومان)
تعداد

محتوای کارگاه

استفاده از پردازنده‌های گرافیکی به عنوان نوعی از معماری‌های Multi-core برای حل مسائل علوم پایه و مهندسی در سال‌های اخیر رونق بسیاری یافته است. شبکه‌های عصبی عمیق، حل معادلات پیچیده فیزیک، پردازش سیگنال‌های تصویر و ویدیو، بازی‌سازی، طراحی و ارائه‌ی bot-های هوشمند و ... از جمله مهمترین کاربردهایی هستند که با استفاده از GPU به شکوفایی بیشتری رسیده‌اند.

سرفصل دوره:

  • معرفی ساختار و معماری پردازنده‌های گرافیکی
  • مقدمه‌ای بر برنامه‌نویسی C++17
  • معرفی و آموزش نحوه نصب CUDA
      • ریسمان‌ها Threads
      • حافظه‌ها Memories
      • ملاحظات Performance
  • برنامه‌نویسی و انجام محاسبات موازی
  • خلاصه‌ای از OPENCLTM
  • انجام پروژه پایانی و رفع اشکال

کودا چیست؟

کودا به انگلیسی (CUDA) که مخفف عبارت انگلیسی Compute Unified Device Architecture است یک سکوی پردازش موازی و مدلبرنامه‌نویسی است که توسط شرکت انویدیا به‌وجود آمده‌است و در واحدهای پردازش گرافیکی این شرکت پشتیبانی می‌شود.کودا به توسعه دهنده گان نرم‌افزار اجازه می‌دهد تا از یک GPU که ویژگی CUDA-enabled دارد برای هدف پردازش استفاده کنند، رویکردی که GPGPU شناخته می‌شود. کودا به توسعه‌دهنده گان امکان دسترسی مستقیم به حافظه و مجموعه دستورالعمل در واحد پردازش گرافیکی را می‌دهد.

سکوی کودا برای کار با زبان‌های برنامه‌نویسی مانند C و ++C و فرترن طراحی شده‌است.این دسترسی باعث می‌شود تا برای متخصصان استفاده از منابع GPU آسان‌تر شود برخلاف راه کارهای API دیگر چون DIRECT3D و OpenGL که نیاز به توانایی حرفه‌ای در برنامه‌نویسی گرافیک داشتند.همچین کودا از چارچوب‌هایی چون OpenACC و OpenCL پشتیبانی می‌کند.

قابلیت‌های برنامه‌نویسی

کودا توسط کتابخانه‌های مجهز شده کودا ،دستوردهنده کامپایلر مانند OpenACC و همین طور توسعه‌هایی استاندارد صنعتی از زبان‌هایی شامل C، ++C و فرترن برای توسعه‌دهندگان قابل دسترسی است.برنامه‌نویسان C++/C از '++CUDA C/C' استفاده می‌کنند که کامپایل شده با "nvcc" است.nvcc یک کامپایلر C++/C بر پایه LLVM شرکت انویدیا است.برنامه نویسان فرترن نیز می‌توانند از 'CUDA Fortran' استفاده کنند که کامپایل شده با PGI CUDA Fortran Complier شرکت The Portland Groupاست. علاوه بر کتابخانه‌ها ،دستوردهنده‌های کامپایلر و ++CUDA C/C و CUDA Fortran ،سکو کودا از سایر رابط‌های محاسباتی شامل موارد زیر پشتیبانی می‌کند.

همچنین لفافه سوم شخص (Third party wrappers) برای زبان‌هایی مانند پرل (Perl)،پایتون (Python)،آر (R) ،فرترن(FORTRAN)،جاوا (Java)،روبی (Ruby)،هسکل (Haskell)،متلب (Matlab) ،آی دی ال (IDL)،لوآ (Lua) و نیز به‌طور پیشفرضمتمتیکا (Mathematica) در دسترس هستند.

در صنعت بازی‌های کامپیوتری ،GPUها تنها برای رندر کردن گرافیک نیست بلکه در محاسبات فیزیکی بازی (اثرات فیزیکی شبیه دود ،آتش ،ترشحات و آوار) نیز هستند.مثال‌هایی نظیر فیز-اکس و گلوله شامل این مورد هستند.کودا همچنین برای کاربردهای شتاب‌دهی غیرگرافیکی در زیست‌شناسی محاسباتی ،رمزنگاری و حوزه‌های دیگر نیز استفاده می‌شود.

کودا هم یک API سطح پایین و هم یک API سطح بالا فراهم می‌کند.SDK اولیه کودا در 15 فوریه 2007 برای ویندوز مایکروسافتو لینوکس انتشار عمومی شد.پشتیبانی در سیستم‌عامل مک در نسخه دوم اضافه شد که جای نسخه تست 14 فوریه 2008 را می‌گیرد.کودا با تمامی GPUهای از سری G8x به بعد شامل جی‌فورس ،کوادرو و تسلا(گرافیک) کار می‌کند.کودا با بیشتر سیستم‌عامل‌های استاندارد کار می‌کند.انویدیا می‌گوید برنامه‌هایی که برای سری G8x توسعه‌یافته‌اند همچنین بدون تغییر روی نسل‌های آینده کارت‌های گرافیک بسته به سازگاری دودویی کارخواهند کرد.

زمان برگزاری

این دوره در قالب ۸ جلسه، هر جلسه ۴ ساعت برگزار میگردد.

جلسات در روزهای پنجشنبه ساعت ۱۵ الی ۱۹ و جمعه ساعت ۱۰ الی ۱۴ برگزار میگردند!

تاریخ برگزاری جلسات دوره عبارتند از:

پنجشنبه‌ها: ۱۰ آبان و ۲۴ آبان و ۱ آذر و ۸ آذر

جمعه‌ها: ۱۱ آبان و ۲۵ آبان و ۲ آذر و ۹ آذر

سخن مدرس دوره

امروزه شرکت‌های الکترونیکی و کامپیوتری در زمینه‌های مختلف از CUDA برای سیستم‌های Embedded خودشون استفاده میکنن؛ اگر بخوام دو تا مثال مهم بزنم :

۱.پیاده‌سازی شبکه‌های عصبی برای پردازش تصویر در ماشین‌های بدون سرنشین با همین پردازنده‌ها انجام میشه،

۲.یا برای بازی‌سازی از کتابخانه OpenGL استفاده میشه و بر روی همین پردازنده‌های گرافیکی.

سوالات متداول

چگونه از کارگاه‌های دیگه با خبر بشم؟ تخفیف‌های ویژه رو کجا میشه پیدا کرد؟
داخل کانال تلگرام ما عضو بشید، همه دوره‌ها رو از این طریق به اطلاع شما خواهیم رسوند. :) @NizomanCo
کلی سوال دارم، چه کنم؟
به آیدی تلگرام ما پیام بدید! ما صمیمانه به همه سوالاتتون جواب میدیم... @NizomanAdmin
آیا مدرکی هم داده میشه؟
بله، مدرک معتبر با مهر جهاد دانشگاهی دانشگاه تهران و شرکت نیزومان تقدیمتون میشه.
فرصت شغلی وجود داره؟
مطمئنا کسی که با برنامه‌نویسی این پردازنده‌ها آشنا باشه، میتونه در شرکت‌های بازی‌سازی و یا الکترونیکی(برای پردازش تصویر، پردازش ویدئو و یا محاسبات موازی و پیچیده ریاضی) مشغول به کار بشه...

آدرس:تهران خیابان انقلاب - خیابان ابوریحان - خیابان شهید وحید نظری - پلاک 17 - طبقه سوم