我们必须在opencl中构建从clcreatewithbinary获得的程序吗?

我们必须在opencl中构建从clcreatewithbinary获得的程序吗?,binary,opencl,Binary,Opencl,我阅读了一些使用二进制文件优化内核调用的教程。我参考了下面的链接 这里提到,如果我们使用二进制文件,我们不必构建创建的程序。我试过了。但它并不像上面提到的那样有效。当我在从二进制文件创建程序的行之后插入“clBuildProgram(program,0,NULL,NULL,NULL,NULL)”时,程序工作 我还查阅了其他参考资料。其中一些提到我们必须在那里插入“build”行。我还浏览了这个网站上的所有相关问题。但是我对这件事没有任何清晰的想法 我觉得如果我们真的避免“构建”部分,我们可以减

我阅读了一些使用二进制文件优化内核调用的教程。我参考了下面的链接

这里提到,如果我们使用二进制文件,我们不必构建创建的程序。我试过了。但它并不像上面提到的那样有效。当我在从二进制文件创建程序的行之后插入“clBuildProgram(program,0,NULL,NULL,NULL,NULL)”时,程序工作

我还查阅了其他参考资料。其中一些提到我们必须在那里插入“build”行。我还浏览了这个网站上的所有相关问题。但是我对这件事没有任何清晰的想法

我觉得如果我们真的避免“构建”部分,我们可以减少执行所需的时间

如果我们必须使用“构建”部分,那么我的另一个问题是使用二进制而不是源代码有什么好处


提前感谢。

规格是您的朋友

。必须调用clBuildProgram 对于使用clCreateProgramWithSource或 clCreateProgramWithBinary为一个或多个设备构建程序可执行文件 与程序关联

所以明确地说,即使您使用的是二进制程序,也必须调用buildprogram

在大多数情况下,二进制程序的构建程序比文本程序的构建程序快。因此,存在边际速度效益