Warp affectation to SMP on Pascal Architecture

Hello,

I would like to know how warps are affected to a specific warp scheduler. the documentation says that warps of a block are statically affected to the warp schedulers. In the Pascal architecture there is 4 schedulers. So, if an SM has no warp and a block of 4 warps is scheduled to this SM each scheduler will have 1 warp. But, how does it affect them ?
Is it a round robin like policy (keeping in mind SMP resources). So the warp 0 will be on SMP 0 and warp 4 on SMP 0, …

I guess by “affect” you mean “distribute”

It’s unspecified, as far as I know.

Yes, i mean “distribute”.

So, it we got 8 warps. They could be distributed as follow:

  • SMP 0 : 0,1; SMP 1 : 2,3; SMP 2 : 4,5; SMP 3 : 6,7
    or
  • SMP 0 : 0,4; SMP 1 : 1,5; SMP 2 : 2,6; SMP 3 : 3,7
    or maybe a more random policies

I don’t know if its random or what the typical pattern would be. Round robin is a reasonable guess (and something like it is almost certainly the case for the first n warps, where n is the number of SMPs). I’m just saying its not specified AFAIK. Furthermore, unlike with SMs, I don’t know of a way to identify which SMP a warp is on. There is probably some clever inferential sideband microbenchmarking method, but I have not come across it.