در حال حاضر، با توجه به اهمیت مفاهیم پردازش و برنامهنویسی موازی، دروس “پردازش موازی” و “معماری سیستمهای موازی”، جزء دروس اصلی و تخصصی گرایشهای مختلف کارشناسی ارشد رشته مهندسی کامپیوتر است و در دانشگاههای مختلف تدریس میشود. در این دروس، سیستمهای پردازش موازی و کاربردهای آنها و دلایل مورد نیاز برای پردازش موازی و موانع موجود مورد بررسی قرار میگیرد. همچنین انواع معماریهای پردازش موازی و شبکههای ارتباطی، روشهای مختلف تجزیه مسائل، استخراج انواع سطوح موازیسازی موجود در الگوریتمها، شناسایی بخشهای محاسباتی و زمانگیر کاربردها مورد بحث قرار میگیرند.
ساختار کتاب به دو بخش تقسیم شده است. بخش اول شامل فصول اول تا چهارم که مفاهیم اولیه سیستم های کامپیوتری، پردازش موازی، نحوی موازی سازی الگوریتم ها و مدلهای مختلف برنامه نویسی موازی مطرح شده است و بخش دوم شامل فصول پنجم تا دهم، معماری GPU و تفاوتهای اساسی آن با CPU، کاربردها و برنامه نویسی با استفاده از مدل CUDA مورد بحث و بررسی قرار گرفته است. به طور خلاصه فصول کتاب شامل مفهیم زیر هستند.
- فصل اول: توسعه سیستمهای کامپیوتری، در این فصل سعی شده است اطلاعاتی دربارهی تاریخچهی پیدایش سیستمهای کامپیوتری و روند رشد سختافزار و نرمافزار در اختیار خوانندگان قرار گیرد.
- فصل دوم: پردازش موازی، این فصل چگونگی پیدایش پردازش موازی را مورد بررسی قرار میدهد و به این سوال پاسخ میدهد که هدف از موازیسازی چیست و چه نوع الگوریتمهایی را میتوان موازیسازی کرد.
- فصل سوم: نحوهی موازیسازی الگوریتمها، در این فصل انواع روشهای موازیسازی شرح داده میشود، همچنین به چگونگی موازیسازی الگوریتمهای سریال و تکنیکهای بهینهسازی کامپایلر پرداخته میشود.
- فصل چهارم: مدلهای برنامهنویسی موازی، در این فصل انواع مدلهای برنامهنویسی موازی تشریح میشود و برای درک بهتر آنها، چگونگی موازیسازی الگوریتم ضرب ماتریسها در هر کدام از این مدلها بیان میشود.
- فصل پنجم: معماری GPU، این فصل به شرح جزئیات سختافزار و معماری دستگاههای CUDA میپردازد. برای دستیابی به کارایی بالا در برنامهنویسی CUDA، اطلاعات کاملی راجع به معماری GPU مورد نیاز است.
- فصل ششم: مفهوم موازیسازی از منظر GPU، این فصل مقدمهای بر مفاهیم برنامهنویسی موازی از جمله تفاوت میان برنامههای سریال و موازی و چگونگی حل مسائل به روشهای متفاوت است. در واقع این فصل به برنامهنویسانی که به صورت سریال برنامهنویسی میکنند کمک میکند که درک ابتدایی از مفاهیمی که در فصلهای بعدی در این کتاب بدان پرداخته میشود، به دست آورند.
- فصل هفتم: راهاندازی CUDA، در این فصل فرایند نصب CUDA SDK تحت سیستمعامل ویندوز شرح داده میشود.
- فصل هشتم: آشنایی با مفاهیم شبکهها، بلاکها و نخها، این فصل به شرح جزئیات مدل نخبندی CUDA میپردازد و شامل مثالهایی است که به درک اینکه کدام انتخاب میتواند بر روی کارایی تأثیرگذار باشد، کمک میکند.
- فصل نهم: مدیریت حافظه توسط CUDA، درک تفاوت انواع حافظه و چگونگی بکارگیری آنها توسط CUDA به عنوان بزرگترین عامل تأثیرگذار بر روی کارایی، موضوع این فصل است. توضیحات همراه با مثالهایی از چگونگی کارکرد انواع مختلف با جزئیات کافی تشریح میشود.
- فصل دهم: برنامهنویسی CUDA C/C++، در این فصل به چگونگی همکاری بین CPU و GPU پیرامون مثالهای مختلف پرداخته میشود.
نقد و بررسی
هیچ دیدگاهی هنوز نیست.