在Cudafy中返回一个未知大小的数组
本文关键字:未知 一个 数组 Cudafy 返回 | 更新日期: 2023-09-27 18:11:56
我要对大量的项Y执行大量的操作X。每个操作X都相当琐碎,本质上只是计算一堆与与或逻辑。
每个Func(X, Y)自然非常快,但是X和Y的纯粹组合使得整个操作花费很长时间。
PLinq使它更快,但仍然相对较慢。
我花了几天时间研究了各种框架(Alea, Cudafy, GPULinq),以便在GPU上工作,但我发现GPU并不适合所有操作。
主要问题是,在GPU内核中,在某些点正在执行整数数组的交集或并集。这将导致未知数量的值。可能是2*并集长度或0 *相交长度
我可以通过总是使用2*Length来解决这个问题,但是Length本身也不是一个常数。
我怎么能返回一个可变大小的int数组在任何GPU框架?
这不是一个使用语法的情况:
double[] x = gpu。分配(基于变量或数值的数组大小);
,然后从[Cudafy]方法返回。