我想弄清楚如何在我的主機和設備代碼中使用複數。我遇到了cuComplex
(但找不到任何文檔!)和float2
,至少在CUDA編程指南中有所提及。float2和cuComplex之間的區別是什麼?
我應該用什麼?在爲cuComplex
頭文件,它看起來像功能與__host__ __device__
所以我假定這意味着,這將是確定在任何地方使用這些聲明。
我的原始數據被從文件中讀取到一個std::complex<float>
所以我真的不希望弄亂。我猜想爲了在GPU上使用複雜的值,我將不得不從原始的complex<float>
複製到cuComplex
?
是啊,我的工作wtih我自己的功能,這需要複雜的值。第二個問題呢 - 我想沒有辦法將我的原始數據(來自第三方lib作爲std :: complex)複製到cuComplex類型中嗎? – Derek 2011-01-27 05:57:53
對於std :: complex是否應該受到限制,可能會將`reinterpret_cast`重新設置爲`float [2]`。這在實踐中已經是可移植的。 –
MSalters
2011-01-27 11:04:08