آموزش راهنمای جامع برنامه‌نویسی موازی و همزمان در پایتون - آخرین آپدیت

دانلود Complete Guide to Parallel and Concurrent Programming in Python

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: برنامه‌نویسی موازی قابلیت اجرای همزمان چندین دستورالعمل را به برنامه می‌بخشد، بازده کلی پردازش را افزایش می‌دهد و کلید نوشتن اپلیکیشن‌های سریع‌تر و بهینه‌تر است. در این دوره، به همراه مدرسان، بارون و اولیویا چیوس‌تون، با مبانی برنامه‌نویسی موازی در پایتون آشنا شوید و دانش بنیادی لازم برای نوشتن کدهای با کارایی بالا و بهینه را کسب کنید. بارون و اولیویا مفاهیمی مانند Threading و Mutual Exclusion را به روشی جذاب و آموزنده و با مرتبط کردن آن‌ها به فعالیت‌های روزمره در آشپزخانه توضیح می‌دهند. برای تثبیت ایده‌ها، آن‌ها این مفاهیم را با استفاده از پایتون به صورت عملی نمایش می‌دهند. هر درس کوتاه و کاربردی است و تئوری‌ها را با تکنیک‌های عملی پیاده‌سازی می‌کند.

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

مقدمه Introduction

  • آنچه باید بدانید What you should know

  • یادگیری مبانی برنامه‌نویسی موازی Learn parallel programming basics

  • فایل‌های تمرینی Exercise files

1. سخت‌افزار محاسبات موازی 1. Parallel Computing Hardware

  • محاسبات متوالی در مقابل موازی Sequential vs. parallel computing

  • حافظه مشترک در مقابل توزیع‌شده Shared vs. distributed memory

  • معماری‌های محاسبات موازی Parallel computing architectures

2. تردها و پروسس‌ها 2. Threads and Processes

  • ترد دیمون (Daemon thread) Daemon thread

  • زمان‌بندی اجرا: دمو پایتون Execution scheduling: Python demo

  • زمان‌بندی اجرا Execution scheduling

  • پروسس‌های متعدد: دمو پایتون Multiple processes: Python demo

  • چرخه حیات ترد Thread lifecycle

  • چرخه حیات ترد: دمو پایتون Thread lifecycle: Python demo

  • ترد دیمون: دمو پایتون Daemon thread: Python demo

  • اجرای همزمان در مقابل موازی Concurrent vs. parallel execution

  • قفل مفسر جهانی (GIL): دمو پایتون Global interpreter lock: Python demo

  • ترد در مقابل پروسس Thread vs. process

  • تردهای متعدد: دمو پایتون Multiple threads: Python demo

3. انحصار متقابل (Mutual Exclusion) 3. Mutual Exclusion

  • رقابت داده‌ها (Data race): دمو پایتون Data race: Python demo

  • رقابت داده‌ها Data race

  • انحصار متقابل: دمو پایتون Mutual exclusion: Python demo

  • انحصار متقابل Mutual exclusion

4. قفل‌ها (Locks) 4. Locks

  • تلاش برای قفل (Try lock) Try lock

  • قفل بازگشتی (Reentrant lock) Reentrant lock

  • تصاحب غیرمسدودکننده: دمو پایتون Non-blocking acquire: Python demo

  • قفل خواندن-نوشتن Read-write lock

  • RLock: دمو پایتون RLock: Python demo

  • قفل خواندن-نوشتن: دمو پایتون Read-write lock: Python demo

5. زنده‌مانی (Liveness) 5. Liveness

  • قفل زنده (Livelock) Livelock

  • گرسنگی (Starvation) Starvation

  • قفل رها شده Abandoned lock

  • قفل زنده: دمو پایتون Livelock: Python demo

  • قفل رها شده: دمو پایتون Abandoned lock: Python demo

  • بن‌بست (Deadlock): دمو پایتون Deadlock: Python demo

  • بن‌بست Deadlock

  • گرسنگی: دمو پایتون Starvation: Python demo

6. همگام‌سازی (Synchronization) 6. Synchronization

  • تردهای تولیدکننده-مصرف‌کننده: دمو پایتون Producer-consumer threads: Python demo

  • سمافور (Semaphore) Semaphore

  • متغیر شرطی: دمو پایتون Condition variable: Python demo

  • متغیر شرطی Condition variable

  • پروسس‌های تولیدکننده-مصرف‌کننده: دمو پایتون Producer-consumer processes: Python demo

  • سمافور: دمو پایتون Semaphore: Python demo

  • تولیدکننده-مصرف‌کننده Producer-consumer

7. موانع (Barriers) 7. Barriers

  • مانع (Barrier): دمو پایتون Barrier: Python demo

  • مانع Barrier

  • شرایط رقابتی (Race condition) Race condition

  • شرایط رقابتی: دمو پایتون Race condition: Python demo

8. وظایف ناهمزمان (Asynchronous Tasks) 8. Asynchronous Tasks

  • استخر پروسس (Process pool): دمو پایتون Process pool: Python demo

  • گراف محاسباتی Computational graph

  • استخر ترد (Thread pool): دمو پایتون Thread pool: Python demo

  • تقسیم و فتح (Divide and conquer) Divide and conquer

  • آینده (Future): دمو پایتون Future: Python demo

  • استخر ترد Thread pool

  • تقسیم و فتح: دمو پایتون Divide and conquer: Python demo

  • آینده Future

9. ارزیابی عملکرد موازی 9. Evaluating Parallel Performance

  • اندازه‌گیری شتاب (Speedup) Measure speedup

  • قانون آم‌دال Amdahl's law

  • شتاب، تاخیر و بازده Speedup, latency, and throughput

  • اندازه‌گیری شتاب: دمو پایتون Measure speedup: Python demo

10. طراحی برنامه‌های موازی 10. Designing Parallel Programs

  • تجمع (Agglomeration) Agglomeration

  • نگاشت (Mapping) Mapping

  • ارتباطات Communication

  • بخش‌بندی (Partitioning) Partitioning

11. مسائل چالشی 11. Challenge Problems

  • چالش: ضرب ماتریس در پایتون Challenge: Matrix multiply in Python

  • چالش: مرتب‌سازی ادغامی در پایتون Challenge: Merge sort in Python

  • چالش: دانلود تصاویر در پایتون Challenge: Download images in Python

  • راه حل: دانلود تصاویر در پایتون Solution: Download images in Python

  • راه حل: مرتب‌سازی ادغامی در پایتون Solution: Merge sort in Python

  • به بخش چالش‌ها خوش آمدید Welcome to the challenges

  • راه حل: ضرب ماتریس در پایتون Solution: Matrix multiply in Python

جمع‌بندی Conclusion

  • منابع تکمیلی Additional resources

  • گام‌های بعدی Next steps

نمایش نظرات

آموزش راهنمای جامع برنامه‌نویسی موازی و همزمان در پایتون
جزییات دوره
5h 27m
71
(آخرین آپدیت)
12,674
- از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Olivia Chiu Stone Olivia Chiu Stone

برنامه نویس ، مهندس اولیویا چیو یک برنامه نویس و مهندس است که همیشه علاقه به یادگیری نحوه کار همه چیز را داشته است.

اولیویا لیسانس خود را در رشته فیزیک مهندسی از دانشگاه کوئین و کارشناسی ارشد خود را در رشته مهندسی مکانیک از دانشگاه مک گیل دریافت کرد. پس از دانشگاه ، او چندین سال در LabVIEW و C # به عنوان توسعه دهنده در National Instruments برنامه نویسی کرد تا اینکه مدیر پروژه تیم توسعه NI VeriStand شود. خارج از کار ، اولیویا علاقه زیادی به آموزش و تشویق دانش آموزان دارد و وقت خود را به پرورش نسل بعدی مهندسان ما اختصاص می دهد.

Barron Stone Barron Stone

مهندس برق Barron Stone یک مهندس برق است که هم در سخت افزار دیجیتال سطح پایین و هم در نرم افزار سطح بالا تجربه کرده است.

وی لیسانس علوم مهندسی برق خود را از دانشگاه رایس و کارشناسی ارشد خود را در رشته مهندسی برق از نیروی هوایی بدست آورد. موسسه فناوری. او چندین سال را به عنوان مهندس برنامه های کاربردی و مهندس بازاریابی محصول در National Instruments گذراند و در آنجا محتوای بازاریابی و آموزشی را برای ابزارهای مدولار NI FlexRIO مستقر در FPGA توسعه داد. امروز ، بارون به عنوان یک افسر در نیروی هوایی ایالات متحده خدمت می کند.