Open rill-zhen opened 2 years ago
Yes, there exists the SIMT-deadlock issue but the current version of ventus doesn’t have hardware support to solve this problem. NVIDIA proposed their solution by introducing “YIELD” mechanism (Gregory Frederick Diamos, Richard Craig Johnson, Vinod Grover, Olivier Giroux, Jack H. Choquette, Michael Alan Fetterman, Ajay S. Tirumala, Peter Nelson, and Ronny Meir Krashinsky. Execution of divergent threads using a convergence barrier, July 13, 2015). The key idea is that when some block of code has been executed by one or more threads repeatedly, that thread/threads will be turned into “yielded” state and allow other threads to move on to reach reconvergence point. We plan to borrow NVIDIA’s idea of yielded mechanism and will be working on that issue in our future work.
is there SIMT-deadlock issue for the SIMT-stack based divergence? how to deal with it if yes?