How to reuse temporary buffer across multiple calls of thrust::sort_by_key?

I need to call thrust::sort_by_key multiple times with same input(same device array with different data).
How to tell thrust to reuse temporary buffers?
I don’t want cudaMalloc/cudaFree be called each time I call thrust::sort_by_key because it lower down performance.

You also have direct control over this using cub.

Nice, thanks a lot :)