How to use clCreateProgramWithBinary() on cuda device using OpenCL ?

Hello All,
I am currently writing some code using OpenCL on CUDA devices and came across this dilemma that generated binaries for the program using OpenCL on a cluster node with multiple T10 devices, couldn’t be used to re-create the program using clCreateProgramWithBinary(). After checking the binaries, for AMD gpus, the binaries are in ELF, while in PTX for Nvidia gpus.
Does anyone have a suggestion/solution for such problem?
Your advice is greatly appreciated! Thank you in advance.


To update here, I change to the following code
errNum = clBuildProgram(program, 1, &device, opt, NULL, NULL);
errNum = clBuildProgram(program, 0, NULL, opt, NULL, NULL);
after clCreateProgramWithBinary() is called.
However, the loading speed is faster on AMD Cypress than Nvidia T10.
Is it because OpenCL is no longer welcomed on Nvida GPUs?