OOP用于CUDA和OpenCL集成

时间:2012-11-13 21:15:08

标签: c++ cuda opencl

问题在于:我正在开发一个框架(CLCuda,而不是那里最具创造性的名称)程序员实例化一个对象,并取决于系统支持的内容(CUDA或AMD OpenCL) ,将使用相应的方法,而不必更改任何代码行。

我有一个名为CLCuda的抽象类(纯虚方法,但可能只是虚方法),实现其方法的两个类是CLCudaCUDACLCudaOPENCL

我希望得到类似的东西:实例化一个对象,它将根据用户拥有的图形卡来提供CUDA或OpenCL,可以访问可用平台的方法(通过类CLCudaCUDA或{ {1}})。

我已经编写了CLCudaOPENCLCLCudaOpenCL的方法(很难做到这一点),所以我的问题在于OOP。

我怎样才能构建我的课程?

如果有人可以提供帮助......非常感谢!

1 个答案:

答案 0 :(得分:2)

您的问题似乎建议"Factory" design pattern。据推测,您有一种方法可以确定当前主机支持哪种方法,因此您应该在工厂实施中利用它。