【问题标题】:Is it possible to have a CUDA kernel with varying number of parameters?是否有可能拥有具有不同数量参数的 CUDA 内核?
【发布时间】:2019-12-05 18:18:29
【问题描述】:

我想制作一个内核,它带有许多未设置的参数。这可能吗?

我猜这不起作用?但为什么?

【问题讨论】:

  • 可变参数数量!
  • This blog 以及programming guide reference 可能会引起您的兴趣。
  • 如果你问的是典型的 C 风格 vargs,那么没有。但是因为内核支持 C++ 链接,所以可以使用模板和名称修饰技巧来实例化具有长度和不同类型参数列表的内核的不同版本。
  • CUDA 7.0 支持 C++11 功能变量模板:devblogs.nvidia.com/parallelforall/…
  • 谢谢大家!那么 CUDA 6.5 呢?

标签: cuda arguments


【解决方案1】:

如果你问的是典型的 C 风格 vargs,那么没有。

但是因为内核支持 C++ 链接,所以可以使用模板和名称修改技巧来实例化具有长度和不同类型参数列表的内核的不同版本。另请注意,CUDA 7.0 引入了 C++11 可变参数模板支持。

所以有一些选项可以做到这一点,但可能不是你问这个问题时想到的那些。

[此答案由 cmets 收集并添加为社区 wiki 条目,以将问题从未回答队列中删除]

【讨论】:

    猜你喜欢
    • 2022-01-13
    • 2014-12-31
    • 1970-01-01
    • 2019-03-23
    • 2015-08-22
    • 2014-04-06
    • 1970-01-01
    • 1970-01-01
    • 2018-06-23
    相关资源
    最近更新 更多