THU-DSP-LAB / ventus-gpgpu

GPGPU processor supporting RISCV-V extension, developed with Chisel HDL
Mulan Permissive Software License, Version 2
628 stars 73 forks source link

SIMT-deadlock #1

Open rill-zhen opened 2 years ago

rill-zhen commented 2 years ago

is there SIMT-deadlock issue for the SIMT-stack based divergence? how to deal with it if yes?

yff18 commented 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.