دوره مقدمهای بر MPI (Message Passing Interface) همراه با فلشکارت آموزشی — ارائه روی فلش مموری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره مقدمهای بر MPI (Message Passing Interface)
موضوع کلی: برنامه نویسی
موضوع میانی: محاسبات سطح بالا (High-Performance Computing)
📋 سرفصلهای دوره
- 1. مقدمهای بر محاسبات موازی
- 2. چرا به پردازش موازی نیاز داریم؟ قانون مور و فراتر از آن
- 3. معماریهای موازی: حافظه مشترک در مقابل حافظه توزیع شده
- 4. طبقهبندی فلین (SISD, SIMD, MISD, MIMD)
- 5. آشنایی با محاسبات سطح بالا (HPC) و خوشههای کامپیوتری
- 6. مدلهای برنامهنویسی موازی: MPI، OpenMP و دیگران
- 7. تاریخچه و اهداف MPI (Message Passing Interface)
- 8. استاندارد MPI و نسخههای مختلف آن
- 9. راهاندازی محیط توسعه: کامپایلرها و کتابخانههای MPI
- 10. اولین برنامه MPI: "سلام، دنیای موازی!"
- 11. مفاهیم پایه: Communicator، Rank و Size
- 12. مقداردهی اولیه و پایانی محیط MPI: `MPI_Init` و `MPI_Finalize`
- 13. دریافت شناسه و تعداد فرآیندها: `MPI_Comm_rank` و `MPI_Comm_size`
- 14. مدل ارتباط نقطه به نقطه (Point-to-Point)
- 15. ارسال مسدودکننده (Blocking Send): `MPI_Send`
- 16. دریافت مسدودکننده (Blocking Receive): `MPI_Recv`
- 17. تجزیه و تحلیل آرگومانهای `MPI_Send` و `MPI_Recv`
- 18. مفهوم بنبست (Deadlock) و راههای جلوگیری از آن
- 19. نقش بافر در ارتباطات MPI
- 20. شیء وضعیت (Status Object): `MPI_Status`
- 21. دریافت اطلاعات از `MPI_Status`: منبع، تگ و خطا
- 22. بررسی وجود پیام بدون دریافت آن: `MPI_Probe`
- 23. دریافت تعداد عناصر پیام: `MPI_Get_count`
- 24. انگیزه استفاده از ارتباطات غیرمسدودکننده (Non-blocking)
- 25. ارسال غیرمسدودکننده: `MPI_Isend`
- 26. دریافت غیرمسدودکننده: `MPI_Irecv`
- 27. شیء درخواست (Request Object): `MPI_Request`
- 28. انتظار برای تکمیل یک درخواست: `MPI_Wait`
- 29. تست تکمیل یک درخواست بدون انتظار: `MPI_Test`
- 30. مدیریت چندین درخواست: `MPI_Waitall` و `MPI_Testall`
- 31. مدیریت چندین درخواست: `MPI_Waitany` و `MPI_Testany`
- 32. حالتهای مختلف ارسال: همزمان (Synchronous) `MPI_Ssend`
- 33. حالتهای مختلف ارسال: بافری (Buffered) `MPI_Bsend`
- 34. حالتهای مختلف ارسال: آماده (Ready) `MPI_Rsend`
- 35. ترکیب ارسال و دریافت: `MPI_Sendrecv`
- 36. جایگزینی بافر با `MPI_Sendrecv_replace`
- 37. مقدمهای بر ارتباطات جمعی (Collective Communications)
- 38. همگامسازی تمام فرآیندها: `MPI_Barrier`
- 39. پخش سراسری داده از یک فرآیند به همه: `MPI_Bcast`
- 40. توزیع داده از یک فرآیند به همه: `MPI_Scatter`
- 41. جمعآوری داده از همه فرآیندها در یک فرآیند: `MPI_Gather`
- 42. جمعآوری داده از همه و توزیع آن به همه: `MPI_Allgather`
- 43. ارتباط همه با همه: `MPI_Alltoall`
- 44. عملیات کاهشی (Reduction): مفاهیم و عملگرها (`MPI_Op`)
- 45. اجرای عملیات کاهشی و جمعآوری نتیجه: `MPI_Reduce`
- 46. اجرای عملیات کاهشی و پخش نتیجه به همه: `MPI_Allreduce`
- 47. محاسبه پیشوندی (Prefix Sum) با `MPI_Scan`
- 48. کاهش-پخش ترکیبی: `MPI_Reduce_scatter`
- 49. ارتباطات جمعی با اندازههای متغیر: `MPI_Gatherv` و `MPI_Scatterv`
- 50. ارتباطات جمعی با اندازههای متغیر: `MPI_Allgatherv` و `MPI_Alltoallv`
- 51. استفاده از `MPI_IN_PLACE` در ارتباطات جمعی
- 52. ارتباطات جمعی غیرمسدودکننده: `MPI_Ibarrier`
- 53. ارتباطات جمعی غیرمسدودکننده: `MPI_Ibcast`, `MPI_Iscatter`, `MPI_Igather`
- 54. ارتباطات جمعی غیرمسدودکننده: `MPI_Ireduce`, `MPI_Iallreduce`
- 55. مقدمهای بر گروهها (Groups) و Communicator ها
- 56. استخراج گروه از یک Communicator: `MPI_Comm_group`
- 57. ایجاد گروههای جدید با `MPI_Group_incl` و `MPI_Group_excl`
- 58. عملیات مجموعهای روی گروهها: اجتماع، اشتراک و تفاضل
- 59. ایجاد Communicator جدید از یک گروه: `MPI_Comm_create`
- 60. تقسیم یک Communicator به زیرگروهها: `MPI_Comm_split`
- 61. ایجاد یک کپی از Communicator: `MPI_Comm_dup`
- 62. مقایسه Communicator ها
- 63. Communicator های داخلی (Intra-communicators) و خارجی (Inter-communicators)
- 64. مقدمهای بر توپولوژیهای مجازی
- 65. چرا از توپولوژیها استفاده میکنیم؟ نگاشت به سختافزار
- 66. ایجاد توپولوژی دکارتی (Cartesian): `MPI_Cart_create`
- 67. دریافت مختصات و رنک در توپولوژی دکارتی: `MPI_Cart_coords` و `MPI_Cart_rank`
- 68. جابجایی در شبکههای دکارتی: `MPI_Cart_shift`
- 69. تقسیمبندی توپولوژی دکارتی: `MPI_Cart_sub`
- 70. ایجاد توپولوژی گرافی (Graph): `MPI_Graph_create`
- 71. پرسوجو از همسایهها در توپولوژی گرافی
- 72. انگیزه استفاده از انواع داده مشتقشده (Derived Datatypes)
- 73. ایجاد نوع داده پیوسته: `MPI_Type_contiguous`
- 74. ایجاد نوع داده برداری: `MPI_Type_vector`
- 75. ارسال ستونهای یک ماتریس با نوع داده برداری
- 76. ایجاد نوع داده اندیسگذاری شده: `MPI_Type_indexed`
- 77. ایجاد نوع داده ساختاری (Struct): `MPI_Type_create_struct`
- 78. تراز بندی و بستهبندی دادهها در Struct
- 79. نهایی کردن یک نوع داده: `MPI_Type_commit`
- 80. استفاده از انواع داده مشتقشده در ارتباطات
- 81. مقدمهای بر ارتباطات یکطرفه (One-Sided / RMA)
- 82. ایجاد و آزادسازی پنجرههای حافظه: `MPI_Win_create` و `MPI_Win_free`
- 83. قرار دادن داده در حافظه راه دور: `MPI_Put`
- 84. گرفتن داده از حافظه راه دور: `MPI_Get`
- 85. عملیات اتمی در حافظه راه دور: `MPI_Accumulate`
- 86. همگامسازی در RMA: مدل Fences (`MPI_Win_fence`)
- 87. همگامسازی در RMA: مدل Post-Start-Complete-Wait
- 88. همگامسازی در RMA: مدل قفلها (Locks)
- 89. مدیریت پویای فرآیندها: `MPI_Comm_spawn`
- 90. ارتباط بین گروههای فرآیندی مجزا: `MPI_Comm_connect` و `MPI_Comm_accept`
- 91. مقدمهای بر ورودی/خروجی موازی (MPI-IO)
- 92. باز کردن و بستن فایلها در MPI-IO: `MPI_File_open`
- 93. ورودی/خروجی مستقل در مقابل ورودی/خروجی جمعی
- 94. تنظیم نما (View) و اشارهگرهای اشتراکی فایل
- 95. خواندن و نوشتن جمعی با `MPI_File_read_all` و `MPI_File_write_all`
- 96. اندازهگیری زمان و عملکرد: `MPI_Wtime`
- 97. معیارهای ارزیابی عملکرد: افزایش سرعت (Speedup) و کارایی (Efficiency)
- 98. قوانین امدال و گوستافسون
- 99. اشکالزدایی (Debugging) و پروفایلینگ (Profiling) برنامههای MPI
- 100. برنامهنویسی ترکیبی (Hybrid): MPI + OpenMP
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.