مجله علمی تفریحی بیبیس
0

دانلود کتاب برنامه نویسی چند هسته ای و GPU

بازدید 741
  • عنوان کتاب: Multicore and GPU programming
  • نویسنده: Gerassimos-Barlas
  • حوزه: برنامه نویسی GPU
  • سال انتشار: 2023
  • تعداد صفحه: 1009
  • زبان اصلی: انگلیسی
  • نوع فایل: pdf
  • حجم فایل: 22.4 مگابایت

محاسبات موازی از زمان ظهور معماری‌های چند هسته‌ای در دهه اول قرن جدید، نفس تازه‌ای از زندگی داده است. پلتفرم های جدید نیازمند رویکرد جدیدی برای توسعه نرم افزار هستند. برنامه ای که ابزارها و شیوه های تثبیت شده عصر شبکه ایستگاه های کاری (NoW) را با پلتفرم های نرم افزاری نوظهور مانند CUDA ترکیب می کند. این کتاب با پوشش ابزارها و تکنیک های غالب معاصر، چه به صورت مجزا و چه از همه مهمتر، در ترکیب با یکدیگر، سعی در رفع این نیاز دارد. ما در تلاش برای ارائه مثال هایی هستیم که در آن پلتفرم های متعدد و پارادایم های برنامه نویسی (به عنوان مثال، ارسال پیام و رشته ها) به طور موثر ترکیب شده اند. محاسبات ترکیبی، همانطور که معمولاً نامیده می‌شود، روند جدیدی در محاسبات با کارایی بالا است، که احتمالاً می‌تواند به نرم‌افزار اجازه دهد تا به «میلیون‌ها رشته» مورد نیاز برای عملکرد مقیاس بزرگ مقیاس شود. تمام فصل ها با مثال های گسترده و مشکلات تمرینی همراه هستند. در صورت امکان، چندین طرح جایگزین دنبال و مقایسه می شوند. تمام جزئیات کوچکی که می تواند تفاوت بین توسعه نرم افزار مولد و یک تمرین بیهوده ایجاد کند، به صورت منظم ارائه شده است. این کتاب آخرین پیشرفت‌ها در ابزارهایی را که از دهه 1990 به ارث رسیده‌اند (به عنوان مثال، استانداردهای OpenMP و MPI)، اما همچنین پلتفرم‌های پیشرفته‌تر، مانند پشتیبانی از رشته‌های C++11، کتابخانه Qt با رشته‌های پیچیده‌اش را پوشش می‌دهد. مدیریت، و کتابخانه قالب Thrust با قابلیت استقرار همان نرم افزار بر روی معماری های چند هسته ای متنوع، از جمله CPU و GPU. ما هرگز نتوانستیم این شاهکار را انجام دهیم که همه ابزارهای موجود برای توسعه چند هسته ای را امروز پوشش دهیم. حتی برخی از استانداردهای صنعتی، مانند رشته های POSIX، حذف شده اند. هدف ما نمونه‌برداری از پارادایم‌های غالب است (از موازی‌سازی نیمه خودکار کدهای متوالی OpenMP تا «پر کردن» صریح ارتباطی که زیربنای MPI است)، در عین حال توضیح منطقی و چگونگی توسعه کارآمد برنامه چند هسته‌ای.

Parallel computing has been given a fresh breath of life since the emergence of multicore architectures in the first decade of the new century. The new platforms demand a new approach to software development; one that blends the tools and established practices of the network of workstations (NoW) era with emerging software platforms such as CUDA. This book tries to address this need by covering the dominant contemporary tools and techniques, both in isolation and, most importantly, in combination with each other. We strive to provide examples where multiple platforms and programming paradigms (e.g., message passing and threads) are effectively combined. “Hybrid” computation, as it is usually called, is a new trend in high-performance computing, one that could possibly allow software to scale to the “millions of threads” required for exascale performance. All chapters are accompanied by extensive examples and practice problems. Whenever possible multiple design alternatives are pursued and compared. All the little details that can make the difference between productive software development and a futile exercise are presented in an orderly fashion. The book covers the latest advances in tools that have been inherited from the 1990s (e.g., the OpenMP and MPI standards), but also more cutting-edge platforms, such as the C++11 thread support, the Qt library with its sophisticated thread management, and the Thrust template library with its capability to deploy the same software over diverse multicore architectures, including both CPUs and GPUs. We could never accomplish the feat of covering all the tools available for multicore development today. Even some of the industry standard ones, like POSIX threads, are omitted. Our goal is to sample the dominant paradigms (ranging from OpenMP’s semiautomatic parallelization of sequential code to the explicit communication “plumping” that underpins MPI), while at the same time explaining the rationale and how-to behind efficient multicore program development.

این کتاب را میتوانید از لینک زیر بصورت رایگان دانلود کنید:

Download: Multicore and GPU programming

نظرات کاربران

  •  چنانچه دیدگاه شما توهین آمیز باشد تایید نخواهد شد.
  •  چنانچه دیدگاه شما جنبه تبلیغاتی داشته باشد تایید نخواهد شد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

بیشتر بخوانید