Spliting keras model into multiple GPU's
One graph - multiple GPUs

In order to specify specific GPU for layers, this post can be helpful. Just specify for layer the GPU device.

Multiple copies of graph - multi_gpu_model()

There is a multi_gpu_model() function in Keras which will make your training be distributed on multiple GPUs on one machine.

But, as it is stated in the documentation, this approach copies the graph on multiple GPUs and splits the batches to those multiple GPUs and later fuses them.

When using this multi_gpu_model() be aware that you might encounter a problem with saving such model, but it can be easily solved by saving the original model as stated is this answer.