Differences

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

Link to this comparison view

asc:laboratoare:07 [2026/04/22 07:19]
alexandru.bala [Executie asincrona Host si Device]
asc:laboratoare:07 [2026/04/22 07:25] (current)
alexandru.bala [Executie si transfer date asincron]
Line 250: Line 250:
 Arhitecturile cu compute capability 2.x sau mai nou, pot executa in paralel instante de kernel diferite. Aceste unitati de executie o sa aibe proprietate ''​concurrentKernels''​ setata la 1 (se face query la ''​device properties''​ inainte). Numarul maxim de lansari asincrone de kernele diferite este dependent de arhitectura (se verifica in functie de compute capability). Singura restrictie este ca programele kernel sa fie in acelasi context. Arhitecturile cu compute capability 2.x sau mai nou, pot executa in paralel instante de kernel diferite. Aceste unitati de executie o sa aibe proprietate ''​concurrentKernels''​ setata la 1 (se face query la ''​device properties''​ inainte). Numarul maxim de lansari asincrone de kernele diferite este dependent de arhitectura (se verifica in functie de compute capability). Singura restrictie este ca programele kernel sa fie in acelasi context.
  
 +
 +<note important>​
 +Deși hardware-ul permite execuția paralelă, activarea variabilei ''​CUDA_LAUNCH_BLOCKING=1''​ anulează practic această capacitate. Deoarece driverul este forțat să aștepte finalizarea fiecărui kernel înainte de a lansa următorul, kernelele vor fi executate strict secvențial,​ indiferent de disponibilitatea resurselor hardware sau de utilizarea fluxurilor (streams) diferite.
 +</​note>​
 ==== Executie si transfer date asincron ​ ==== ==== Executie si transfer date asincron ​ ====
  
-Anumite device-uri pot executa un transfer asincron memorie alaturi de o executie de kernel. Acest lucru este dependent de compute capability si se poate verifica in device property asyncEngineCount.+Anumite device-uri pot executa un transfer asincron memorie alaturi de o executie de kernel. Acest lucru este dependent de compute capability si se poate verifica in device property ​''​asyncEngineCount''​.
  
 {{:​asc:​lab9:​cuda_async.png?​900|}} {{:​asc:​lab9:​cuda_async.png?​900|}}
  
-De asemenea, se pot face transferuri de memorie intra-device simultan cu executia de kernel cand atat device property concurrentKernels,​ cat si asyncEngineCount sunt 1.+De asemenea, se pot face transferuri de memorie intra-device simultan cu executia de kernel cand atat device property ​''​concurrentKernels''​, cat si ''​asyncEngineCount'' ​sunt 1.
  
 {{:​asc:​lab9:​cuda_async_2.png?​900|}} {{:​asc:​lab9:​cuda_async_2.png?​900|}}
asc/laboratoare/07.1776831571.txt.gz · Last modified: 2026/04/22 07:19 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