Differences

This shows you the differences between two versions of the page.

Link to this comparison view

asc:laboratoare:06 [2026/04/08 07:07]
alexandru.bala [Ierarhia de memorie]
asc:laboratoare:06 [2026/04/08 08:14] (current)
alexandru.bala [Ierarhia de memorie]
Line 41: Line 41:
 **Register File** **Register File**
 <code sh> <code sh>
-/* marcam pentru compilator regValPi in register file */ +/* compilatorul incadreaza regVal2Pi ca registru ​in CUDA */
-__private__ float regValPi = 3.14f; +
-/* compilatorul ​cel mai probabil oricum ​incadreaza regVal2Pi ca registru */+
 float regVal2Pi = 2 * 3.14f; float regVal2Pi = 2 * 3.14f;
 +/* marcam pentru compilator regValPi in register file in OpenCL */
 +__private__ float regValPi = 3.14f;
 </​code>​ </​code>​
   *Cea mai rapida forma de memorie de pe GPU, care lucreaza la aceeasi frecventa cu core-urile CUDA (poate atinge viteze mai mari de 300 TB/s)   *Cea mai rapida forma de memorie de pe GPU, care lucreaza la aceeasi frecventa cu core-urile CUDA (poate atinge viteze mai mari de 300 TB/s)
Line 54: Line 54:
 **Local Memory** **Local Memory**
 <code sh> <code sh>
-/* fiecare work item salveaza un element */+/* fiecare work item salveaza un element ​in OpenCL ​*/
 __local__ float lArray[lid] = data[gid]; __local__ float lArray[lid] = data[gid];
 </​code>​ </​code>​
Line 67: Line 67:
 </​code>​ </​code>​
   *In functie de implementarea hardware, 100GB/sec -> 200TB/sec   *In functie de implementarea hardware, 100GB/sec -> 200TB/sec
-  *Accesibila tuturor threadurilor dintr-un bloc (warp/​wavefront),​ iar durata de viata este aceeasi ca si a blocului+  *Accesibila tuturor threadurilor dintr-un bloc (care conține mai multe warp-uri/wavefront-uri), iar durata de viata este aceeasi ca si a blocului
   *Trebuie evitate conflictele de access (bank conflicts)   *Trebuie evitate conflictele de access (bank conflicts)
  
Line 75: Line 75:
 </​code>​ </​code>​
   * In functie de implementarea hardware, 100GB/sec -> 100TB/sec   * In functie de implementarea hardware, 100GB/sec -> 100TB/sec
-  * In general performanta foarte buna, (cache L1/L2, zona dedicata),+  * In general performanta foarte buna, (cache L1/L2, zona dedicata)
   * Are durata de viata a aplicatiei kernel   * Are durata de viata a aplicatiei kernel
  
Line 83: Line 83:
 </​code>​ </​code>​
   * In functie de implementarea hardware, 30GB/sec -> 8TB/sec   * In functie de implementarea hardware, 30GB/sec -> 8TB/sec
-  * Video RAM (VRAM), de regula cu o capacitate intre 1GB si 12GB in functie de placa video+  * Video RAM (VRAM), de regula cu o capacitate intre 4GB (entry-level) ​si 288GB (Nvidia B300) in functie de placa video
   * Memorie dedicata specializata doar pentru placile grafice discrete (GPU-urile integrate in CPU folosesc RAM)   * Memorie dedicata specializata doar pentru placile grafice discrete (GPU-urile integrate in CPU folosesc RAM)
   * In general latime mare de banda (256-512 biti) si chipuri de memorii de mare viteza (GDDR7)   * In general latime mare de banda (256-512 biti) si chipuri de memorii de mare viteza (GDDR7)
Line 97: Line 97:
 | Constant ​   | Grid  | Application | Device (VRAM, cached) | | Constant ​   | Grid  | Application | Device (VRAM, cached) |
 | Shared ​     | Block | Kernel ​     | SM (on-chip SRAM) | | Shared ​     | Block | Kernel ​     | SM (on-chip SRAM) |
-| Local       ​| Thread | Kernel ​    | Device (VRAM) |+| Local CUDA*      ​| Thread | Kernel ​    | Device (VRAM) |
 | Register ​   | Thread | Kernel ​    | SM (Register File) | | Register ​   | Thread | Kernel ​    | SM (Register File) |
 +
 +*A nu se confunda cu Local din OpenCL.
  
 Caracteristici GPU K40m (coada hpsl), via query device properties CUDA Caracteristici GPU K40m (coada hpsl), via query device properties CUDA
asc/laboratoare/06.1775621251.txt.gz · Last modified: 2026/04/08 07:07 by alexandru.bala
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0