Asynchronous Data Movement
The classic tiled kernel loop looks like load → syncthreads() → compute → syncthreads() while stage i computes, stage i+1's load can already be in flight.
The classic tiled kernel loop looks like load → syncthreads() → compute → syncthreads() while stage i computes, stage i+1's load can already be in flight.