How to distribute batches among gpus selectively

I have two GPUs, one has 11GB and the other one 24GB.
If I use batch size 8, both will have 4 batches.
I want to do batch size 12 in a way that gpu 0 has 4 and gpu 1 has 8.
usually, gpu 0 requires more memory due to backropagation, so i like put most of the batches on other gpus.
any help?