gpt4 book ai didi

c++ - 是否有任何内置的 CUDA 函数允许 CUDA 内核向主机代码报告错误?

转载 作者:行者123 更新时间:2023-11-28 02:00:20 34 4
gpt4 key购买 nike

我正在编写一个 CUDA 内核来执行散列。一旦我得到一个输入,我首先尝试使用预定义的哈希桶大小对其进行哈希处理,如果在哈希过程中发生溢出,那么我需要使用更大的桶大小重新进行哈希处理。所以我想知道是否有任何内置的 cuda 函数允许我在发生桶溢出时向主机代码报告错误。我知道我可以将某些内容写入预定义的内存位置,然后让主机代码读取它,但如果可用的话,我更愿意使用一些内置原语。

最佳答案

CUDA 有 assertion support在所有当前支持的硬件(sm_20 和更新版本)上。根据文档,这样做是合法的:

__global__ void testAssert(void)
{
int is_one = 1;
int should_be_one = 0;
// This will have no effect
assert(is_one);
// This will halt kernel execution
assert(should_be_one);
}

您可以利用它向调用主机代码发送错误条件信号。

关于c++ - 是否有任何内置的 CUDA 函数允许 CUDA 内核向主机代码报告错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39864406/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com