کتاب وکتوریزاسیون با Fortran در Cyber 200: هنر بهینه‌سازی کدهای علمی با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

وکتوریزاسیون با Fortran در Cyber 200: هنر بهینه‌سازی کدهای علمی وکتوریزاسیون با Fortran در Cyber 200: هنر بهینه‌سازی کدهای علمی معرفی دوره: از میراث Cyber 200 تا عصر محاسبات مدرن آیا می‌خواهید کدهای F...

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 87,488 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره وکتوریزاسیون با 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. برنامه‌نویسی وکتوری پیشرفته
تگ‌ها: Cyber 200 Fortran Fortran Programming High-Performance Computing Optimization Parallel programming scientific computing Vector Architectures Vectorization برنامه‌نویسی برداری برنامه‌نویسی موازی بهینه‌سازی کد محاسبات علمی معماری‌های برداری وکتوریزاسیون

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.