دوره استفاده از فریمورکهای HPC در پایتون همراه با فلشکارت آموزشی — ارائه روی فلش مموری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره استفاده از فریمورکهای HPC در پایتون
موضوع کلی: برنامه نویسی
موضوع میانی: محاسبات سطح بالا (High-Performance Computing)
📋 سرفصلهای دوره
- 1. مقدمهای بر محاسبات سطح بالا (HPC)
- 2. چرا پایتون برای HPC؟ فرصتها و چالشها
- 3. آشنایی با Global Interpreter Lock (GIL) پایتون
- 4. شناسایی گلوگاههای عملکردی در کدهای پایتون
- 5. اندازهگیری عملکرد کد: استفاده از `timeit` و `cProfile`
- 6. مفاهیم پایه مدیریت حافظه در پایتون
- 7. ساختارهای داده کارآمد در پایتون برای عملکرد بالا
- 8. مفهوم Vectorization و اهمیت آن
- 9. نقش پایتون در محاسبات علمی و عددی
- 10. آمادهسازی محیط توسعه پایتون برای HPC
- 11. مبانی NumPy: آرایهها و انواع داده
- 12. ایجاد و دستکاری آرایهها در NumPy
- 13. ایندکسگذاری و برشزنی آرایههای NumPy
- 14. توابع جامع (UFuncs) در NumPy
- 15. قوانین Broadcasting و کاربردهای آن
- 16. عملیات جبر خطی با NumPy
- 17. عملیات پیشرفته آرایهای: تغییر شکل، ترکیب، تقسیم
- 18. بهینهسازی عملکرد با NumPy
- 19. کارایی حافظه در آرایههای NumPy
- 20. تعاملپذیری NumPy با سایر کتابخانهها
- 21. همزمانی (Concurrency) در مقابل موازیسازی (Parallelism)
- 22. انواع موازیسازی: Task Parallelism و Data Parallelism
- 23. معماریهای حافظه مشترک و مفاهیم آن
- 24. معماریهای حافظه توزیعشده و مفاهیم آن
- 25. قانون Amdahl و پیامدهای آن
- 26. قانون Gustafson برای مقیاسپذیری
- 27. تأخیر (Latency)، پهنای باند (Bandwidth) و توان عملیاتی (Throughput) در HPC
- 28. عملیات همزمان (Synchronous) در مقابل ناهمزمان (Asynchronous)
- 29. شرایط مسابقه (Race Conditions) و بنبستها (Deadlocks)
- 30. اصول سیستمهای توزیعشده
- 31. معرفی ماژول `threading`
- 32. ایجاد و مدیریت Thread ها
- 33. همگامسازی Thread ها: Locks, Semaphores, Events
- 34. معرفی ماژول `multiprocessing`
- 35. ایجاد و مدیریت Process ها
- 36. ارتباط بین Process ها (IPC): Queues و Pipes
- 37. استفاده از Process Pool ها با `multiprocessing.Pool`
- 38. مروری بر ماژول `concurrent.futures`
- 39. `ThreadPoolExecutor` برای وظایف با محدودیت CPU (با ملاحظات GIL)
- 40. `ProcessPoolExecutor` برای وظایف واقعاً موازی با محدودیت CPU
- 41. Dask چیست؟ یک کتابخانه محاسبات موازی انعطافپذیر
- 42. معماری Dask: Schedulers, Workers, Clients
- 43. Dask Delayed: ارزیابی تنبل توابع دلخواه
- 44. ساخت گرافهای وظیفه با Dask Delayed
- 45. Dask Bags: موازیسازی مجموعههای داده نامنظم
- 46. Dask Arrays: آرایههای N-بعدی بزرگتر از حافظه
- 47. عملیات Dask Array: شباهتها به NumPy
- 48. Dask DataFrames: مقیاسبندی workflowهای Pandas
- 49. عملیات Dask DataFrame: Grouping, Merging, Filtering
- 50. Dask Futures: ارسال وظایف ناهمزمان سطح پایین
- 51. سفارشیسازی گرافهای Dask
- 52. کلاستر محلی Dask: راهاندازی و استفاده
- 53. استقرار کلاسترهای توزیعشده Dask (مقدماتی)
- 54. اتصال به یک کلاستر Dask راه دور
- 55. داشبورد Dask: نظارت و اشکالزدایی
- 56. استراتژیهای تنظیم عملکرد Dask
- 57. Schedulers پیشرفته در Dask
- 58. تحمل خطا و پایداری در Dask
- 59. بهترین شیوهها برای توسعه با Dask
- 60. ادغام Dask با سایر کتابخانهها (مانند Scikit-learn)
- 61. مقدمهای بر معماریهای GPU و موازیسازی
- 62. مروری بر CUDA: Compute Unified Device Architecture
- 63. `Numba` برای کامپایل لحظهای (JIT) کدهای پایتون
- 64. استفاده از Decoratorها برای شتابدهی GPU با Numba (`@cuda.jit`)
- 65. نوشتن هستههای پایه CUDA با Numba
- 66. معرفی `CuPy`: آرایههای GPU سازگار با NumPy
- 67. ایجاد و دستکاری آرایههای CuPy
- 68. UFuncs در CuPy و مزایای عملکردی
- 69. تعاملپذیری `Numba-CUDA` و `CuPy`
- 70. معرفی اکوسیستم RAPIDS
- 71. `cuDF`: DataFrameهای شتابیافته با GPU (مشابه Pandas)
- 72. `cuML`: کتابخانه یادگیری ماشین شتابیافته با GPU
- 73. ادغام Dask با GPUها: `Dask-CUDA`
- 74. محاسبات GPU توزیعشده با Dask و RAPIDS
- 75. بهینهسازی مصرف حافظه GPU
- 76. `Joblib` برای Memoization ساده و وظایف Embarrassingly Parallel
- 77. معرفی `mpi4py`: رابط ارسال پیام (MPI) در پایتون
- 78. عملیات پایه MPI: `send`, `recv`, `bcast`, `reduce`
- 79. ارتباطات جمعی (Collective Communications) در `mpi4py`
- 80. الگوهای ارتباطی Point-to-Point با MPI
- 81. گروهها و Communicatorها در `mpi4py`
- 82. `Ray` برای پایتون توزیعشده و موازی: یک معرفی
- 83. Actors و Tasks در `Ray` برای مدیریت وضعیت
- 84. `Ray Data` برای پردازش داده در مقیاس بزرگ
- 85. `Cython` برای نوشتن افزونههای سریع C در پایتون
- 86. رابطبندی پایتون با کتابخانههای C/C++ با استفاده از `ctypes`
- 87. ویژگیهای پیشرفته Numba و Numba-Pro
- 88. I/O ناهمزمان با `asyncio` برای همزمانی
- 89. `PyTorch Distributed` برای HPC در یادگیری عمیق (معرفی کوتاه)
- 90. استراتژیهای توزیعشده TensorFlow (معرفی کوتاه)
- 91. آشنایی با کلاسترهای HPC و مدیران منابع (مانند Slurm)
- 92. ارسال Jobها به Slurm با اسکریپتهای پایتون
- 93. Containerization برای HPC قابل بازتولید: مبانی Docker
- 94. Singularity برای استقرار Containerها در HPC
- 95. معرفی خدمات HPC ابری (AWS, GCP, Azure)
- 96. مدیریت داده در محیطهای HPC (سیستمهای فایل اشتراکی، ذخیرهسازی شیء)
- 97. محکزنی (Benchmarking) برنامههای HPC
- 98. پروفایلسازی برنامههای پایتون توزیعشده
- 99. ملاحظات امنیتی در HPC
- 100. بهترین شیوهها برای مدیریت Workflow در HPC
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.