In the example I used a matrix that was bigger than what I actually motivated me to look into the cuda streams approach.
what actually happens in my use case (w = 500) is that kernel launches dominates the time because they are running in a single thread using a single CPU core.