这就是问题所在:我正在开发一个框架(CLCuda,不是最有创意的名称),程序员在其中实例化一个对象,并且根据系统支持的内容(CUDA 或 AMD OpenCL),将使用相应的方法,而无需将任何代码行更改为此。
我有一个名为CLCuda
(纯虚拟方法,但可能只是虚拟的)抽象类,实现其方法的两个类是CLCudaCUDA
和CLCudaOPENCL
.
我想要这样的东西:根据用户拥有的显卡,实例化一个可以启动 CUDA 或 OpenCL 的对象,该对象可以访问可用平台的方法(通过类CLCudaCUDA
或CLCudaOPENCL
)。
我已经编写了CLCudaOpenCL
and的方法CLCudaCUDA
(很难做到),所以我的问题在于 OOP。
我该如何组织我的课程?
如果有人可以提供帮助...非常感谢!