cuda内核参数
cuda 内核
__global__ foo (int a, int b)
{
... ...
}
假设我有一个存储 a 和 b 的 。这是否占用每个线程的寄存器空间?
say I have a cuda kernel
__global__ foo (int a, int b)
{
... ...
}
where a and b are stored. Does this takes register space for each thread?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不,这不会占用每个线程的寄存器空间,而是在常量空间(只读空间)中分配一次
a
和b
,所有线程都可以从中读取。请注意,该空间由常量寄存器缓存并由所有线程共享:
No this doesn't take register space for each thread, instead
a
andb
are allocated once in a constant space - a read only space - from which all thread can read.Note that this space is cached by constant registers and shared by all threads: