gpt4 book ai didi

cuda - 在内核调用中使用断言

转载 作者:行者123 更新时间:2023-12-02 03:26:26 24 4
gpt4 key购买 nike

是否有方便的方法在设备模式下的内核调用中使用断言?

最佳答案

CUDA 现在具有原生断言函数。使用assert(...)。如果其参数为零,它将停止内核执行并返回错误。 (如果在 CUDA 调试中,则触发断点。)

确保包含“assert.h”。此外,这需要计算能力 2.x 或更高版本,并且在 MacOS 上不受支持。有关更多详细信息,请参阅 CUDA C 编程指南,第 B.16 节。

编程指南还包括以下示例:

#include <assert.h>
__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);
}
int main(int argc, char* argv[])
{
testAssert<<<1,1>>>();
cudaDeviceSynchronize();
return 0;
}

关于cuda - 在内核调用中使用断言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2080364/

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