panda1234lee 大神已经讲的很全面, https://blog.csdn.net/panda1234lee/article/details/88294382
但是有一些要注意,有些情况可能会出现死锁。由于多个block被分配到不同SM中进行运行,并且在单个SM中只有此block全部运行完之后,才会去调入剩余的block进行计算。
注意: 一个SM只有当前block运行完才调新的block进入。
当block数量大于SM数量时,会有出现问题。如果正在运行的block在进行同步等待,但是有些block没有被调入SM中运行,所以永远都不会出现block同时到达的情况,就会出现死锁。-----特别引起注意⚠️