کتاب صوتی برنامهنویسی Fortran در ابرکامپیوترها: راهنمای عملی برای کارایی بینظیر
برنامهنویسی Fortran در ابرکامپیوترها: راهنمای عملی برای کارایی بینظیر برنامهنویسی Fortran در ابرکامپیوترها خانه درباره دوره چرا این دوره؟ همین حالا ثبتنام کنید و اولین قدم را به سوی متخصص شدن در H...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره برنامهنویسی Fortran در ابرکامپیوترها: راهنمای عملی برای کارایی بینظیر
موضوع کلی: محاسبات با عملکرد بالا (HPC)
موضوع میانی: توسعه نرمافزار Fortran برای سیستمهای HPC
📋 سرفصلهای دوره
- 1. مقدمهای بر محاسبات با عملکرد بالا (HPC) و ابرکامپیوترها
- 2. معماری ابرکامپیوترهای مدرن: نودها، پردازندهها، حافظه و شبکههای ارتباطی
- 3. چرا فرترن؟ تاریخچه، نقاط قوت و جایگاه آن در HPC
- 4. برپایی محیط توسعه: کامپایلرها (GFortran, Intel Fortran)، ویرایشگرها و ترمینال
- 5. اولین برنامه فرترن: کامپایل و اجرا بر روی یک سیستم HPC
- 6. ساختار اصلی یک برنامه فرترن مدرن
- 7. انواع داده ذاتی: Integer, Real, Complex, Logical, Character
- 8. تعریف متغیرها و ثوابت: اعلان صریح با IMPLICIT NONE
- 9. عملگرهای حسابی، رابطهای و منطقی
- 10. ساختارهای تصمیمگیری: بلوک IF-THEN-ELSEIF-ELSE
- 11. ساختار انتخاب: SELECT CASE
- 12. حلقههای تکرار: ساختار DO و کنترل آن
- 13. کنترل پیشرفته حلقهها: EXIT و CYCLE
- 14. آرایهها: تعریف، مقداردهی اولیه و ابعاد
- 15. عملیات بر روی کل آرایه: سینتکس آرایهای فرترن
- 16. برش آرایه (Array Slicing) و انتخاب زیرمجموعهها
- 17. سازندههای آرایه و توابع RESHAPE و SPREAD
- 18. ساختارهای WHERE و FORALL برای عملیات شرطی روی آرایهها
- 19. توابع ذاتی مهم برای محاسبات علمی (ریاضی، رشتهای و آرایهای)
- 20. رویهها (Procedures): توابع (Functions)
- 21. رویهها (Procedures): زیرروالها (Subroutines)
- 22. ارسال آرگومانها: INTENT و نحوه انتقال داده به رویهها
- 23. ماژولها (Modules): راهی برای کپسولهسازی داده و رویهها
- 24. ورودی و خروجی پایهای: دستورات READ و WRITE
- 25. ورودی و خروجی فرمتبندی شده و مشخصکنندههای فرمت
- 26. انواع داده مشتقه (Derived Types): معادل Struct در C
- 27. اشارهگرها (Pointers) و اهداف (Targets)
- 28. آرایههای تخصیصپذیر (Allocatable Arrays) و مدیریت حافظه پویا
- 29. کار با رشتههای کاراکتری پیشرفته
- 30. ویژگیهای شیءگرا: وراثت و توسعه نوع (Type Extension)
- 31. ویژگیهای شیءگرا: چندریختی (Polymorphism) و SELECT TYPE
- 32. اشارهگر به رویهها (Procedure Pointers)
- 33. تعامل با زبان C: ماژول ISO_C_BINDING
- 34. کار با فایلها: دستورات OPEN, CLOSE, INQUIRE
- 35. ورودی و خروجی بدون فرمت (دودویی) برای کارایی بالا
- 36. مبانی عملکرد: سلسله مراتب حافظه (رجیستر، کش، حافظه اصلی)
- 37. اهمیت محلیبودن دادهها (Data Locality): محلیبودن زمانی و مکانی
- 38. پرچمهای بهینهسازی کامپایلر (Optimization Flags)
- 39. چگونه گزارشهای بهینهسازی کامپایلر را بخوانیم؟
- 40. پروفایلسنجی (Profiling) کد: شناسایی نقاط داغ (Hotspots)
- 41. مبانی بهینهسازی حلقهها: بازکردن حلقه (Loop Unrolling)
- 42. بهینهسازی حلقهها: تعویض حلقه (Loop Interchange) و کاشیبندی (Tiling)
- 43. تأثیر چیدمان دادهها در حافظه: AoS در مقابل SoA
- 44. درونخطیسازی توابع (Function Inlining)
- 45. مقدمهای بر برداریسازی (Vectorization) و SIMD
- 46. چگونه کدی بنویسیم که توسط کامپایلر برداری شود؟
- 47. استفاده از دستورات کامپایلر (Compiler Directives) برای کنترل برداریسازی
- 48. اندازهگیری زمان اجرا: توابع CPU_TIME و SYSTEM_CLOCK
- 49. دقت محاسبات ممیز شناور و خطاهای رایج
- 50. مقدمهای بر موازیسازی حافظه مشترک و مدل برنامهنویسی OpenMP
- 51. شروع کار با OpenMP: ناحیههای موازی (PARALLEL/END PARALLEL)
- 52. ساختارهای اشتراک کار (Work-sharing): موازیسازی حلقههای DO
- 53. مدیریت دادهها در OpenMP: متغیرهای PRIVATE, SHARED, FIRSTPRIVATE
- 54. همگامسازی (Synchronization): دستور BARRIER و ناحیه CRITICAL
- 55. همگامسازی پیشرفته: دستورات ATOMIC و LOCKS
- 56. کاهش (Reduction): جمعآوری نتایج از تردها
- 57. موازیسازی مبتنی بر وظیفه (Task-based Parallelism) در OpenMP
- 58. خطاهای رایج در OpenMP: شرایط رقابتی (Race Conditions) و اشتراک کاذب (False Sharing)
- 59. مقدمهای بر موازیسازی حافظه توزیعشده و مدل پیامرسانی (MPI)
- 60. راهاندازی و خاتمه محیط MPI
- 61. ارتباط نقطه به نقطه (Point-to-Point): MPI_SEND و MPI_RECV
- 62. ارتباطات مسدودکننده (Blocking) در مقابل غیرمسدودکننده (Non-blocking)
- 63. ارتباطات جمعی (Collective): پخش داده با MPI_BCAST
- 64. ارتباطات جمعی: توزیع و جمعآوری داده با MPI_SCATTER و MPI_GATHER
- 65. ارتباطات جمعی: عملیات کاهش با MPI_REDUCE و MPI_ALLREDUCE
- 66. ارتباطدهندهها (Communicators) و گروههای پردازشی
- 67. انواع داده مشتقه در MPI برای ارسال ساختارهای پیچیده
- 68. توپولوژیهای مجازی: شبکههای دکارتی
- 69. مقدمهای بر ورودی/خروجی موازی با MPI-IO
- 70. مفاهیم پیشرفته MPI: ارتباطات یکطرفه (RMA)
- 71. اشکالزدایی (Debugging) برنامههای MPI
- 72. تنظیمات عملکرد برای ارتباطات MPI
- 73. مقدمهای بر برنامهنویسی هیبریدی (MPI + OpenMP)
- 74. سطوح پشتیبانی از ترد در MPI
- 75. الگوهای رایج برنامهنویسی هیبریدی
- 76. ملاحظات عملکردی و تنظیم مدلهای هیبریدی
- 77. مقدمهای بر شتابدهندهها: معماری GPU
- 78. مدل برنامهنویسی فضای آدرس سراسری افرازشده (PGAS)
- 79. مقدمهای بر فرترن همآرایه (Coarray Fortran)
- 80. تعریف و استفاده از همآرایهها (Coarrays)
- 81. همگامسازی در همآرایهها: SYNC ALL و SYNC IMAGES
- 82. عملیات جمعی و اتمی در همآرایهها
- 83. برنامهنویسی مبتنی بر دستور برای GPU: مقدمهای بر OpenACC
- 84. مدیریت داده در OpenACC: انتقال داده بین میزبان و دستگاه
- 85. حلقههای موازی و کرنلها در OpenACC
- 86. مقدمهای بر آفلود کردن به GPU با OpenMP Target
- 87. استفاده از کتابخانههای علمی: BLAS (Basic Linear Algebra Subprograms)
- 88. استفاده از کتابخانههای علمی: LAPACK (Linear Algebra Package)
- 89. کتابخانههای ریاضی موازی: ScaLAPACK
- 90. کتابخانههای تبدیل فوریه سریع (FFT): FFTW
- 91. کتابخانههای ورودی/خروجی با عملکرد بالا: HDF5 و NetCDF
- 92. ابزارهای پروفایلسنجی پیشرفته برای کدهای موازی
- 93. ابزارهای اشکالزدایی موازی
- 94. آشنایی با سیستمهای فایل موازی در ابرکامپیوترها
- 95. نحوه ارسال و مدیریت کارها (Jobs) در زمانبندهای HPC (مانند Slurm)
- 96. مطالعه موردی: حل یک سیستم معادلات خطی متراکم به صورت موازی
- 97. مطالعه موردی: شبیهسازی معادله حرارت در دو بعد
- 98. تکنیکهای بهینهسازی حافظه نهان (Cache-aware Optimization)
- 99. تکنیک پیشواکشی نرمافزاری (Software Prefetching)
- 100. بهینهسازی عملکرد ورودی/خروجی (I/O Performance Tuning)
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
Fortran
Fortran Programming
Fortran Tutorial
High-Performance Computing
HPC
HPC Guide
Numerical Analysis
Parallel programming
performance optimization
scientific computing
Supercomputer
Supercomputing
برنامهنویسی موازی
کارایی بالا
محاسبات علمی
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.