gpt4 book ai didi

cuda - 在 ptx 文件中找不到函数

转载 作者:行者123 更新时间:2023-12-01 16:38:09 26 4
gpt4 key购买 nike

我已经为其他应用程序执行了此操作,但由于某种原因,它在我当前的应用程序中不起作用。

这里是一个代码片段,在 VS2010 中工作,使用 Cuda 4.2。我在VS内部和VS外部都编译了ptx文件,但没有解决问题:

CUmodule    Module = NULL;
int rc7 = cuModuleLoad(&Module, CubinName); // needs bin
if (rc7 == 0) {
rc = cuModuleGetFunction( &cuF_makeProcFrame, Module, "makeProcFrame" );
}

我收到 rc=500 -- 未找到函数。

当我在文本编辑器中打开 ptx 文件时,我看到:

.entry _Z13makeProcFrame14cudaPitchedPtriiii(
.param .align 4 .b8 _Z13makeProcFrame14cudaPitchedPtriiii_param_0[16],
.param .u32 _Z13makeProcFrame14cudaPitchedPtriiii_param_1,
.param .u32 _Z13makeProcFrame14cudaPitchedPtriiii_param_2,
.param .u32 _Z13makeProcFrame14cudaPitchedPtriiii_param_3,
.param .u32 _Z13makeProcFrame14cudaPitchedPtriiii_param_4
)

最后在 CUDA 代码本身中,这是被调用的行:

__global__ void makeProcFrame(
cudaPitchedPtr YProcBasePtr,
int numFrames,
int width,
int height,
int lineBytes
)

谁能告诉我为什么我收到错误返回而不是找到函数?

<小时/>

编辑:这是用于编译的批处理文件:

"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin\nvcc.exe" -gencode=arch=compute_20,code=sm_20 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\include" -O -G --machine 32 --maxrregcount=0 -ptx -o="filterKernelHand.ptx" filterKernel.cu

最佳答案

声明 CUDA 内核时使用“extern “C”” - 这样编译器就不会破坏函数名称。

关于cuda - 在 ptx 文件中找不到函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12591227/

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