دوره برنامهنویسی پیشرفته موازی: تسلط بر معماریهای هیبریدی (CPU + GPU) همراه با فلشکارت آموزشی — ارائه روی فلش مموری
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب برنامهنویسی پیشرفته موازی: تسلط بر معماریهای هیبریدی (CPU + GPU)
موضوع کلی: محاسبات با کارایی بالا (High-Performance Computing)
موضوع میانی: برنامهنویسی موازی برای معماریهای مدرن
📋 سرفصلهای کتاب (100 موضوع)
- 1. مبانی محاسبات با کارایی بالا (HPC)
- 2. معماریهای موازی: مقدمه
- 3. معماریهای چند هستهای و بسیاری هستهای
- 4. معماریهای هیبریدی CPU+GPU
- 5. مروری بر مدلهای برنامهنویسی موازی
- 6. مقدمهای بر MPI (Message Passing Interface)
- 7. نصب و پیکربندی محیط MPI
- 8. برنامهنویسی MPI: توابع پایه (Send/Receive)
- 9. ارتباطات نقطهبهنقطه در MPI
- 10. ارتباطات جمعی در MPI (Broadcast, Gather, Scatter)
- 11. عملگرهای کاهشی در MPI (Reduce, Allreduce)
- 12. مدیریت گروهها و ارتباط دهندهها در MPI
- 13. مفهوم و کاربرد توپولوژی در MPI
- 14. بهینهسازی ارتباطات MPI
- 15. مقدمهای بر OpenMP (Open Multi-Processing)
- 16. مدیریت Threadها در OpenMP
- 17. ساختارهای کنترلی موازی در OpenMP (Parallel For, Sections)
- 18. متغیرهای Private و Shared در OpenMP
- 19. هماهنگسازی Threadها در OpenMP (Locks, Barriers)
- 20. استراتژیهای زمانبندی حلقه در OpenMP (Scheduling)
- 21. بهینهسازی OpenMP: کاهش سربار
- 22. مقدمهای بر CUDA (Compute Unified Device Architecture)
- 23. معماری GPU: هستهها و بلاکها
- 24. انتقال داده بین CPU و GPU
- 25. نوشتن Kernelهای CUDA
- 26. مدیریت Thread و Block در CUDA
- 27. حافظه در CUDA: Global, Shared, Constant, Texture
- 28. همگامسازی Threadها در CUDA
- 29. بهینهسازی CUDA: ادغام حافظه
- 30. بهینهسازی CUDA: پوشش تاخیر
- 31. بهینهسازی CUDA: استفاده از Shared Memory
- 32. بهینهسازی CUDA: استفاده از Constant Memory
- 33. بهینهسازی CUDA: استفاده از Texture Memory
- 34. پروفایلگیری و دیباگ CUDA
- 35. ترکیب MPI و OpenMP: برنامهنویسی هیبریدی
- 36. برنامهنویسی هیبریدی: توزیع وظایف بین گرهها و هستهها
- 37. برنامهنویسی هیبریدی: بهینهسازی ارتباطات
- 38. برنامهنویسی هیبریدی: مدیریت داده
- 39. ترکیب MPI و CUDA: محاسبات GPU توزیع شده
- 40. نصب و پیکربندی محیط MPI برای CUDA
- 41. ارسال و دریافت داده بین گرهها با GPU
- 42. برنامهنویسی هیبریدی MPI+CUDA: کاربردها
- 43. مقدمهای بر OpenACC (Open Accelerators)
- 44. کامپایلرها و Directiveهای OpenACC
- 45. سادهسازی برنامهنویسی GPU با OpenACC
- 46. انتقال داده خودکار در OpenACC
- 47. بهینهسازی OpenACC
- 48. مقدمهای بر Chapel
- 49. مقدمهای بر Julia
- 50. الگوریتمهای مرتبسازی موازی (Parallel Sorting)
- 51. الگوریتمهای جستجوی موازی (Parallel Searching)
- 52. ضرب ماتریس موازی (Parallel Matrix Multiplication)
- 53. حل معادلات دیفرانسیل جزئی موازی (Parallel PDE Solvers)
- 54. شبیهسازی مونتکارلو موازی (Parallel Monte Carlo Simulation)
- 55. پردازش تصویر موازی (Parallel Image Processing)
- 56. پردازش ویدئو موازی (Parallel Video Processing)
- 57. تحلیل دادههای بزرگ موازی (Parallel Big Data Analytics)
- 58. یادگیری ماشین موازی (Parallel Machine Learning)
- 59. شبکههای عصبی عمیق موازی (Parallel Deep Neural Networks)
- 60. استفاده از کتابخانههای بهینهسازی شده (BLAS, LAPACK)
- 61. ابزارهای پروفایلگیری و تحلیل عملکرد (Performance Analysis Tools)
- 62. مقایسه کارایی معماریهای CPU و GPU
- 63. بهینهسازی مصرف انرژی در HPC
- 64. مدیریت منابع در HPC
- 65. زمانبندی کارها در HPC
- 66. سیستمهای فایل موازی (Parallel File Systems)
- 67. مفاهیم حافظه Cache
- 68. بهینهسازی استفاده از Cache
- 69. تکنیکهای Vectorization
- 70. برنامهنویسی SIMD
- 71. استفاده از Intel AVX
- 72. برنامهنویسی GPU با OpenCL
- 73. مقایسه CUDA و OpenCL
- 74. مدیریت خطا در برنامههای موازی
- 75. دیباگ برنامههای موازی
- 76. مقدمهای بر Fault Tolerance در HPC
- 77. طراحی الگوریتمهای تحملپذیر خطا
- 78. معماریهای جدید HPC (Neuromorphic Computing, Quantum Computing)
- 79. برنامهنویسی برای معماریهای Neuromorphic
- 80. مقدمهای بر محاسبات کوانتومی
- 81. کاربردهای محاسبات کوانتومی در HPC
- 82. مقدمهای بر Data Locality
- 83. بهینهسازی Data Layout
- 84. بهینهسازی Memory Access Patterns
- 85. مقدمهای بر Communication Avoiding Algorithms
- 86. الگوریتمهای Distributed Memory
- 87. مقدمهای بر Shared Memory Programming Models
- 88. بهینهسازی Shared Memory Access
- 89. تکنیکهای Asynchronous Programming
- 90. استفاده از Streams در CUDA
- 91. استفاده از Futures و Promises
- 92. مقدمهای بر Domain Decomposition
- 93. تکنیکهای Load Balancing
- 94. مقدمهای بر Scaling
- 95. Strong Scaling vs. Weak Scaling
- 96. قانون امداهل (Amdahl's Law)
- 97. قانون گوستافسون (Gustafson's Law)
- 98. مدیریت وابستگیها در برنامههای موازی
- 99. استفاده از ابزارهای مدیریت وابستگی
- 100. مقدمهای بر Task-Based Parallelism
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.