Parallel processing 错误-必须配置一个全局函数调用
我正在写一个大整数加法、减法、乘法和除法的代码。但是在编译代码时,我遇到了这个错误,以及另一个错误Parallel processing 错误-必须配置一个全局函数调用,parallel-processing,cuda,Parallel Processing,Cuda,我正在写一个大整数加法、减法、乘法和除法的代码。但是在编译代码时,我遇到了这个错误,以及另一个错误错误:一个uu全局函数必须有一个void返回类型 代码有700行长,有多行错误。因此,为了方便起见,我附上了我的谷歌Colab笔记本的链接。请检查一下 这是我得到的错误 /content/src/omp_cuda80.cu(94): error: a __global__ function must have a void return type /content/src/omp_cuda80.c
错误:一个uu全局函数必须有一个void返回类型
代码有700行长,有多行错误。因此,为了方便起见,我附上了我的谷歌Colab笔记本的链接。请检查一下
这是我得到的错误
/content/src/omp_cuda80.cu(94): error: a __global__ function must have a void return type
/content/src/omp_cuda80.cu(139): warning: missing return statement at end of non-void function "addition"
/content/src/omp_cuda80.cu(265): warning: variable "n" was declared but never referenced
/content/src/omp_cuda80.cu(367): error: a __global__ function call must be configured
/content/src/omp_cuda80.cu(381): error: a __global__ function call must be configured
/content/src/omp_cuda80.cu(390): error: a __global__ function call must be configured
/content/src/omp_cuda80.cu(442): error: a __global__ function call must be configured
/content/src/omp_cuda80.cu(456): error: a __global__ function call must be configured
/content/src/omp_cuda80.cu(465): error: a __global__ function call must be configured
/content/src/omp_cuda80.cu(533): error: a __global__ function call must be configured
/content/src/omp_cuda80.cu(538): error: a __global__ function call must be configured
/content/src/omp_cuda80.cu(548): error: a __global__ function call must be configured
/content/src/omp_cuda80.cu(553): error: a __global__ function call must be configured
11 errors detected in the compilation of "/content/src/omp_cuda80.cu".
/bin/bash: /content/src/omp_cuda80: No such file or directory
如果使用
\uuuu global\uuuu
定义CUDA函数,则需要使用以下语法调用它
function<<<grid,block>>>(param1,param2,...);
这就是为什么您得到一个必须配置的
函数调用
GPU函数也不返回值,它们必须返回
void
。您可以在指针中获取返回值,并在需要时将其复制到CPU以进行检查。还有其他方法,但它超出了本答案的范围。我认为您需要最基本的CUDA教程,因为现在,您只是“猜测”了CUDA是如何编写的,令人惊讶的是,猜测是错误的。
function(param1,param2,...);