我正在编写CUDA内核,并希望对某些参数进行__restrict__。我收到错误消息:



某些变量类型是否不允许?对于某些参数组合?因为有一些编译器标志?因为我一直调皮?

简化的内核签名:

template <typename T> foo(
    const T a[],
    __restrict__ SomeType b[],
    const T c
) {
    /* etc. */
}

最佳答案

您只能在指针类型上使用__restrict__。这也是__restrict__有意义的唯一上下文。

关于c++ - 为什么我收到错误消息: “restrict” not allowed?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20378528/

10-09 19:56