CUDA提供了三种指定内核参数的方法。
从严格的表现的角度来看,我想知道一种方法是否优于另一种方法。有谁知道:
我在这些问题下面的真正问题是我有一个相当“简单”的内核,其中包含大量的参数,这些参数被多次调用(几乎)相同的参数值,我想知道是否只是传递参数可以有一个真实的对绩效的影响。
答案here没有完全回答我的问题。
编辑:另外,有没有人知道nvprof只测量内核时间,还是参数传递+内核时间?答案 0 :(得分:1)
内核启动的驱动程序开销足够高,参数传递方法的影响可以忽略不计。
如果你的内核参数设置足够大,并且变化不够,你可以从手动将参数复制到设备内存中获得一些里程(如果你感觉很奇怪,可以获得恒定内存)。