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

GKatHere 2024-12-02 18:20:12
//    如题: 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();	//	卡死

}

 

...全文
53 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

589

社区成员

发帖
与我相关
我的任务
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
  • CUDA编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧