cuda多流,但仍然串行的问题?

GKatHere GKatHere 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
//    如题: vs2022, cuda 12.6
__device__ volatile int a = 0;
__device__ volatile int b = 0;

__global__ void ga()	//	使用流1
{
	a = 1;
	for (; !b;)void();	//	多流串行??卡死
}
__global__ void gb()	//	使用流1
{
	b = 1;
	for (; !a;)void();	//	多流串行??卡死
}
void TsetCu()
{
	cudaStream_t s1, s2;
	cudaStreamCreate(&s1);
	cudaStreamCreate(&s2);

	ga << <1, 1, 0, s1 >> > ();	//	使用流1
	gb << <1, 1, 0, s2 >> > ();	//	使用流2
	cudaDeviceSynchronize();	//	卡死

}

 

...全文
评论
收藏 已收藏
分享
返回顶部
GKatHere
CUDA 591 成员 2,925 内容