cl :: Program构造函数之间的区别

时间:2014-08-22 15:34:32

标签: c++ opencl

我正在查看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)

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

1 个答案:

答案 0 :(得分:1)

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