مقدمه ای بر محاسبات موازی از الگوریتم نویسی تا برنامه نویسی در پلتفرم های بروز
نویسنده:
سید عبدالرضا ترابی
مترجم:
سال نشر:
۱۴۰۱
صفحه:
۲۹۴
نوبت چاپ:
۱

پیش گفتار مولف ۷

مقدمه ۹

فصل اول: چرا به برنامه‌نویسی موازی نیاز داریم؟ ۱۱

۱-۱. چرا هر کامپیوتری یک کامپیوتر موازی است؟ ۱۱

۱-۲. انواع موازی‌سازی ۱۲

۱-۳. محاسبات زمانبر قابل تسریع ۱۴

فصل دوم: بررسی سیستم‌های موازی ۱۷

۲-۱. تاریخچه محاسبات، سیستم‌ها و برنامه‌نویسی موازی ۱۷

۲-۲. مدلسازی محاسبات موازی ۱۹

۲-۳. مدلهای چند پردازنده‌ای ۲۱

۲-۳-۱. ماشین دسترسی تصادفی موازی ۲۲

۲-۳-۲. ماشین با حافظه محلی (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 ۲۷۰

نکات نهایی و دورنماها ۲۷۹

ضمیمه: نکاتی برای تبدیل کامپیوتر شما به ماشین‌ موازی ۲۸۱

مراجع ۲۸۹

 


تمامی حقوق این سایت برای سازمان ترویج مطالعه و نشر جهاد دانشگاهی محفوظ است. نقل مطالب با ذکر منبع بلامانع است.
Copyright ©۲۰۲۵ Iranian Students Booking Agency. All rights reserved