我在头文件中有一个模板化函数,并在使用 CUDA 编译时收到一些警告。
警告:“全局”函数忽略内联限定符
template<typename A,typename B>
__global__ inline void functionA(ar1, arg2)
{}
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?
当函数被“内联”时,意味着函数内部要执行的代码被提升到调用函数中,从而避免了保存寄存器、跳转到函数以及随后恢复寄存器的开销(在线搜索“ABI”有关详细信息)。
内联内核调用是不可能的,这是没有意义的,因为执行内核代码的处理器(GPU)与启动内核的处理器(CPU)不同。
即使使用动态并行性,它也是没有意义的,因为语义意味着子内核可以在任何地方运行,不一定在同一个 SM 上运行。
归档时间: |
|
查看次数: |
1072 次 |
最近记录: |