Kernel launch time

What is exactly kernel launch time? Is there any way to reduce kernel launch time? I am calling many kernel in my application. Average kernel execution time is 15 sec, but because of kernel launch time my application takes more time compare to cpu.

There’s not really any good way to get rid of kernel launch time. It is possible to reduce this overhead by queuing several kernels at once, if possible. The kernel overhead then gets amortized over the number of kernel calls.