کتاب بهینه‌سازی عملکرد با برنامه‌نویسی داده‌موازی در معماری‌های MIMD با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

بهینه‌سازی عملکرد با برنامه‌نویسی داده‌موازی در معماری‌های MIMD - پیشرو در دنیای محاسبات موازی! بهینه‌سازی عملکرد با برنامه‌نویسی داده‌موازی آیا عملکرد سیستم‌های شما بهینه نیست؟ در دنیای امروز، سرعت و...

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 62,488 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره بهینه‌سازی عملکرد با برنامه‌نویسی داده‌موازی در معماری‌های MIMD

موضوع کلی: برنامه‌نویسی موازی

موضوع میانی: برنامه‌نویسی داده‌موازی

📋 سرفصل‌های دوره

  • 1. مقدمه‌ای بر محاسبات موازی و نیاز به آن
  • 2. تفاوت همزمانی و موازی‌سازی
  • 3. طبقه‌بندی فلین: SISD, SIMD, MISD, MIMD
  • 4. تمرکز بر معماری MIMD: مشخصات و مزایا
  • 5. مقایسه معماری‌های SIMD و MIMD
  • 6. مدل‌های حافظه: حافظه اشتراکی در مقابل حافظه توزیع‌شده
  • 7. چالش‌های برنامه‌نویسی در سیستم‌های حافظه توزیع‌شده
  • 8. مدل‌های برنامه‌نویسی موازی: مروری کلی
  • 9. مفهوم بنیادین برنامه‌نویسی داده‌موازی
  • 10. مقایسه داده‌موازی و وظیفه‌موازی (Task Parallelism)
  • 11. قانون امدال و محدودیت‌های تسریع
  • 12. قانون گوستافسون و مقیاس‌پذیری
  • 13. معیارهای ارزیابی عملکرد: تسریع (Speedup) و کارایی (Efficiency)
  • 14. هزینه‌های سربار در برنامه‌نویسی موازی: ارتباطات و همگام‌سازی
  • 15. آشنایی با توپولوژی‌های شبکه اتصال (Interconnection Networks)
  • 16. مدل برنامه‌نویسی SPMD: ستون فقرات داده‌موازی در MIMD
  • 17. فرآیندها، رتبه‌ها و گروه‌های ارتباطی (Communicators)
  • 18. مقدمه‌ای بر استاندارد رابط ارسال پیام (MPI)
  • 19. راه‌اندازی محیط برنامه‌نویسی موازی
  • 20. برنامه "سلام، دنیای موازی!": اولین برنامه SPMD
  • 21. ارسال و دریافت پیام نقطه‌به‌نقطه: عملیات‌های بلوک‌بندی شده
  • 22. مفهوم بن‌بست (Deadlock) و راه‌های جلوگیری از آن
  • 23. ارتباطات غیربلوکه: همپوشانی محاسبات و ارتباطات
  • 24. حالت‌های مختلف ارسال پیام: استاندارد، بافری، همگام
  • 25. ارتباطات پایدار (Persistent Communication) برای الگوهای تکراری
  • 26. اهمیت توزیع داده‌ها در عملکرد
  • 27. فضای آدرس‌دهی سراسری مجازی در مقابل محلی
  • 28. استراتژی‌های توزیع داده تک‌بعدی: بلوکی (Block)
  • 29. استراتژی‌های توزیع داده تک‌بعدی: چرخه‌ای (Cyclic)
  • 30. توزیع بلوکی-چرخه‌ای (Block-Cyclic) و مزایای آن
  • 31. توزیع داده دو‌بعدی برای ماتریس‌ها
  • 32. مفهوم سلول‌های شبح (Ghost Cells) برای محاسبات مرزی
  • 33. تراز داده‌ها و تأثیر آن بر الگوهای ارتباطی
  • 34. داده‌ساختارهای توزیع‌شده: آرایه‌ها و گریدها
  • 35. نگاشت گرید منطقی فرآیند به پردازنده‌های فیزیکی
  • 36. توزیع نامنظم داده‌ها برای مسائل نامتقارن
  • 37. کتابخانه‌های سطح بالا برای مدیریت توزیع داده (مانند HPF)
  • 38. ارتباطات جمعی (Collective Communications): چرا و چگونه؟
  • 39. همگام‌سازی فرآیندها با استفاده از سد (Barrier)
  • 40. عملیات پخش سراسری (Broadcast)
  • 41. عملیات جمع‌آوری (Gather)
  • 42. عملیات توزیع (Scatter)
  • 43. ترکیب Scatter و Gather: عملیات Allgather
  • 44. ارتباطات همگانی (All-to-all)
  • 45. عملیات‌های کاهشی (Reduction): جمع، ضرب، ماکزیمم و...
  • 46. عملیات اسکن موازی (Prefix Sum)
  • 47. انواع سفارشی عملیات‌های کاهشی
  • 48. ارتباطات جمعی در گروه‌های فرآیندی (Intra-communicators)
  • 49. ارتباطات جمعی غیربلوکه
  • 50. طراحی الگوریتم‌های داده‌موازی: تجزیه دامنه
  • 51. پیاده‌سازی داده‌موازی جمع بردارها
  • 52. ضرب ماتریس در بردار به صورت داده‌موازی
  • 53. الگوریتم‌های موازی ضرب ماتریس در ماتریس (مانند Cannon و SUMMA)
  • 54. حل دستگاه معادلات خطی: تجزیه LU موازی
  • 55. حل دستگاه معادلات خطی: الگوریتم ژاکوبی موازی
  • 56. محاسبات استنسیل (Stencil Computations) در دامنه‌های توزیع‌شده
  • 57. تبدیل فوریه سریع (FFT) موازی
  • 58. الگوریتم‌های مرتب‌سازی موازی: Bitonic Sort
  • 59. الگوریتم‌های مرتب‌سازی موازی: Sample Sort
  • 60. جستجوی موازی در لیست‌ها و درخت‌ها
  • 61. الگوریتم‌های گراف موازی: جستجوی اول سطح (BFS)
  • 62. شبیه‌سازی N-جسم به روش داده‌موازی
  • 63. مفهوم توازن بار (Load Balancing)
  • 64. شناسایی عدم توازن بار در برنامه‌ها
  • 65. توازن بار ایستا (Static Load Balancing)
  • 66. توازن بار پویا (Dynamic Load Balancing)
  • 67. الگوریتم‌های توزیع بار مبتنی بر گراف
  • 68. مهاجرت وظیفه و داده برای توازن بار
  • 69. شناسایی گلوگاه‌های عملکرد (Performance Bottlenecks)
  • 70. ابزارهای پروفایلینگ و تحلیل عملکرد برنامه‌های موازی
  • 71. تحلیل مدل‌های عملکردی و پیش‌بینی زمان اجرا
  • 72. کاهش سربار ارتباطی: تجمیع پیام‌ها (Message Aggregation)
  • 73. کاهش سربار ارتباطی: کاهش فرکانس ارتباطات
  • 74. تکنیک‌های پیشرفته همپوشانی ارتباطات و محاسبات
  • 75. تحلیل مقیاس‌پذیری: مقیاس‌پذیری قوی در مقابل ضعیف
  • 76. تأثیر حافظه نهان (Cache) در گره‌های محاسباتی MIMD
  • 77. بهینه‌سازی‌های مرتبط با معماری پردازنده و حافظه
  • 78. اشکال‌زدایی (Debugging) برنامه‌های موازی: چالش‌ها و تکنیک‌ها
  • 79. استفاده از دیباگرهای موازی
  • 80. ورودی/خروجی موازی (Parallel I/O): چالش‌ها و راه‌حل‌ها
  • 81. آشنایی با استانداردهای I/O موازی (مانند MPI-IO)
  • 82. مدل‌های برنامه‌نویسی ترکیبی: MPI + OpenMP
  • 83. برنامه‌نویسی داده‌موازی در معماری‌های ناهمگون (CPU+GPU)
  • 84. مفهوم تحمل خطا (Fault Tolerance) در سیستم‌های توزیع‌شده
  • 85. تکنیک‌های Checkpoint/Restart
  • 86. زبان‌های داده‌موازی سطح بالا (مانند Chapel, X10, Fortress)
  • 87. کامپایلرهای موازی‌ساز خودکار
  • 88. مطالعه موردی ۱: پیاده‌سازی داده‌موازی یک حل‌کننده معادلات پواسون
  • 89. مطالعه موردی ۲: پردازش تصویر و بینایی ماشین به صورت موازی
  • 90. مطالعه موردی ۳: دینامیک سیالات محاسباتی (CFD)
  • 91. مطالعه موردی ۴: مدل‌سازی آب و هوا و اقلیم
  • 92. آینده برنامه‌نویسی داده‌موازی و معماری‌های Exascale
  • 93. جمع‌بندی مفاهیم و بهترین شیوه‌ها در طراحی الگوریتم‌های داده‌موازی
  • 94. پروژه نهایی: طراحی، پیاده‌سازی و بهینه‌سازی یک الگوریتم داده‌موازی کامل
تگ‌ها: CUDA Data Parallelism data-parallel programming on MIMD computers Distributed computing GPU Computing High-Performance Computing HPC MPI multicomputers OpenMP Parallel Algorithms Parallel programming performance optimization برنامه‌نویسی داده‌موازی، MIMD

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.