C# CUDAFY,如何在结构中获取数组

C# CUDAFY,如何在结构中获取数组,c#,cuda,cudafy.net,C#,Cuda,Cudafy.net,你怎么能在cudafy中拥有一个满是数组的结构 这似乎是一个微不足道的问题,但我在网上找不到一个简单的实现 一些链接表明这是不可能的,例如,请参见: 虽然其他人建议可以通过一个较长的helper函数来实现,但请参见示例 我希望将单个结构传递到我的Cudafy内核中,例如,该结构看起来像 [Cudafy] public struct myStructTwo { public float[] value_x; public float[] va

你怎么能在cudafy中拥有一个满是数组的结构

这似乎是一个微不足道的问题,但我在网上找不到一个简单的实现

一些链接表明这是不可能的,例如,请参见:

虽然其他人建议可以通过一个较长的helper函数来实现,但请参见示例

我希望将单个结构传递到我的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;
    }

这一问题已在一份报告中得到解决。看起来可以使用固定尺寸,例如


如果收到进一步的答复,我将继续回答这个问题。

这个问题已经在一份报告中得到了解决。看起来可以使用固定尺寸,例如


如果收到进一步的答复,我将保留这个问题。

结构需要有一个固定的总大小。这就是允许它们作为值而不是指针被数组处理的原因。我想您可以使用列表,因为结构只存储指向list@RasmusDamgaardNielsen当然,这里的问题是试图确定是否可以将带有数组的结构传递到GPU,因此指向列表的指针不起作用?结构需要有固定的总大小。这就是允许它们作为值而不是指针被数组处理的原因。我想您可以使用列表,因为结构只存储指向list@RasmusDamgaardNielsen当然,这里的问题是试图确定是否可以将带有数组的结构传递给GPU,这样指向列表的指针就不起作用了?
[Cudafy]
public struct myStructTwo
{
    public float value_x[size];
}