作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们必须做什么才能使用 cuPrintf()? (设备计算能力 1.2,Ubuntu 12)我找不到“cuPrintf.cu”和“cudaPrintf.cuh”,所以我下载了它们的代码并包含它们:
#include "cuPrintf.cuh"
#include "cuPrintf.cu"
顺便说一句,这是其余的代码:
__global__ void hello_kernel (float f) {
printf ("Thread number %d. f = %d\n", threadIdx.x, f);
}
int main () {
dim3 gridSize = dim3 (1);
dim3 blockSize = dim3 (16);
cudaPrintfInit ();
hello_kernel <<< gridSize, blockSize >>> (1.2345f);
cudaPrintfDisplay (stdout, true);
cudaPrintfEnd ();
return (0);
}
但是nvcc还是报错:
max@max-Lenovo-G560:~/CUDA/matrixMult$ nvcc printfTest.cu -o printfTest
printfTest.cu(5): error: calling a __host__ function("printf") from a __global__
function("hello_kernel") is not allowed
谢谢!
最佳答案
在你的内核中而不是这个:
printf ("Thread number %d. f = %d\n", threadIdx.x, f);
你应该这样做:
cuPrintf ("Thread number %d. f = %d\n", threadIdx.x, f);
除此之外,我相信您的代码是正确的(对我有用)。
这SO question/answer提供有关正确使用 cuPrintf 的更多提示。
关于cuda - 我们如何使用 cuPrintf()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13608287/
我们必须做什么才能使用 cuPrintf()? (设备计算能力 1.2,Ubuntu 12)我找不到“cuPrintf.cu”和“cudaPrintf.cuh”,所以我下载了它们的代码并包含它们: #
我是一名优秀的程序员,十分优秀!