wrench::AmdahlParallelModel

class AmdahlParallelModel : public wrench::ParallelModel

A class that defines an Amdahl’s Law-based parallel task performance model.

Public Functions

double getAlpha() const

Get the Amdahl Law’s alpha parameter, i.e., the fraction of the sequential execution time that is parallelizable.

Returns:

the alpha parameter (a value between 0.9 and 1.0)

virtual double getParallelPerThreadWork(double total_work, unsigned long num_threads) override

Get the amount of per-thread parallel work.

Parameters:
  • total_work – the total work

  • num_threads – the number of threads

Returns:

an amount of work in flops

virtual double getPurelySequentialWork(double total_work, unsigned long num_threads) override

Get the amount of purely sequential work.

Parameters:
  • total_work – the total work

  • num_threads – the number of threads

Returns:

an amount of work in flops

void setAlpha(double alpha)

Set the Amdahl Law’s alpha parameter, i.e., the fraction of the sequential execution time that is parallelizable.

Parameters:

alpha – the alpha parameter (a value between 0.9 and 1.0)