کتاب صوتی مقدمهای بر MPI (Message Passing Interface)
قدرت محاسبات را آزاد کنید: دوره مقدماتی MPI قدرت محاسبات را آزاد کنید: دوره مقدماتی MPI معرفی دوره آیا آمادهاید تا مرزهای محاسبات خود را فراتر ببرید؟ آیا میخواهید نرمافزاری بسازید که بتواند پیچیده...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره مقدمهای بر 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
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
CUDA
Data Science
Distributed computing
High-Performance Computing
HPC
Message Passing Interface
MPI
OpenMP
Parallel programming
scalability
برنامه نویسی موازی
توزیع شده
علم داده
محاسبات علمی
محاسبات موازی
مقیاس پذیری
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.