Vertical partitioning splits every model layer across available devices. Each device performs part of a parallel operation, such as matrix multiplication, then the partial outputs are merged. section 18.2.1
Splitting a dense layer
For a dense layer with 16,000 inputs and 64,000 outputs, split the kernel and bias into halves. GPU 0 computes one half and GPU 1 computes the other; concatenate both outputs to form the complete layer output. section 18.2.1
Unlike horizontal partitioning, which assigns different layers to different devices, vertical partitioning keeps each layer distributed and suits highly parallelizable operations. section 18.2.1
