我有一个要进行 CUDAfied 的结构“DDReal”,它依赖于一个类“Base”,该类具有要进行 CUDAfied 的静态方法 - 两者都在同一个项目的单独文件中。它们被编译成一个 DLL 程序集,由发生 CUDAfying 的主程序调用。
在主程序中,如果我这样做:
var km = ...Cudafy(typeof(Base));
这编译好。
但如果我做 var
var km = ...Cudafy(typeof(Base), typeof(DDReal));
由于 DDReal 在 Base 之前被翻译,导致编译器错误(如 .cu 文件所证明的那样)。
“Base”需要先翻译,然后是“DDReal”。
无论如何我可以强制执行此操作,以便类“Base”的静态方法的 C 定义出现在生成的 CUDAFYSOURCTEMP.cu 文件中结构“DDReal”的定义之前?