__device__函数与递归

在guide上查到, __device__函数在计算能力为2.x及以上的显卡上支持递归调用。但是我在Telsa C2050/C2070(计算能力为2.0)上试了一个简单的递归,仍然出错说还不支持。怎么回事?
谢谢!

请先检查编译选项,是否将compute和sm修改为20或以上,默认情况下compute和sm是10

说的好。请楼主使用nvcc -arch sm_20来编译。

谢谢你的回复。i让一个同学这样在linux下这样做了,的确可以递归。我的显卡还是1.2的,需要换个显卡。请问下你们都用的什么显卡?

(1)不客气。恭喜你的同学。
(2)对您的“你们用的卡是什么?”的回复:
我用的是GTX460.
ICE用的是GTX470.
tianyuan用的是:???
风辰用的是:GTX 680 C2050, 未来可能有K10, K20和K20x
朱超版不用卡。

希望以上回复对您有用。

[

我用的是GTX480, GTX580, GTX680, C1060
下个月开始用M2090,
K20不知道啥时候能用上…只是去美国NV的服务器做过1星期试验~

在京东上查了下,想选择GTX650,计算能力达到了3.0,价钱800左右。但是不知道用什么牌子的好?

再度谢谢!

也谢谢你!

只要你不算双精度,GTX650用来学习CUDA就够了,因为所有的GTX双精度计算都被砍了!

目前买geforce的话,只有2.x的fermi和3.0的kepler。
人们心目中的kepler完整版真身,计算能力3.5的卡,只有telsa K20了。

geforce的话,常见靠谱品牌都可以。

真幸福啊!!我还没碰过680和K20呢。460倒是买了3个。。。悲催。。。