رایانش چندهستهای
Multicore Computing
نام درس: | رایانش چندهستهای | مقطع: | کارشناسی |
---|---|---|---|
پیشنیاز: | برنامهسازی پیشرفته ،اصول سیستمهای کامپیوتری | گروه درس: | تخصصی اختیاری |
همنیاز: | ندارد | نوع درس: | نظری |
تعداد واحد: | 3 | تعداد ساعت: | 48 |
حل تمرین: | دارد |
سرفصل درس:
معرفی معماری سیستمهای چندهستهای و مدلهای برنامهنوسی موازی
تاریخچه ظهور سیستمهای چندهستهای، چالشهای برنامهنویسی کارا روی سیستمهای چندهستهای، معرفی سطوح موازات در برنامهها، تحلیل تسریع در سیستمهای چندهستهای همگون و ناهمگون، ارائهی چند نمونه واقعی از سیستمهای چندهستهای
چندپردازندهها با حافظه مشترک،
معرفی کلی معماری، ارائهی مسئلهی Cache Coherence و راهحلها، معرفی اجمالی مدل برنامهنویسی و نحوه همگامسازی نخها، نحوه برخورد با ناحیههای بحرانی، ایدههای کلی در بهبود برنامههای موازی
الگوهای رایج موازیسازی محاسبات و مدیریت داده
الگوهای محاسباتی موازی: Map, Reduction, Scan, Stencil, Recurrence, Fork-Join
الگوهای موازی مدیریت داده: Gather, Scatter, Pack, Geometric Decomposition & Partitions
برنامهنویسی موازی عمومی در سیستمهای چندهسته ای
برنامهنویسی ب ا Pthreads، برنامهنویسی با OpenMP
برنامهنوسی موازی در سیستمهای برداری
معرفی کلی سیستمهای برداری و آرایهای، معرفی ISA مخصوص پردازنده Intel برای محاسبات SIMD، معرفی معماری و نحوه برنامهنویسی پردازنده CELL BE
برنامهنویسی موازی در پردازندههای گرافیکی عاممنظوره
معرفی جامع معماری پردازندههای گرافیکی، معرفی معماری چند نمونه واقعی از پردازندههای گرافیکی شرکت NVIDIA
برنامهنویسی با زبان CUDA، معرفی Profiler شرکت NVIDIA
معرفی اجمالی برنامهنویسی موازی در سیستمهای توزیعشده
معرفی کتابخانه Message Passing Interface (MPI) و نحوهی برنامهنویسی موازی براساس مدل تبادل پیام
منابع:
-
Patterson, D. A., & Hennessy, J. L. (2019). Computer Architecture: A Quantitative Approach. Morgan Kaufmann.
-
Sanders, J., & Kandrot, E. (2011). CUDA by Examples: An Introduction to GPU Programming. Addison-Wesley.
-
Kirk, D. B., & Hwu, W. W. (2010). Programming Massively Parallel Processors: A Hands-On Approach. NVIDIA.
-
McCool, M., Robison, A. D., & Reinders, J. (2012). Structured Parallel Programming. Elsevier.