CUDAfying一个依赖于类的结构?

时间:2016-02-26 13:11:25

标签: c# cudafy.net

我有一个结构' DDReal'被CUDAfied依赖于一个班级' Base'有静态方法是CUDAfied - 都在同一个项目的单独文件中。它们被编译成一个DLL程序集,由发生CUDAfying的主程序调用。

在主程序中,如果我这样做:

 var km = ...Cudafy(typeof(Base));

这个编译好了。

但如果我做var

  var km = ...Cudafy(typeof(Base), typeof(DDReal));

由于DDReal在基础之前被翻译(由.cu文件证明),因此存在编译器错误。

'基地'需要首先翻译,然后是“DDReal”。

无论如何我可以强制这样做,以便类' Base的静态方法的C定义出现在struct' DDReal'的定义之前。在生成的CUDAFYSOURCETEMP.cu文件中?

1 个答案:

答案 0 :(得分:0)

Cudafy,唉,不适合这种情况:Cudafy将所有结构定义放在输出源代码.cu文件中的类方法原型声明之前。

所以我修改了Cudafy源代码以解决我的问题。我已经在属性类中添加了一个2-param构造函数' Cudafy'这样第二个参数可以指定类方法的默认行为或预结构原型声明。所有Cudafy的单元测试和示例都可以查看OK以及我自己的单元测试。

如果有兴趣我可以将源+ DLL上传到github。