لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش برنامهنویسی چند هستهای و GPGPU
- آخرین آپدیت
دانلود Multicore and GPGPU Programming
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
دوره «برنامهنویسی چند هستهای و GPGPU» درک بنیادی از برنامهنویسی موازی را با تمرکز بر توسعه اپلیکیشنهای چندرشتهای (Multi-threaded) با کارایی بالا در محیطهای CPU و GPU فراهم میکند. این دوره با مرور معماریهای پردازندههای چند هستهای، مکانیزمهای حافظه نهان (Caching) و سیستمهای دسترسی غیریکسان به حافظه (NUMA) آغاز میشود و دانشجویان مفاهیم ضروری برنامهنویسی حافظه مشترک، تکنیکهای همگامسازی و استفاده از قفلها (Locks) را برای تضمین یکپارچگی دادهها بین رشتهها میآموزند.
در ادامه، این دوره به طراحی ساختارهای داده در حافظه مشترک و معرفی مفاهیم پیشرفته همگامسازی، از جمله همگامسازی تنبل (Lazy Synchronization) میپردازد که برای اپلیکیشنهای همزمان مقیاسپذیر و کارآمد حیاتی است. علاوه بر این، دانشجویان معماری و مدل برنامهنویسی واحدهای پردازش گرافیکی با کاربرد عمومی (GPGPUs) را بررسی کرده و برنامهنویسی CUDA را برای بهرهگیری از موازیسازی GPU در وظایف با محاسبات سنگین فرا میگیرند. در پایان دوره، دانشجویان در بهینهسازی اپلیکیشنهای چندرشتهای و چند هستهای، توازن بار کاری بین CPU و GPU برای دستیابی به توان عملیاتی بالا و بهرهوری بهینه از منابع مهارت مییابند. این دوره برای کسانی که قصد دارند در زمینه محاسبات با کارایی بالا (HPC) و برنامهنویسی موازی برای سیستمهای مدرن مبتنی بر GPU و چند هستهای تخصص کسب کنند، ضروری است.
سرفصل ها و درس ها
مقدمهای بر برنامهنویسی موازی و چند هستهای
Introduction to Parallel and Multicore Programming
ویدئوی معرفی دوره
Course Introductory Video
آشنایی با مدرس: دکتر گارگی پرابهو
Meet Your Instructor - Dr. Gargi Prabhu
آشنایی با مدرس: دکتر کونال کورگائونکار
Meet Your Instructor - Dr. Kunal Korgaonkar
ضبط جلسه زنده هفته اول برنامهنویسی چند هستهای و GPGPU
Recording of Multicore and GPGPU Programming: Week 1 - Live Session on 25-12-06 18:36:27 [58:56]
ضرورت افزایش مداوم عملکرد
Need for Ever-Increasing Performance
سیستمهای موازی و برنامههای موازی
Parallel Systems and Parallel Programs
سیستمهای همزمان، موازی و توزیعشده
Concurrent, Parallel, Distributed Systems
انواع موازیسازی: موازیسازی داده، وظیفه و خط لوله (Pipeline)
Types of Parallelism: Data, Task and Pipeline Parallelism
نسخه تکمیلی سیستمهای موازی و برنامههای موازی
Copy of Parallel Systems and Parallel Programs
شتاب (Speedup) و کارایی
Speedup and Efficiency
قانون آمدال
Amdahl’s Law
قانون گوستافسون
Gustafson’s Law
مقیاسپذیری در سیستمهای موازی
Scalability in Parallel Systems
هزینه موازیسازی
Cost of Parallelisation
منابع سربار در برنامههای موازی
Sources of Overhead in Parallel Programs
زمانسنجی برنامههای موازی: روشها و بهترین شیوهها
Timing Parallel Programs: Methods and Best Practices
عملکرد GPU
GPU Performance
معماری پردازندههای چند هستهای و مکانیزمهای حافظه نهان
Multicore Processor Architectures and Caching Mechanisms
معماری فون نویمان
The Von Neumann Architecture
پردازشها، چندوظیفگی و رشتهها
Processes, Multitasking, and Threads
مبانی حافظه نهان (Caching)
The Basics of Caching
حافظه مجازی
Virtual Memory
موازیسازی در سطح دستورالعمل (ILP)
Instruction-Level Parallelism
چندرشتهای سختافزاری
Hardware Multithreading
طبقهبندی کامپیوترهای موازی
Classifications of Parallel Computers
سیستمهای SIMD و MIMD
SIMD and MIMD Systems
شبکههای اتصال: سیستمهای حافظه مشترک
Interconnection Networks: Shared Memory Systems
شبکههای اتصال: سیستمهای حافظه توزیعشده
Interconnection Networks: Distributed Memory Systems
نمایش نظرات