پیش گفتار مولف ۷
مقدمه ۹
فصل اول: چرا به برنامهنویسی موازی نیاز داریم؟ ۱۱
۱-۱. چرا هر کامپیوتری یک کامپیوتر موازی است؟ ۱۱
۱-۲. انواع موازیسازی ۱۲
۱-۳. محاسبات زمانبر قابل تسریع ۱۴
فصل دوم: بررسی سیستمهای موازی ۱۷
۲-۱. تاریخچه محاسبات، سیستمها و برنامهنویسی موازی ۱۷
۲-۲. مدلسازی محاسبات موازی ۱۹
۲-۳. مدلهای چند پردازندهای ۲۱
۲-۳-۱. ماشین دسترسی تصادفی موازی ۲۲
۲-۳-۲. ماشین با حافظه محلی (LMM) ۲۷
۲-۳-۲. ماشین حافظه ماژولی (MMM) ۲۸
۲-۴. تأثیرات ارتباطات ۲۹
۲-۴-۱. شبکههای اتصال داخلی ۲۹
۲-۴-۲. خواص اساسی شبکههای اتصال داخلی ۳۰
۲-۴-۳. دستهبندی شبکههای اتصال داخلی ۳۵
۲-۴-۴. توپولوژیهای شبکههای اتصال داخلی ۳۸
۲-۵. پیچیدگی محاسبات موازی ۴۷
۲-۵-۱. نمونه مسائل و اندازه آنها ۴۷
۲-۵-۲. تعداد واحدهای پردازش برحسب اندازه نمونهها ۴۸
۲-۵-۳. کلاس NC از مسائل قابل موازیسازی بصورت مؤثر ۵۰
۲-۶. قوانین و قضایای مربوط به محاسبات موازی ۵۳
۲-۶-۱. قضیه برنت ۵۳
۲-۶-۲. قانون امدهال ۵۴
فصل سوم: برنامهنویسی با پردازندههای چندهستهای و حافظه مشترک با استفاده از OpenMP ۶۳
۳-۱. مدل برنامهنویسی حافظه مشترک ۶۳
۳-۲. استفاده OpenMP برای نوشتن برنامههای چندنخی ۶۶
۳-۲-۱. کامپایل و اجرای یک برنامه OpenMP ۶۷
۳-۲-۲. نظارت برنامه OpenMP ۶۸
۳-۳. موازیسازی حلقهها ۷۰
۳-۳-۱. موازیسازی حلقهها با تکرارهای مستقل ۷۰
۳-۳-۲. ترکیب نتایج تکرارهای موازی ۷۹
۳-۳-۳. توزیع تکرارها بین نخها ۸۹
۳-۳-۴. جزئیات حلقههای موازی و کاهشها ۹۳
۳-۴. وظایف موازی ۹۵
۳-۴-۱. اجرای وظایف مستقل بصورت موازی ۹۵
۳-۴-۲. ترکیب نتایج وظایف موازی ۹۹
۳-۵. توضیحات مفید OpenMP ۱۰۱
فصل چهارم: پردازشهای MPI و پیامرسانی ۱۰۹
۴-۱. کامپیوترهای با حافظه توزیع با امکان اجرای موازی ۱۰۹
۴-۲. از نگاه برنامهنویس ۱۱۰
۴-۳. واسط ارسال پیام ۱۱۱
۴-۳-۱. عبارت عملیات MPI ۱۱۵
۴-۳-۲. انواع داده MPI ۱۱۶
۴-۳-۳. مدیریت خطا در MPI ۱۱۸
۴-۳-۴. آماده کردن کامپیوتر برای استفاده از MPI ۱۱۹
۴-۳-۵. اجرا و پیکربندی پردازشهای MPI ۱۱۹
۴-۴. عملیات MPI اساسی ۱۲۲
۴-۵. ارتباطات پردازش به پردازش ۱۲۳
۴-۵-۱. اندازهگیری عملکردها ۱۲۸
۴-۶. ارتباط MPI تجمعی ۱۳۲
۴-۶-۱. آمایش تجمعی دادهها در MPI ۱۳۴
۴-۷. همپوشانی بین محاسبات و ارتباطات ۱۴۰
۴-۷-۱. مودهای ارتباطی ۱۴۰
۴-۷-۲. منابع بنبستها ۱۴۴
۴-۷-۳. چند مشخصه فرعی ارسال پیام ۱۴۹
۴-۷-۴. ارتباط دهندههای MPI ۱۵۱
۴-۸. برنامههای MPI شما چقدر مؤثر و کاراست؟ ۱۵۷
۴-۹. توضیحات مفید MPI ۱۵۸
فصل پنجم: OpenCL برای پردازندههای گرافیکی موازی تعداد زیاد ۱۶۰
۵-۱. آناتومی یک GPU ۱۶۰
۵-۱-۱. معرفی تکامل CPU ۱۶۲
۵-۱-۲. یک GPU مدرن ۱۶۶
۵-۱-۳. برنامهریزی نخها در واحدهای محاسبات ۱۶۷
۵-۱-۴. سلسله مراتب حافظه در GPU ۱۷۰
۵-۲. دیدگاه برنامهنویس ۱۷۳
۵-۲-۱. سیستم نامتجانس ۱۷۴
۵-۲-۲. مدل اجرا ۱۷۴
۵-۲-۳. مدل حافظه ۱۷۶
۵-۳. برنامهنویسی در OpenCL ۱۷۷
۵-۳-۱. جمع بردارهای طولانی دلخواه ۱۹۸
۵-۳-۲. ضرب داخلی در OpenCL ۲۰۰
۵-۳-۳. ضرب داخلی در OpenCL با استفاده از حافظه محلی ۲۰۵
۵-۳-۴. ضرب ماتریس ساده در OpenCL ۲۱۱
۵-۳-۵. ضرب ماتریسی با روش کاشی در OpenCL ۲۱۵
۵-۴. توضیحات مفید OpenCL ۲۲۱
فصل ششم: کاربرد مهندسی - محاسبه موازی عدد ۲۳۲
فصل هفتم: کاربرد مهندسی - حل موازی معادله حرارت یک بُعدی ۲۴۴
فصل هشتم: کاربرد مهندسی- پیادهسازی موازی الگوریتم حذف درز ۲۵۷
۸-۱. محاسبه انرژی ۲۵۹
۸-۲. شناسایی درز ۲۶۱
۸-۳. برچسبگذاری و حذف درز ۲۶۴
۸-۴. حذف درز در GPU ۲۶۵
۸-۴-۱. حذف درز روی CPU ۲۶۶
۸-۴-۲. حذف درز در OpenCL ۲۷۰
نکات نهایی و دورنماها ۲۷۹
ضمیمه: نکاتی برای تبدیل کامپیوتر شما به ماشین موازی ۲۸۱
مراجع ۲۸۹
دسته بندی موضوعی | موضوع فرعی |
فنی و مهندسی |
مهندسی كامپيوتر
|