0
if(tid < size){
function1();
__syncthreads(); //In this synchronization, all threads will waiting here or only threads that enter in statement if?
}
__syncthreads();
我知道__syncthreads()将等待块的所有线程,但如果同步是唯一可见的线程的一部分会发生什么?与线程同步发生什么不都在循环
那么如果未定义,那么一些线程将等待并取决于_function1()_中的内容可能导致死锁(可能是无限循环)? – realbas
未定义意味着您无法预测行为,也无法预测行为。我无法回答有关未定义行为时会发生什么的问题。我的回应不是基于'function1()'的任何特性。该文档明确指出** **(可能来自死锁)是一个可能的结果。 –