Best tile size on both cpu and gpu
Starting from version 2.8

CUDA renders no longer need to use large tiles. In many cases rendering with a tile size of for example 32x32 will actually be faster now. When using denoising it may still be somewhat faster to user large tiles, but this comes with a high memory usage cost. (6da6f8d6da)

reference: https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Cycles
For 2.83 new changes:

For GPU rendering, adaptive sampling sometimes needs a bigger tile size for good performance. For combined CPU + GPU rendering, tiles rendered on the CPU and GPU may not match exactly. We will investigate automatic solutions to these problems for future releases.

reference https://wiki.blender.org/wiki/Reference/Release_Notes/2.83/Cycles