Skip to content

New vtkPartitionBalancer filter

This filter balances out input partitioned data set or input partitioned data set collection. The output will have the same number of partitions accross all ranks. This filter aims at making the transition from multiblocks to partitions a bit gentler, allowing legacy filters assuming the same number of blocks in each ranks to still work. Data sets are not exchanged between ranks: nullptr are added to partitions following some mode that the user can set as a parameter.

Invalid partitions in the input (nullptr partitions) are squeezed.

Two modes are implemented:

  • Expand: Generates as many output partitions as there are input partitions across all ranks. For i < j, partitions of in rank i are allocated in the output before partitions of rank j.
  • Squash: Generates the minimum number of partitions possible, appending nullptr in ranks lacking partitions.

Here's an illustration:

Input:
rank 0: PDC [ PD (DS0, DS1,     DS2) ] [PD (nullptr, DS100) ]
rank 1: PDC [ PD (DS3, nullptr, DS4) ] [PD ()               ]

Expand mode:
rank 0: PDC [PD (DS0,     DS1,     DS2,     nullptr, nullptr)]  [PD (DS100)  ]
rank 1: PDC [PD (nullptr, nullptr, nullptr, DS3,     DS4)    ]  [PD (nullptr)]

Squash mode:
rank 0: PDC [PD (DS0, DS1, DS2)    ]  [PD (DS100)  ]
rank 1: PDC [PD (DS3, DS4, nullptr)]  [PD (nullptr)]

Adresses paraview/paraview#20802 (closed)

Merge request reports