fupermod: Functional Performance Models of heterogeneous processors
fupermod_dynamic Struct Reference
[Dynamic data partitioning and load balancing]
Collaboration diagram for fupermod_dynamic:
Public Attributes | |
fupermod_partition | partition |
int | size |
fupermod_model ** | models |
fupermod_dist * | dist |
Detailed Description
Dynamic partitioner/balancer Code snippet for dynamic data partitioning
fupermod_dynamic partitioner; fupermod_benchmark* benchmark = fupermod_benchmark_X_alloc(); int status = 0; while (!status) { fupermod_partitioner_iterate(&partitioner, comm, root, precision, benchmark); if (rank == root) status = fupermod_dist_test(partitioner.dist, eps); MPI_Bcast(&status, 1, MPI_INT, root, comm); } fupermod_benchmark_X_free(benchmark);
Code snippet for dynamic load balancing
fupermod_dynamic balancer; loop { long long int d; fupermod_dist_scatter(balancer.dist, &d, comm, root); ... // redistribute data according to balancer.dist struct timeval start; gettimeofday(&start, NULL); ... // execute an iteration of the routine fupermod_balancer_iterate(&balancer, comm, root, start); }
Member Data Documentation
Partitioning algorithm
Number of processors
Current functional performance models
Current distribution
The documentation for this struct was generated from the following file:
- fupermod/fupermod_dynamic.h