gpt4 book ai didi

c++ - 为什么 printf 在 CUDA 中不起作用?

转载 作者:行者123 更新时间:2023-11-30 18:41:24 25 4
gpt4 key购买 nike

我指的是link这表示如果您的设备具有大于 2.0 的计算能力,那么您可以使用 CUDA 内核中的 printf() 函数。当我尝试相同时,我收到错误“不允许从全局函数(“mat_mul”)调用主机函数(“printf”)”,但是当我在 eclipse nsight 上运行相同的代码时,我得到了预期的输出,并且 printf() 函数被执行。为什么 nsight 会有如此不同的行为?

最佳答案

您提到的错误:

"calling a host function("printf") from a global function("mat_mul") is not allowed"

源自编译代码,而不是运行代码。

因此,区别在于如何从“终端中的 nvcc”进行编译与如何设置在 nsight 中进行编译。

如果您使用附加架构开关在终端中进行编译:

nvcc -arch=sm_20 ...

错误应该消失。

关于c++ - 为什么 printf 在 CUDA 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21915619/

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