device to device memory use

My query is
can I use the data of kernel 0 into kernel 1 directly…or first i will have to copy memory from Device to Host from kernel 0
the copy memory from Host to Device for kernel 1…

If the “data” is stored in global or constant memory, then you can leave it on the device between kernel calls without having to do any kind of intermediate copying. If the “data” is in shared memory or registers, then you will need to store it to global memory for the next kernel. But again, the intermediate copying isn’t necessary.