کتاب صوتی مقدمه‌ای بر MPI (Message Passing Interface)

قدرت محاسبات را آزاد کنید: دوره مقدماتی MPI قدرت محاسبات را آزاد کنید: دوره مقدماتی MPI معرفی دوره آیا آماده‌اید تا مرزهای محاسبات خود را فراتر ببرید؟ آیا می‌خواهید نرم‌افزاری بسازید که بتواند پیچیده‌...

انتخاب پلن

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

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

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

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

عنوان دوره: مقدمه‌ای بر MPI (Message Passing Interface)

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

موضوع میانی: محاسبات سطح بالا (High-Performance Computing)

📋 سرفصل‌های دوره (100 موضوع)

  • 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
قدرت محاسبات را آزاد کنید: دوره مقدماتی MPI

قدرت محاسبات را آزاد کنید: دوره مقدماتی MPI

معرفی دوره

آیا آماده‌اید تا مرزهای محاسبات خود را فراتر ببرید؟ آیا می‌خواهید نرم‌افزاری بسازید که بتواند پیچیده‌ترین مسائل علمی و مهندسی را با سرعت خیره‌کننده‌ای حل کند؟ دنیای محاسبات سطح بالا (High-Performance Computing - HPC) در انتظار شماست! با استفاده از تکنیک‌های HPC، می‌توانید از قدرت پردازشی صدها و حتی هزاران هسته به طور همزمان بهره‌مند شوید و محدودیت‌های سخت‌افزاری را به چالش بکشید.

در این دوره، شما را با یکی از قدرتمندترین ابزارهای HPC آشنا می‌کنیم: MPI (Message Passing Interface). MPI یک استاندارد صنعتی برای برنامه‌نویسی موازی است که به شما امکان می‌دهد تا برنامه‌های خود را به گونه‌ای طراحی کنید که به طور همزمان بر روی چندین پردازنده اجرا شوند. تصور کنید که یک مسئله پیچیده را به چندین قسمت کوچک‌تر تقسیم کنید و هر قسمت را به یک پردازنده مجزا بسپارید. MPI به شما کمک می‌کند تا این کار را به سادگی و کارآمدی انجام دهید.

این دوره مقدمه‌ای بر MPI، دروازه‌ای است به دنیای محاسبات موازی و HPC. ما در این دوره، از مفاهیم پایه تا تکنیک‌های پیشرفته، شما را در مسیر یادگیری MPI همراهی می‌کنیم. با ما همراه باشید تا قدرت محاسبات را به خدمت بگیرید!

درباره دوره

دوره مقدماتی MPI، یک دوره جامع و گام به گام است که شما را با مفاهیم اساسی و تکنیک‌های پیشرفته MPI آشنا می‌کند. در این دوره، شما یاد می‌گیرید که چگونه برنامه‌های موازی بنویسید، ارتباط بین پردازنده‌ها را مدیریت کنید، و برنامه‌های خود را برای دستیابی به حداکثر کارایی بهینه‌سازی کنید. ما از مثال‌های عملی و تمرین‌های متنوع استفاده می‌کنیم تا اطمینان حاصل کنیم که شما نه تنها مفاهیم را درک می‌کنید، بلکه می‌توانید آن‌ها را در پروژه‌های واقعی به کار ببرید.

موضوعات کلیدی

  • آشنایی با مفاهیم محاسبات موازی و HPC
  • نصب و راه‌اندازی MPI
  • مفاهیم پایه MPI: رتبه‌بندی، ارتباطات، گروه‌ها و کامونیکیشن‌ها
  • ارسال و دریافت پیام (Send/Receive)
  • عملیات جمعی (Collective Operations): پخش (Broadcast)، جمع (Reduce)، گِدر (Gather)، اسکَتِر (Scatter)
  • مدیریت خطا در MPI
  • بهینه‌سازی برنامه‌های MPI
  • دیباگینگ برنامه‌های MPI
  • استفاده از پروفایلرها برای تحلیل کارایی
  • بررسی الگوهای برنامه نویسی موازی رایج

مخاطبان دوره

این دوره برای افراد زیر مناسب است:

  • برنامه نویسانی که می‌خواهند وارد دنیای محاسبات موازی شوند
  • دانشجویان و محققانی که به دنبال حل مسائل پیچیده با استفاده از HPC هستند
  • مهندسانی که نیاز به بهینه‌سازی عملکرد نرم‌افزارهای خود دارند
  • هر کسی که علاقه‌مند به یادگیری MPI و HPC است

چرا این دوره را بگذرانیم؟

گذراندن این دوره مزایای بسیاری برای شما دارد:

  • افزایش مهارت‌های برنامه نویسی: با یادگیری MPI، مهارت‌های برنامه نویسی شما به طور چشمگیری افزایش می‌یابد. شما یاد می‌گیرید که چگونه برنامه‌های پیچیده را به صورت موازی طراحی و پیاده‌سازی کنید.
  • دستیابی به قدرت محاسباتی بالا: با استفاده از MPI، می‌توانید از قدرت پردازشی چندین پردازنده به طور همزمان بهره‌مند شوید و مسائل پیچیده را با سرعت بیشتری حل کنید.
  • فرصت‌های شغلی بیشتر: HPC یک زمینه رو به رشد است و تقاضا برای متخصصان MPI در حال افزایش است. با یادگیری MPI، می‌توانید فرصت‌های شغلی بیشتری را در این زمینه به دست آورید.
  • بهبود عملکرد نرم‌افزارها: با استفاده از MPI، می‌توانید عملکرد نرم‌افزارهای خود را به طور قابل توجهی بهبود بخشید و سرعت اجرای آن‌ها را افزایش دهید.
  • حل مسائل پیچیده: MPI به شما امکان می‌دهد تا مسائل پیچیده‌ای را که قبلاً غیرقابل حل بودند، با استفاده از قدرت محاسباتی HPC حل کنید.
  • یادگیری از متخصصان: این دوره توسط متخصصان باتجربه در زمینه HPC تدریس می‌شود که شما را در مسیر یادگیری MPI راهنمایی می‌کنند.
  • پشتیبانی و منتورینگ: در طول دوره، شما از پشتیبانی و منتورینگ متخصصان ما بهره‌مند خواهید شد و می‌توانید سوالات خود را از آن‌ها بپرسید.
  • شبکه‌سازی با سایر متخصصان: در این دوره، شما با سایر متخصصان HPC آشنا می‌شوید و می‌توانید با آن‌ها شبکه‌سازی کنید.
  • دریافت مدرک معتبر: پس از اتمام دوره، شما یک مدرک معتبر دریافت خواهید کرد که نشان‌دهنده مهارت شما در MPI است.

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

این دوره شامل 100 سرفصل جامع است که شما را با تمام جنبه‌های MPI آشنا می‌کند. در زیر به برخی از سرفصل‌های کلیدی اشاره می‌کنیم:

  • مقدمه ای بر محاسبات موازی
  • معماری کامپیوترهای موازی
  • انواع مدل های برنامه نویسی موازی
  • معرفی MPI و تاریخچه آن
  • نصب و پیکربندی MPI
  • اجرای برنامه های MPI
  • ساختار یک برنامه MPI
  • توابع اصلی MPI
  • ارتباط نقطه به نقطه (Point-to-Point Communication)
  • ارسال و دریافت بلوکه کننده و غیر بلوکه کننده
  • برچسب ها و کامونیکیشن
  • گروه ها و ارتباط دهندگان (Communicators)
  • توابع ارتباط جمعی (Collective Communication)
  • توزیع داده ها با Scatter
  • جمع آوری داده ها با Gather
  • جمع آوری همه داده ها با Allgather
  • پخش داده ها با Broadcast
  • محاسبات جمعی با Reduce
  • محاسبات جمعی روی تمام پردازنده ها با Allreduce
  • Prefix Sum
  • توابع تعریف نوع داده (Datatype)
  • آرایه های مشتق شده
  • ساخت نوع داده های سفارشی
  • مدیریت حافظه در MPI
  • بهینه سازی MPI
  • تشخیص گلوگاه ها
  • تکنیک های متعادل سازی بار
  • استفاده از پروفایلرها
  • دیباگینگ برنامه های MPI
  • استفاده از gdb برای دیباگینگ
  • ابزارهای دیباگینگ موازی
  • ارتباط همگام و غیر همگام
  • الگوریتم های مرتب سازی موازی
  • مرتب سازی ادغامی موازی
  • مرتب سازی سریع موازی
  • الگوریتم های جستجوی موازی
  • جستجوی باینری موازی
  • برنامه نویسی MPI با C
  • برنامه نویسی MPI با C++
  • برنامه نویسی MPI با Fortran
  • مثال های کاربردی MPI
  • حل معادلات دیفرانسیل با MPI
  • شبیه سازی دینامیک مولکولی با MPI
  • پردازش تصویر با MPI
  • یادگیری ماشین با MPI
  • و بسیاری سرفصل‌های دیگر...

همین حالا در دوره مقدماتی MPI ثبت نام کنید و به دنیای محاسبات سطح بالا قدم بگذارید!

📦 مجموعه شامل:

  • ✅ ویدیوهای فارسی
  • ✅ پادکست های صوتی فارسی
  • ✅ کتاب PDF فارسی
  • ✅ کتاب ۱۰۰۰ نکته فارسی خودمونی
  • ✅ کتاب ۱۰۰۰ نکته رسمی فارسی
  • ✅ کتاب ۱۰۰۰ پرسش و پاسخ ۴ گزینه ای فارسی
EXPRESS24 AUDIO EXPERIENCE
یادگیری را بشنوید؛ زندگی کنید
کتاب‌های صوتی و پادکست‌های آموزشی، راهی دلنشین برای کشف ایده‌های تازه، گسترش دانش و استفاده بهتر از لحظه‌های روزمره هستند.
دانش، الهام و تجربه؛ این بار با صدای زندگی
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفت‌وآمد هستید، قدم می‌زنید، استراحت می‌کنید یا کارهای روزمره‌تان را انجام می‌دهید. محتوای صوتی کمک می‌کند از این لحظه‌ها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفت‌وآمد، پیاده‌روی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربه‌ای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازه‌ای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایده‌های تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادت‌های شخصی‌تان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، می‌توانید داستان‌ها، آموزش‌ها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتاب‌ها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفت‌وگو، روایت، توضیح آموزشی یا مجموعه‌ای از قسمت‌های صوتی؛ مناسب برای کشف ایده‌ها و آشنایی با دیدگاه‌های گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاه‌های تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپ‌تاپ
با پخش‌کننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکته‌های مهم را یادداشت کنید یا پس از پایان شنیدن، آن‌ها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتاب‌های صوتی و پادکست‌های آموزشی، دنیای تازه‌ای از ایده‌ها، روایت‌ها و آموختنی‌ها را به لحظه‌های خود اضافه کنید.
کشف محصولات بیشتر در اکسپرس ۲۴
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرم‌افزار مورد استفاده بستگی دارد.
AUDIO PREVIEW
قبل از انتخاب، گوش کنید!
بخشی از سبک محتوای محصولات صوتی ما را بشنوید و با فضای آن آشنا شوید.
♫
نمونه صوتی از سبک محصولات صوتی ما
پیش‌نمایش کوتاهی از سبک پادکست های صوتی محصولات ما
پخش آنلاین
برای تجربه بهتر، می‌توانید از هدفون استفاده کنید.
تگ‌ها: CUDA Data Science Distributed computing High-Performance Computing HPC Message Passing Interface MPI OpenMP Parallel programming scalability برنامه نویسی موازی توزیع شده علم داده محاسبات علمی محاسبات موازی مقیاس پذیری

نظرات

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

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