CUDA合作小组

CUDA合作小组,cuda,gpu,nvidia,Cuda,Gpu,Nvidia,我正在使用Pascal GPU同步所有块,而不在内核中执行多次传递。然而,我不确定我是否理解得很好。在我的例子中,我总共有117000个元素需要处理。使用512个线程的块大小,它需要大约228个块。当我尝试运行内核时,它告诉我块的数量很高: CUDA error at ../SW/SmithWatermanGPU.cu:122 code=82(cudaErrorCooperativeLaunchTooLarge) "cudaLaunchCooperativeKernel((void*)SWPro

我正在使用Pascal GPU同步所有块,而不在内核中执行多次传递。然而,我不确定我是否理解得很好。在我的例子中,我总共有117000个元素需要处理。使用512个线程的块大小,它需要大约228个块。当我尝试运行内核时,它告诉我块的数量很高:

CUDA error at ../SW/SmithWatermanGPU.cu:122 code=82(cudaErrorCooperativeLaunchTooLarge) "cudaLaunchCooperativeKernel((void*)SWProc, blocks, NUM_THREADS_BLOCK, params)"
我知道我不能使用协作组加载所有这些块。是这样吗

非常感谢

我知道我无法使用cooperative加载所有这些块 组。是这样吗


要使合作发射成功,您必须遵守占用限制。本节将详细讨论这一点。由于每个块有512个线程,因此每个SM最多只能有4个块,而我所知道的最大Pascal GPU有56个SM,这意味着上限将是224个块,并且根据您的GPU和内核资源需求可能会更小。

据我回忆,cc 6.0的SMX更小,弗洛伦杜盖:的确,你是对的。我会找到答案的。