You are not allowed to perform this action
برنامهنویسی همروند
Concurrent Programming
مقطع: تحصیلات تکمیلی | گرایش: بازیهای رایانهای |
نوع درس: نظری | تعداد واحد: ۳ |
پیشنیاز: – | همنیاز: – |
هدف کلی
در این درس، هدف پوشش مطالب مرتبط با اصول و مبانی برنامهنویسی همروند و نقش و اهمیت این مقوله در برنامهنویسی بازیهای رایانهای است. پس از اتمام این درس، انتظار میرود که دانشجویان، مفاهیم پایهای درس برنامهنویسی همروند را یاد گرفته باشند و بتوانند الگوریتمهای تصویرسازی مورد نیاز را در زیرساختهای موازی مرتبط (همانند پردازندههای گرافیکی) پیادهسازی نمایند.
سرفصلها
- اصول و مفاهیم برنامهنویسی همروند
- برنامهنویسی موازی
- برنامهنویسی توزیعشده
- مدلهای برنامهنویسی Reactive، رخدادمحور و مبتنی بر پیغام
- معماری و ساختار پردازندههای گرافیکی
- مدل برنامهنویسی CUDA در پردازندههای گرافیکی
- مدل چندریسمانی CUDA
- موازیسازی الگوریتمهای تصویرسازی با استفاده از مدل برنامهنویسی CUDA و APIهای گرافیکی DirectX و OpenGL
ارزیابی پیشنهادی
- تمرینها و پروژه: ۳۰ درصد نمره
- آزمونهای میانترم و پایانی: ۷۰ درصد نمره
منابع پیشنهادی
- Herlihy, Maurice, and Nir Shavit. The Art of Multiprocessor Programming, Revised Reprint. Elsevier, 2012.
- Raynal, Michel. Concurrent programming: algorithms, principles, and foundations. Springer-Verlag, 2013.
- Marlow, Simon. Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming. O'Reilly Media, 2013.