of course it is possible. i do not see reason why it should have performance decrease. only difference can be in compilation time.
Originally posted by: Raistmer is it possible to use not one but few *.cl files, create few "programs" via clCreateProgramWithSource, each program from each *.cl file, then build these programs for same device and use kernels from all these programs in the same single queue and same single context?
You can have any number of .cl files, programs and kernels.
You can create single program from any number of .cl files
Single program can have any number of kernels.
Will it lead to any performance degradation vs single big cl file with all kernels, if possible?
No matter how big your program or cl file. Only matters how big your kernel because it has to be moved to GPU which might degrades the performance. It is very rare that kernel is very big.
I thought exactly about compilation time when asked about difference in performance.Kernels have to be compiled from text sources, somehow I feel it's not as fast as just load precompiled binary from file...