کتاب آموزش برنامه‌نویسی موازی با Cilk؛ از تقسیم‌و‌حل تا اجرای بهینه روی چند هسته با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

انتخاب پلن

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

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

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

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

عنوان دوره: دوره آموزش برنامه‌نویسی موازی با Cilk؛ از تقسیم‌و‌حل تا اجرای بهینه روی چند هسته

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

موضوع میانی: الگوریتم‌های تقسیم‌و‌حل موازی با Cilk

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

  • 1. مبانی محاسبات موازی و تفاوت آن با اجرای ترتیبی
  • 2. معماری چند‌هسته‌ای و ضرورت برنامه‌نویسی موازی
  • 3. مفهوم الگوریتم‌های تقسیم‌و‌حل
  • 4. ساختار بازگشتی الگوریتم‌های Divide and Conquer
  • 5. مناسب‌ترین مسائل برای موازی‌سازی با تقسیم‌و‌حل
  • 6. معرفی Cilk و مدل برنامه‌نویسی آن
  • 7. ساختار یک برنامه Cilk
  • 8. تابع‌های Cilk و الگوی اجرای موازی
  • 9. استفاده از cilk_spawn برای ایجاد کار موازی
  • 10. استفاده از cilk_sync برای همگام‌سازی محاسبات
  • 11. مفهوم Cilk Procedure و محاسبات فرزند
  • 12. تبدیل الگوریتم ترتیبی به الگوریتم Cilk
  • 13. پیاده‌سازی Merge Sort موازی با Cilk
  • 14. پیاده‌سازی Quick Sort موازی با Cilk
  • 15. پیاده‌سازی جست‌وجوی بازگشتی موازی
  • 16. پیاده‌سازی محاسبات روی درخت‌ها با Cilk
  • 17. پیاده‌سازی ضرب ماتریس با رویکرد تقسیم‌و‌حل
  • 18. موازی‌سازی الگوریتم‌های بازگشتی روی آرایه‌ها
  • 19. مدل Fork-Join در برنامه‌های Cilk
  • 20. مدیریت وابستگی میان محاسبات موازی
  • 21. نقش Cilk Runtime در زمان‌بندی وظایف
  • 22. مفهوم Work در الگوریتم‌های موازی
  • 23. مفهوم Span و Critical Path
  • 24. تحلیل Work و Span در الگوریتم‌های Divide and Conquer
  • 25. محاسبه موازی‌سازی بالقوه از روی Work و Span
  • 26. قانون Work-First در طراحی زمان‌بندی Cilk
  • 27. Work Stealing و زمان‌بندی کارها
  • 28. نحوه توزیع وظایف میان پردازنده‌ها
  • 29. تحلیل سربار ایجاد و زمان‌بندی وظایف
  • 30. انتخاب اندازه مناسب وظیفه در الگوریتم‌های بازگشتی
  • 31. کنترل عمق موازی‌سازی در الگوریتم‌های Cilk
  • 32. استفاده از Cutoff برای کاهش سربار
  • 33. ترکیب اجرای ترتیبی و موازی در الگوریتم‌های Divide and Conquer
  • 34. موازی‌سازی سلسله‌مراتبی و تو در تو
  • 35. مدیریت حافظه در برنامه‌های موازی Cilk
  • 36. اشتراک داده‌ها میان وظایف موازی
  • 37. خطر Race Condition در محاسبات Cilk
  • 38. تشخیص و جلوگیری از Data Race
  • 39. محدودیت‌های دسترسی همزمان به داده‌ها
  • 40. همگام‌سازی صحیح برای حفظ درستی محاسبات
  • 41. طراحی الگوریتم‌های Deterministic در محیط موازی
  • 42. مقایسه اجرای ترتیبی و موازی از نظر پیچیدگی
  • 43. تحلیل زمان اجرای الگوریتم‌های Cilk
  • 44. اندازه‌گیری Speedup در اجرای چند‌هسته‌ای
  • 45. محاسبه Parallelism و محدودیت‌های آن
  • 46. تأثیر تعداد هسته‌ها بر کارایی برنامه
  • 47. مقیاس‌پذیری الگوریتم‌های موازی
  • 48. تحلیل Bottleneck در برنامه‌های Cilk
  • 49. تشخیص زمانی که موازی‌سازی سودی ندارد
  • 50. بهینه‌سازی Locality و دسترسی به حافظه
  • 51. تأثیر Cache بر عملکرد الگوریتم‌های Divide and Conquer
  • 52. کاهش False Sharing در محاسبات موازی
  • 53. بهینه‌سازی Granularity وظایف
  • 54. پروفایل‌گیری و اندازه‌گیری عملکرد برنامه‌های Cilk
  • 55. طراحی Benchmark برای الگوریتم‌های موازی
  • 56. مقایسه چند راهبرد برای موازی‌سازی یک مسئله
  • 57. اشتباهات رایج در پیاده‌سازی الگوریتم‌های Cilk
  • 58. اشتباهات رایج در استفاده از cilk_spawn و cilk_sync
  • 59. اشکال‌زدایی برنامه‌های موازی و مشکلات زمان‌بندی
  • 60. آزمون صحت الگوریتم‌های موازی
  • 61. طراحی الگوریتم‌های Divide and Conquer مقاوم در برابر خطاهای همزمانی
  • 62. پیاده‌سازی الگوریتم‌های پیچیده‌تر با چند سطح موازی‌سازی
  • 63. ترکیب چند الگوی موازی در یک برنامه Cilk
  • 64. تحلیل نهایی کارایی و مقیاس‌پذیری برنامه‌های Cilk
  • 65. طراحی یک پروژه کامل Divide and Conquer موازی با Cilk
تگ‌ها: C++ Cilk Cilk programming concurrent programming multi core programming Parallel Computing parallel programming Work Stealing الگوریتم Divide and Conquer الگوریتم تقسیم و حل الگوریتم های موازی برنامه نویسی موازی بهینه سازی الگوریتم پردازش چند هسته ای محاسبات موازی

نظرات

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

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