cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

Raistmer
Adept II

few programs with single queue - possible?

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?
Will it lead to any performance degradation vs single big cl file with all kernels, if possible?
0 Likes
3 Replies
nou
Exemplar

of course it is possible. i do not see reason why it should have performance decrease. only difference can be in compilation time.

0 Likes
genaganna
Journeyman III

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.

0 Likes
Raistmer
Adept II

thanks!
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...
0 Likes