cl::程序构造函数之间的区别

Difference between cl::Program constructors

本文关键字:区别 之间 构造函数 程序 cl      更新时间:2023-10-16

我正在查看c++绑定(http://www.khronos.org/registry/cl/specs/opencl-cplusplus-1.2.pdf),我试图找出这两个构造函数之间的区别:

cl::Program::Program(const STRING_CLASS& source,
                     bool build = false,
                     cl_int * err = NULL)
cl::Program::Program(const Context& context,
                     const STRING_CLASS& source,
                     bool build,
                     cl_int * err = NULL)

传递上下文和不传递上下文的效果是什么?我在构造函数的文档中没有看到它,所以有什么想法吗?谢谢。

如果您不传递上下文,头将使用默认上下文(必要时创建一个),该上下文自动创建以包含类型为CL_DEVICE_TYPE_DEFAULT的所有设备。如果你没有使用默认上下文,那么你需要使用第二个重载来显式地传递你自己的上下文。