2014-03-07 31 views
1

你怎麼能有一個充滿cudafy數組的struct?CUDAFY,如何獲得數組裏面的結構

這看起來有些微不足道的問題,但我在網上找不到它的簡單實現。

一些鏈接表明,它不能做的,例如參見:Passing an array within a structure in CUDAfy

而另一些人認爲它可以通過稍長的輔助函數來完成,例如參見http://cudafy.codeplex.com/discussions/283527

我期待通過一個單一的結構到我Cudafy內核,其中例如結構看起來像...

[Cudafy] 
    public struct myStructTwo 
    { 
     public float[] value_x; 
     public float[] value_y; 
     public float[] value_z; 
    } 


    public struct myStructTwo 
    { 
     public IntPtr value_x; 
     public IntPtr value_y; 
     public IntPtr value_z; 
    } 

回答

4

的問題已經在Codeplex answer得到解決。它看起來可以使用固定大小,例如

[Cudafy] 
public struct myStructTwo 
{ 
    public float value_x[size]; 
} 

我會讓這個問題保持開放的情況下,進一步響應的接收。

+0

結構需要有一個固定的總大小。這是什麼讓他們可以通過例如。數組作爲值而不是指針。我想你可以使用一個列表,因爲結構只是存儲一個指向列表的指針 –

+0

@RasmusDamgaardNielsen當然這裏的問題是試圖確定一個具有數組的結構是否可以傳遞給GPU,所以指向一個列表的指針wouldn'工作? – mcmillab

相關問題