دوره بهینهسازی پردازش و تحلیل دادههای حجیم علمی همراه با فلشکارت آموزشی — ارائه روی فلش مموری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره بهینهسازی پردازش و تحلیل دادههای حجیم علمی
موضوع کلی: برنامه نویسی
موضوع میانی: محاسبات سطح بالا (High-Performance Computing)
📋 سرفصلهای دوره
- 1. مقدمهای بر محاسبات سطح بالا (HPC) و دادههای حجیم علمی
- 2. تاریخچه و سیر تکاملی ابرکامپیوترها
- 3. معماری سختافزار: پردازنده، حافظه، و ورودی/خروجی
- 4. سلسله مراتب حافظه: از رجیستر تا دیسک
- 5. مفاهیم بنیادی موازیسازی: Task و Data Parallelism
- 6. طبقهبندی فلین (SISD, SIMD, MISD, MIMD)
- 7. قانون امدال و قانون گوستافسون: محدودیتها و پتانسیلهای موازیسازی
- 8. تحلیل پیچیدگی الگوریتم و نماد Big O
- 9. آشنایی با محیط لینوکس و ترمینال برای HPC
- 10. ابزارهای ضروری خط فرمان: SSH, SCP, Bash Scripting
- 11. کامپایلرها و پرچمهای بهینهسازی (GCC, Intel Compilers)
- 12. سیستمهای ساخت (Build Systems): Make و CMake
- 13. ابزارهای پروفایلینگ مقدماتی: gprof و time
- 14. آشنایی با یک مسئله نمونه علمی (مثلاً شبیهسازی دینامیک مولکولی)
- 15. استراتژیهای مدیریت و نمایش دادههای علمی
- 16. زبانهای برنامهنویسی در HPC: C++, Fortran و نقش Python
- 17. تأثیر انواع داده (Data Types) بر عملکرد
- 18. چیدمان داده در حافظه: Row-Major در مقابل Column-Major
- 19. اشارهگرها، ارجاعها و مشکل Aliasing (کلیدواژه restrict)
- 20. برنامهنویسی آگاه از کش (Cache-Aware Programming)
- 21. اصل محلی بودن ارجاع (Locality of Reference)
- 22. انواع خطاهای کش (Cache Misses) و راههای کاهش آن
- 23. بهینهسازی حلقهها: Loop Unrolling
- 24. بهینهسازی حلقهها: Loop Fusion و Fission
- 25. بهینهسازی حلقهها: Loop Tiling (Blocking)
- 26. مفهوم برداریسازی (Vectorization) و SIMD
- 27. استفاده از توابع ذاتی (Intrinsics) برای AVX و SSE
- 28. بررسی گزارش کامپایلر برای بهینهسازی و برداریسازی
- 29. تراز کردن حافظه (Memory Alignment) و تأثیر آن
- 30. بهینهسازی توابع: Inlining و کاهش سربار فراخوانی
- 31. مدل برنامهنویسی حافظه مشترک (Shared Memory)
- 32. تفاوت فرآیند (Process) و نخ (Thread)
- 33. مقدمهای بر OpenMP: یک مدل سطح بالا برای Threading
- 34. دستورالعملهای پایهای OpenMP: parallel, for, sections
- 35. مدیریت متغیرها در OpenMP: private, shared, firstprivate
- 36. همگامسازی (Synchronization): critical, atomic, barrier
- 37. مفهوم Race Condition و راههای جلوگیری از آن
- 38. دستورالعملهای زمانبندی حلقه (Loop Scheduling): static, dynamic, guided
- 39. عملیات کاهش (Reduction Operations) در OpenMP
- 40. مدل Task-based parallelism در OpenMP
- 41. بهینهسازی عملکرد در OpenMP: مشکل False Sharing
- 42. تودرتو کردن موازیسازی (Nested Parallelism)
- 43. پروفایلینگ و دیباگ کردن برنامههای OpenMP
- 44. یکپارچهسازی OpenMP با کدهای ترتیبی
- 45. مطالعه موردی: موازیسازی یک الگوریتم ماتریسی با OpenMP
- 46. مدل برنامهنویسی حافظه توزیعشده (Distributed Memory)
- 47. معماری کلاسترها و شبکههای اتصال (Interconnects)
- 48. مقدمهای بر رابط ارسال پیام (Message Passing Interface - MPI)
- 49. راهاندازی محیط MPI و اجرای اولین برنامه
- 50. ارتباطات نقطه به نقطه (Point-to-Point): Send و Recv
- 51. ارتباطات مسدودکننده (Blocking) در مقابل غیرمسدودکننده (Non-blocking)
- 52. ارتباطات جمعی (Collective): Broadcast و Scatter/Gather
- 53. عملیات کاهش جمعی (Collective Reduction): Reduce و Allreduce
- 54. انواع داده مشتقشده (Derived Datatypes) در MPI
- 55. گروهها و ارتباطدهندهها (Communicators) در MPI
- 56. استراتژیهای تجزیه دامنه (Domain Decomposition)
- 57. الگوی تبادل هاله (Halo/Ghost Cell Exchange)
- 58. توازن بار (Load Balancing) در برنامههای MPI
- 59. توپولوژیهای مجازی در MPI
- 60. پروفایلینگ و دیباگ کردن برنامههای MPI
- 61. مقدمهای بر ورودی/خروجی موازی (Parallel I/O)
- 62. چالشهای I/O در مقیاس بزرگ
- 63. استفاده از MPI-IO برای عملیات ورودی/خروجی بهینه
- 64. سیستمهای فایل موازی (Lustre, GPFS)
- 65. مطالعه موردی: حل یک معادله دیفرانسیل با MPI
- 66. معماری GPU در مقابل CPU: چرا از شتابدهندهها استفاده میکنیم؟
- 67. مقدمهای بر مدل برنامهنویسی CUDA
- 68. مدل اجرایی CUDA: گرید، بلاک، و نخ (Grid, Block, Thread)
- 69. مدل حافظه CUDA: Global, Shared, Constant
- 70. نوشتن و اجرای اولین کرنل (Kernel) در CUDA
- 71. انتقال داده بین میزبان (Host) و دستگاه (Device)
- 72. بهینهسازی دسترسی به حافظه Global: Coalesced Access
- 73. استفاده از حافظه مشترک (Shared Memory) برای افزایش کارایی
- 74. همگامسازی نخها در یک بلاک
- 75. مشکل واگرایی نخها (Thread Divergence)
- 76. عملیات اتمیک (Atomic Operations) در CUDA
- 77. استفاده از کتابخانههای CUDA: cuBLAS, cuFFT
- 78. ابزارهای پروفایلینگ NVIDIA: Nsight Systems و Nsight Compute
- 79. برنامهنویسی برای چندین GPU
- 80. مقدمهای بر OpenACC: یک رویکرد مبتنی بر دایرکتیو
- 81. شتابدهی کد با دایرکتیوهای OpenACC
- 82. مدیریت داده در OpenACC
- 83. مقدمهای بر OpenCL به عنوان یک استاندارد باز
- 84. مقایسه مدلهای برنامهنویسی: CUDA, OpenACC, OpenCL
- 85. مطالعه موردی: شتابدهی پردازش تصویر با GPU
- 86. مدل برنامهنویسی ترکیبی (Hybrid): MPI + OpenMP
- 87. مدل برنامهنویسی ترکیبی: MPI + CUDA/OpenACC
- 88. استفاده از پایتون در HPC: NumPy, SciPy, Cython
- 89. کتابخانههای پایتون برای محاسبات موازی: Dask و Numba
- 90. فرمتهای داده علمی پیشرفته: HDF5 و NetCDF
- 91. ابزارهای پیشرفته تحلیل عملکرد: Score-P, TAU, Vampir
- 92. دیباگ کردن برنامههای موازی در مقیاس بزرگ
- 93. دقت عددی و محاسبات ممیز شناور
- 94. مدیریت وابستگیها و محیطهای نرمافزاری (Spack, Conda)
- 95. کانتینرسازی برای HPC: Singularity و Docker
- 96. سیستمهای مدیریت صف و زمانبندی کار (Slurm, PBS)
- 97. نوشتن اسکریپتهای ارسال کار (Job Submission Scripts)
- 98. بازتولیدپذیری (Reproducibility) در محاسبات علمی
- 99. کاربرد HPC در یادگیری ماشین و هوش مصنوعی
- 100. روندهای آینده: محاسبات اگزامقیاس (Exascale) و معماریهای نوین
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.