اپلیکیشن اندرویدی فلشکارت آموزشی وکتوریزاسیون با Fortran در Cyber 200: هنر بهینهسازی کدهای علمی
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره وکتوریزاسیون با Fortran در Cyber 200: هنر بهینهسازی کدهای علمی
موضوع کلی: برنامهنویسی موازی و برداری
موضوع میانی: بهینهسازی کد برای معماریهای برداری
📋 سرفصلهای دوره
- 1. مبانی کامپیوترهای برداری
- 2. معماری Cyber 200
- 3. چرایی وکتوریزاسیون
- 4. مفاهیم برنامه نویسی موازی
- 5. مبانی Fortran
- 6. انواع دستورات Fortran
- 7. ساختار برنامه Fortran
- 8. متغیرها و انواع داده در Fortran
- 9. آرایهها در Fortran
- 10. عملگرها در Fortran
- 11. دستورات کنترلی در Fortran
- 12. حلقهها در Fortran
- 13. توابع و رویهها در Fortran
- 14. مدیریت ورودی/خروجی در Fortran
- 15. کتابخانههای استاندارد Fortran
- 16. نکات عیب یابی در Fortran
- 17. کامپایلرهای Fortran
- 18. مفاهیم بهینه سازی کد
- 19. تحلیل عملکرد کد
- 20. مفهوم Bottleneck
- 21. روشهای ساده بهینه سازی
- 22. دستورات برداری (Vector Instructions)
- 23. رجیسترهای برداری (Vector Registers)
- 24. واحد اجرای برداری (Vector Execution Unit)
- 25. مبانی SIMD
- 26. تفاوت SIMD و MIMD
- 27. تکنیکهای وکتوریزاسیون دستی
- 28. توسعه آرایهای (Array Expansion)
- 29. تفسیر حلقهها (Loop Unrolling)
- 30. حذف کد تکراری (Code Motion)
- 31. بازآرایی حافظه (Memory Layout)
- 32. دستورات برداری در Fortran
- 33. توابع کتابخانهای برداری
- 34. استفاده از توابع BLAS
- 35. استفاده از توابع LAPACK
- 36. تکنیکهای خودکار وکتوریزاسیون کامپایلر
- 37. راهنمایی کامپایلر برای وکتوریزاسیون
- 38. پروفایلینگ برای شناسایی فرصتهای وکتوریزاسیون
- 39. استفاده از ابزارهای پروفایلینگ Cyber 200
- 40. تحلیل گزارشهای پروفایلینگ
- 41. بهینه سازی حلقههای اصلی
- 42. مدیریت وابستگی داده (Data Dependencies)
- 43. وابستگی جریان (Flow Dependencies)
- 44. وابستگی خروجی (Output Dependencies)
- 45. وابستگی ضد (Anti Dependencies)
- 46. وابستگی true (True Dependencies)
- 47. تشخیص و مدیریت وابستگیها
- 48. حلقههای قابل وکتوریزاسیون
- 49. حلقههای غیر قابل وکتوریزاسیون
- 50. چالشهای وکتوریزاسیون آرایهها
- 51. پوششدهی عناصر (Element Masking)
- 52. تقسیمبندی آرایهها (Array Partitioning)
- 53. استفاده از دستورات برداری شرطی
- 54. دستورات جمعکننده برداری (Vector Reduction Instructions)
- 55. عملیات جمعبندی (Reduction Operations)
- 56. حسابهای برداری (Vector Accumulation)
- 57. پشتیبانی سختافزاری از دستورات برداری
- 58. عملکرد دستورات برداری
- 59. تاثیر اندازه وکتور بر عملکرد
- 60. بهینه سازی دسترسی به حافظه
- 61. الگوهای دسترسی به حافظه (Memory Access Patterns)
- 62. دسترسی منظم (Strided Access)
- 63. دسترسی نامنظم (Gather/Scatter)
- 64. کاهش دسترسی نامنظم
- 65. استفاده از حافظه نهان (Cache)
- 66. مدیریت خطوط حافظه (Cache Lines)
- 67. بهینه سازی برای سطوح مختلف حافظه نهان
- 68. پوششدهی با حافظه نهان (Cache Blocking)
- 69. مدیریت حافظه در Cyber 200
- 70. تخصیص حافظه دینامیک
- 71. استفاده از اشارهگرها
- 72. تکنیکهای پیشرفته وکتوریزاسیون
- 73. وکتوریزاسیون حلقههای تو در تو (Nested Loops)
- 74. استراتژیهای وکتوریزاسیون حلقههای تو در تو
- 75. تکنیکهای بازآرایی حلقهها (Loop Transformation)
- 76. جابجایی حلقهها (Loop Permutation)
- 77. ترکیب حلقهها (Loop Fusion)
- 78. تفکیک حلقهها (Loop Fission)
- 79. تغییر مقیاس حلقهها (Loop Tiling)
- 80. بهینه سازی توابع و رویهها
- 81. پاس دادن آرایهها به توابع
- 82. تکنیکهای inline کردن توابع
- 83. مدیریت توابع کتابخانهای خارجی
- 84. برنامه نویسی برداری برای محاسبات علمی
- 85. کاربرد در جبر خطی عددی
- 86. کاربرد در حل معادلات دیفرانسیل
- 87. کاربرد در پردازش سیگنال
- 88. کاربرد در شبیهسازیهای علمی
- 89. بهینه سازی کد برای معماریهای خاص Cyber 200
- 90. تفاوت معماریهای برداری مختلف
- 91. تنظیمات کامپایلر خاص Cyber 200
- 92. نکات عملی برای وکتوریزاسیون
- 93. مثالهای عملی وکتوریزاسیون
- 94. مطالعات موردی (Case Studies)
- 95. تجزیه و تحلیل کدهای واقعی
- 96. اشتباهات رایج در وکتوریزاسیون
- 97. عیب یابی مشکلات وکتوریزاسیون
- 98. مقایسه عملکرد قبل و بعد از وکتوریزاسیون
- 99. روشهای اندازهگیری دقیق عملکرد
- 100. برنامهنویسی وکتوری پیشرفته
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.