MCPcopy Create free account
hub / github.com/Kitware/VTK / TestPartitionBalancer

Function TestPartitionBalancer

Filters/Parallel/Testing/Cxx/TestPartitionBalancer.cxx:254–419  ·  view source on GitHub ↗

----------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

252
253//----------------------------------------------------------------------------
254int TestPartitionBalancer(int argc, char* argv[])
255{
256 int retVal = EXIT_SUCCESS;
257
258 vtkNew<vtkMPIController> controller;
259
260 controller->Initialize(&argc, &argv);
261 vtkMultiProcessController::SetGlobalController(controller);
262
263 int rank = controller->GetLocalProcessId();
264
265 vtkNew<vtkPartitionedDataSetCollection> pdsc;
266 pdsc->SetNumberOfPartitionedDataSets(2);
267
268 // rank 0: PDC [ PD (DS0, DS1, DS2) ] [PD (nullptr, DS100) ]
269 // rank 1: PDC [ PD (DS3, nullptr, DS4) ] [PD () ]
270
271 if (rank == 0)
272 {
273 vtkNew<vtkPartitionedDataSet> pds0;
274 pds0->SetNumberOfPartitions(3);
275 pds0->SetPartition(0, GenerateDataSet(0, 0));
276 pds0->SetPartition(1, GenerateDataSet(0, 1));
277 pds0->SetPartition(2, GenerateDataSet(0, 2));
278 pdsc->SetPartitionedDataSet(0, pds0);
279
280 vtkNew<vtkPartitionedDataSet> pds1;
281 pds1->SetNumberOfPartitions(2);
282 pds1->SetPartition(0, nullptr);
283 pds1->SetPartition(0, GenerateDataSet(0, 3));
284 pdsc->SetPartitionedDataSet(1, pds1);
285 }
286 else if (rank == 1)
287 {
288 vtkNew<vtkPartitionedDataSet> pds0;
289 pds0->SetNumberOfPartitions(3);
290 pds0->SetPartition(0, GenerateDataSet(1, 0));
291 pds0->SetPartition(1, nullptr);
292 pds0->SetPartition(2, GenerateDataSet(1, 1));
293 pdsc->SetPartitionedDataSet(0, pds0);
294
295 pdsc->SetPartitionedDataSet(1, vtkNew<vtkPartitionedDataSet>());
296 }
297
298 vtkNew<vtkPartitionBalancer> balancer;
299 balancer->SetInputDataObject(pdsc);
300 balancer->SetController(controller);
301
302 if (rank == 0)
303 {
304 vtkLog(INFO, "Testing vtkPartitionBalancer for vtkPartitionedDataSetCollection input");
305 }
306
307 if (rank == 0)
308 {
309 vtkLog(INFO, "*** Expand mode");
310 }
311

Callers

nothing calls this directly

Calls 15

TestExpandPDS0Function · 0.85
TestExpandPDS1Function · 0.85
TestSquashPDS0Function · 0.85
TestSquashPDS1Function · 0.85
SetPartitionedDataSetMethod · 0.80
GetPartitionedDataSetMethod · 0.80
GenerateDataSetFunction · 0.70
InitializeMethod · 0.45
GetLocalProcessIdMethod · 0.45
SetNumberOfPartitionsMethod · 0.45

Tested by

no test coverage detected