fupermod: Functional Performance Models of heterogeneous processors

Collaboration diagram for fupermod_dynamic:

List of all members.

Public Attributes

fupermod_partition partition
int size
fupermod_model ** models
fupermod_distdist

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

Number of processors

Current functional performance models

Current distribution


The documentation for this struct was generated from the following file: