我正在构建一个 OpenCL 程序 - 使用 NVIDIA CUDA 11.2 的 OpenCL 库(及其 C++ 绑定)。成功调用 cl::Program::build()
后,对于单个设备(通过单个设备索引传递向量),我使用:built_program.getInfo<CL_PROGRAM_BINARY_SIZES>()
获取生成的“二进制”大小,这也成功,但给了我 3 个值:一个非零值和两个零。当我打印第一个二进制文件时,我看到了我期望的 PTX 代码。
我的问题:为什么给我两个(空)额外的二进制文件?