Loading...

Unifying L1 Data Cache and Shared Memory in GPUs

Yousefzadeh-Asl-Miandoab, Ehsan | 2018

1878 Viewed
  1. Type of Document: M.Sc. Thesis
  2. Language: Farsi
  3. Document No: 51241 (19)
  4. University: Sharif University of Technology
  5. Department: Computer Engineering
  6. Advisor(s): Sarbazi Azad, Hamid
  7. Abstract:
  8. Graphics Processing Units (GPUs) employ a scratch-pad memory (a.k.a., shared memory) in each streaming multiprocessor to accelerate data sharing among the threads in a thread block and provide a software-managed cache for the programmers.However, we observe that about 60% of GPU workloads of several well-known benchmark suites do not use shared memory. Morever, among those workloads that use shared memory, about 42% of shared memory is not utilized, on average. On the other hand, we observe that many general purpose GPU applications suffer from the low hit rate and limited bandwidth of L1 data cache.We aim to use shared memory space and its corrsponding bandwidth for improving L1 data cache, while the shared memory is not utilized. Our key idea is to (1) map shared memory address space to off-chip memory, (2) use a unified L1 data cache for shared memory, global and local address spaces. To improve the hit rate of the cache for shared memory accesses, we attempt to keep each shared memory address in the cache throughout its lifetime. We observe that most of shared memory addresses have only one read after their first write.Therefore, we lock each shared memory address in the cache after its first write and unlock it after its first read. Our experimental results show an average 38% IPC improvement compared to the baseline architecture
  9. Keywords:
  10. Shared Memory ; Cache Memory ; General Purpose Graphic Processing Units (GPGPU) ; Graphic Processing ; Scratch Pad Memory (SPM) ; Reconfiguration

 Digital Object List

 Bookmark

  • 1 مقدمه
    • 1.1 تعریف مسأله
    • 1.2 راه‌حل پیشنهادی
    • 1.3 ساختار پایان‌نامه
  • 2 پیش‌زمینه
    • 2.1 تاریخچه‌ی پردازنده‌های گرافیکی
    • 2.2 معماری CUDA
    • 2.3 سلسله مراتب ریسمان
    • 2.4 ریزمعماری پردازنده‌های گرافیکی
    • 2.5 خط‌لوله‌ی پردازنده‌ی گرافیکی
    • 2.6 معماری SIMD و SIMT
    • 2.7 سامانه‌ی حافظه در پردازنده‌های گرافیکی
      • 2.7.1 عملیات حافظه‌ای واحد
      • 2.7.2 اصلاح خطا در حافظه
      • 2.7.3 واحد تجمیع درخواست‌های حافظه
    • 2.8 شبکه‌ی روی‌تراشه
    • 2.9 زمان‌بند
    • 2.10 اجرای هم‌زمان کد هسته‌ها
    • 2.11 پردازنده‌ی گرافیکی استفاده شده در این پژوهش
    • 2.12 جمع‌بندی
  • 3 کارهای پیشین
    • 3.1 ساختار یکپارچه‌ی حافظه‌ی مشترک و حافظه‌ی نهان سطح یک در ریزمعماری Fermi
    • 3.2 یکپارچه‌سازی حافظه‌ی نهان، حافظه‌ی چرک‌نویس و پوشه‌ی ثبات
    • 3.3 حافظه‌ی نهان شبیه‌سازی‌شده با کمک پوشه‌ی ثبات
    • 3.4 سایر پژوهش‌های مرتبط
      • 3.4.1 دور زدن حافظه‌ی نهان سطح یک داده در پردازنده‌های گرافیکی
      • 3.4.2 محدود کردن توازی در سطح ریسمان در پردازنده‌های گرافیکی
      • 3.4.3 افراز کردن حافظه‌ی نهان میان چندین بارکاری
      • 3.4.4 قفل‌کردن داده‌ها در حافظه‌ی نهان
    • 3.5 جمع‌بندی
  • 4 روش پیشنهادی
    • 4.1 انگیزه
      • 4.1.1 الگوی بهره‌برداری و دسترسی به حافظه‌ی مشترک
      • 4.1.2 الگوهای مناسب بهره‌برداری از حافظه‌ی مشترک
      • 4.1.3 ظهور دستور shuffle
    • 4.2 معماری پیشنهادی
      • 4.2.1 یکپارچه‌سازی حافظه‌ی نهان سطح یک داده و حافظه‌ی مشترک
      • 4.2.2 قفل کردن داده‌های حافظه‌ی مشترک در حافظه‌ی نهان
    • 4.3 تحلیل سربار روش پیشنهادی
    • 4.4 جمع‌بندی
  • 5 متدولوژی ارزیابی
    • 5.1 سامانه‌ی شبیه‌سازی‌شده
    • 5.2 بارهای کاری
    • 5.3 محیط شبیه‌سازی
    • 5.4 نحوه‌ی پیاده‌سازی سامانه‌ی پیشنهادی در شبیه‌ساز
      • 5.4.1 آزمایشات اولیه با هدف حصول انگیزه‌ی آزمایش
      • 5.4.2 حذف حافظه‌ی مشترک
      • 5.4.3 افراز حافظه‌ی نهان سطح یک
      • 5.4.4 قفل‌کردن داده‌های حافظه‌ی مشترک در حافظه‌ی نهان سطح یک داده
    • 5.5 دسته‌بندی بارهای کاری
    • 5.6 جمع‌بندی
  • 6 نتایج ارزیابی
    • 6.1 کارایی
      • 6.1.1 معماری ارائه‌شده
    • 6.2 نرخ فقدان
    • 6.3 جمع‌بندی
  • 7 نتیجه‌گیری و کارهای آتی
    • 7.1 نتیجه‌گیری
    • 7.2 کارهای آتی
  • آ پردازنده‌های گرافیکی شرکت NVIDIA
    • آ.1 پردازنده‌های گرافیکی ارائه شده توسط شرکت NVIDIA
      • آ.1.1 پردازنده‌های گرافیکی کامپیوترهای رومیزی
      • آ.1.2 پردازنده‌های گرافیکی ایستگاه‌های کاری
      • آ.1.3 پردازنده‌های گرافیکی ادوات محاسباتی سیار
      • آ.1.4 پردازنده‌های گرافیکی ایستگاه‌های کاری سیار
    • آ.2 ریزمعماری‌های ارائه شده توسط شرکت NVIDIA
      • آ.2.1 ریزمعماری Tesla
      • آ.2.2 ریزمعماری Fermi
      • آ.2.3 ریزمعماری Kepler
      • آ.2.4 ریزمعماری Maxwell
      • آ.2.5 ریزمعماری Pascal
      • آ.2.6 ریزمعماری Volta
  • مراجع
  • واژه‌نامه‌
...see more