# Horizontal PartitionType

Next: Vertical, Previous: Partition, Index: Index

The horizontal[a] type (a is number of blocks) will split up data horizontally into blocks. If the split is uneven then the extra data will be distributed amongst the blocks in the most efficient way to to keep the blocks as similar size as possible. There are a number of different communication rules associated with the horizontal partition, based on the assignment a:=b

a | b | Semantics
--- | --- | ---
partition | single | MPI Scatter
single | partition | MPI Gather
partition | partition | Depends on whether or not the partitions are the same type

Looking at the last row in the table, if the two partitons are the same type then a simple copy can often be performed. However, if they are different then an error will be generated - you can not assign differently typed partitions to each other.
Horizontal blocks also support .high and .low, which will return the top and bottom bounds of the block
Last Modified: August 2008