2011-03-11 33 views
3

幾周前,我開始將CUDA集成到C++應用程序中。我一直在做我自己關於集成CUDA和C++的研究。不過,我仍然對這個話題感到不舒服。CUDA和C++用於主機和設備代碼

有人能幫我澄清一些基於最新Toolkit 3.2或4.0 RC的問題嗎?

  1. 它說費米在費米的白皮書中完全支持C++。這是否意味着它在主機和設備代碼中支持C++,或僅支持主機代碼?

  2. 什麼樣的C++功能可以在內核代碼中使用?我知道模板是支持的。什麼是類或結構?

  3. 我可以將用戶定義的類實例(它包含一些指向設備內存的指針)傳遞給內核,並在內核代碼中調用其成員函數嗎?班級和結構有什麼不同?

任何幫助被讚賞!謝謝!

回答

6
  1. 您的主機已經支持C++,不是嗎?但現在GeForce 400系列(代號費米)支持設備上的C++代碼。

  2. 類也有一些限制。詳情請參閱的附錄D

  3. 您可以傳遞該類的引用。檢查編程指南的D.6.2

一般來說,附錄D顯示了支持的C++結構和代碼段。值得一讀。