تسلط به برنامهنویسی موازی با پلتفرم CUDA
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- تمام دانش اولیه در مورد برنامهنویسی CUDA
- توانایی طراحی و پیادهسازی الگوریتمهای موازی بهینهشده
- گردش کار اولیه طراحی الگوریتم موازی
- مفاهیم پیشرفته CUDA
پیش نیازهای دوره
- دانش اولیه برنامهنویسی C یا ++C
- چگونه از Visual Studio IDE استفاده کنید؟
- CUDA Toolkit
- پردازنده گرافیکی Nvidia
- باید با راهاندازی اولیه یک پروژه ++C، چگونگی تغییر خصوصیات پروژه و موارد مشابه آشنا باشید.
توضیحات دوره
این دوره یک راهنمای غیررسمی و عمیق برای برنامهنویسی موازی با استفاده از تکنیکهای محاسباتی GPU به کمک ++C است. ابتدا مفاهیم اساسی مانند مدل برنامهنویسی GPU، ساختار اجرا و سلسلهمراتب حافظه را بررسی میکنیم. سپس، با پیادهسازی الگوریتمهای پیشرفته موازی که برای پردازندههای گرافیکی با کارایی بالا بهینهسازی شدهاند، مستقیماً وارد فرآیند توسعه عملی میشوید.
از آنجا که کارایی در قلب محاسبات مبتنی بر GPU قرار دارد، این دوره تأکید ویژهای بر تکنیکهای بهینهسازی دارد. شما میآموزید که چگونه کد خود را برای دستیابی به حداکثر سرعت و بازدهی فاین تیونینگ کنید و ابزارهای استاندارد صنعتی برای پروفایلینگ و اشکالزدایی، شامل nvprof ،nvvp، memcheck و دیباگرهای GPU مبتنی بر GDB را به کار بگیرید.
این دوره شامل بخشهای اصلی زیر است:
- مقدمهای بر مفاهیم برنامهنویسی GPU و مدلهای اجرا
- درک رفتار اجرا روی پردازندههای موازی
- بررسی عمیق سیستمهای حافظه: حافظه عمومی، اشتراکی و ثابت
- استفاده از جریانها برای مدیریت اجرای همروند
- فاین تیونینگ رفتار در سطح دستورالعمل برای بهبود کارایی
- پیادهسازی الگوریتمهای کاربردی با استفاده از شتابدهی GPU
- بررسی بر ابزارهای پروفایلینگ و اشکالزدایی
برای تقویت فرآیند یادگیری، این دوره شامل تمرینهای برنامهنویسی و آزمونهایی است که به شما کمک میکنند تا هر مفهوم را درونیسازی کنید.
این اولین دوره از مجموعه مسترکلاس محاسبات موازی مبتنی بر GPU است. دانشی که در اینجا کسب میکنید، اصول قوی برای بررسی مباحث پیشرفتهتر در دورههای آتی خواهد ساخت.
از آنجا که GPUها همچنان به پیشبرد نوآوری در حوزههایی مانند هوش مصنوعی و محاسبات علمی ادامه میدهند، تسلط به این ابزارها و تکنیکها شما را در صنعت فناوری متمایز خواهد کرد.
این دوره برای چه کسانی مناسب است؟
- هرکسی که میخواهد برنامهنویسی CUDA را از سطح مبتدی تا متوسط بیاموزد.
تسلط به برنامهنویسی موازی با پلتفرم CUDA
-
بسیار بسیار مهم 07:48
-
مقدمهای بر برنامهنویسی موازی 08:50
-
محاسبات موازی و ابرمحاسبات 07:19
-
بیایید کمی پیشزمینه را بررسی کنیم None
-
چگونگی نصب CUDA Toolkit و اولین نگاه به یک برنامه CUDA 06:12
-
عناصر اولیه یک برنامه CUDA 16:50
-
سازماندهی threads در یک برنامه threadIdx - CUDA 08:38
-
سازماندهی thread در یک برنامه blockIdx ،blockDim ،gridDim - CUDA 06:14
-
تمرین برنامهنویسی 1 00:29
-
محاسبه اندیس یکتا با استفاده از threadIdx ،blockId و blockDim 09:20
-
محاسبه اندیس یکتا برای Grid دوبعدی 1 05:53
-
محاسبه اندیس یکتا برای Grid دوبعدی 2 05:09
-
انتقال حافظه بین Host و Device 11:13
-
تمرین برنامهنویسی 2 01:04
-
نمونه جمع آرایه با بررسی اعتبارسنجی 09:13
-
نمونه جمع آرایه با مدیریت خطا 04:32
-
نمونه جمع آرایه با زمانسنجی 08:18
-
گسترش پیادهسازی جمع آرایه برای جمعزدن 3 آرایه None
-
ویژگیهای دستگاه 05:30
-
جمعبندی 04:17
-
درک بهتر دستگاه 08:46
-
همه چیز درباره Warpها 09:43
-
واگرایی Warp 12:28
-
تقسیم منابع و پنهانسازی تأخیر 1 05:35
-
تقسیم منابع و پنهانسازی تأخیر 2 10:41
-
Occupancy 11:16
-
بهینهسازی مبتنی بر پروفایل با nvprof 12:04
-
کاهش موازی بهعنوان نمونهای از همگامسازی 19:08
-
کاهش موازی بهعنوان نمونهای از واگرایی Warp 10:11
-
کاهش موازی با Loop Unrolling 07:03
-
کاهش موازی بهصورت Warp Unrolling 06:48
-
کاهش با Unrolling کامل 04:09
-
مقایسه کارایی Kernelهای کاهش 05:18
-
موازیسازی پویا در CUDA 10:03
-
کاهش با موازیسازی پویا 05:33
-
جمعبندی 04:36
-
مدل حافظه CUDA 06:49
-
انواع مختلف حافظه در CUDA 09:04
-
مدیریت حافظه و حافظه Pinned 07:19
-
حافظه Zero-Copy 08:45
-
حافظه Unified 04:39
-
الگوهای دسترسی به حافظه عمومی 12:55
-
نوشتن در حافظه عمومی 03:53
-
AOS در برابر SOA 06:03
-
ترانهاده ماتریس 19:34
-
ترانهاده ماتریس با Unrolling 06:21
-
ترانهاده ماتریس با سیستم مختصات قطری 08:36
-
جمعبندی 03:00
-
مقدمهای بر حافظه اشتراکی در CUDA 09:04
-
حالتهای دسترسی به حافظه اشتراکی و بانکهای حافظه 09:06
-
دسترسی Row-Major و Column-Major به حافظه اشتراکی 08:51
-
حافظه اشتراکی ایستا و پویا 04:19
-
Padding در حافظه اشتراکی 05:44
-
کاهش موازی با حافظه اشتراکی 04:44
-
همگامسازی در CUDA 03:38
-
ترانهاده ماتریس با حافظه اشتراکی 11:53
-
حافظه ثابت در CUDA 13:10
-
ترانهاده ماتریس با Padding در حافظه اشتراکی 05:47
-
دستورالعملهای Warp Shuffle در CUDA 14:59
-
کاهش موازی با دستورالعملهای Warp Shuffle 03:50
-
جمعبندی 02:10
-
مقدمهای بر Streamها و Eventهای CUDA 06:25
-
چگونه از توابع ناهمگام CUDA استفاده کنید؟ 07:10
-
چگونه از CUDA streams استفاده کنید؟ 10:28
-
Overlapping انتقال حافظه و اجرای Kernel 05:23
-
همگامسازی Stream و رفتار مسدودکننده NULL Stream 06:57
-
همگامسازی صریح و ضمنی 02:31
-
Eventهای CUDA و زمانسنجی با Eventهای CUDA 06:03
-
ایجاد وابستگی بین Streamها با Eventها 04:31
-
مقدمهای بر انواع مختلف دستورالعملها در CUDA 04:01
-
عملیات ممیز شناور 06:46
-
توابع استاندارد و درونی 08:29
-
توابع اتمی 08:22
-
مقدمهای بر الگوریتم اسکن 05:38
-
اسکن موازی ساده 08:24
-
اسکن انحصاری موازی با کارایی بهینه 09:33
-
اسکن شمولی موازی با کارایی بهینه 07:41
-
اسکن موازی برای مجموعهداده بزرگ 04:52
-
الگوریتم فشردهسازی موازی 07:49
-
مقدمه، بخش 1 08:04
-
مقدمه، بخش 2 11:41
-
پردازش تصویر دیجیتال 09:39
-
اصول تصویر دیجیتال: ادراک انسان 11:10
-
اصول تصویر دیجیتال: تشکیل تصویر 15:22
-
نصب OpenCV 06:28
مشخصات آموزش
تسلط به برنامهنویسی موازی با پلتفرم CUDA
- تاریخ به روز رسانی: 1405/04/02
- سطح دوره:Alls
- تعداد درس:85
- مدت زمان :10:47:51
- حجم :3.54GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy