Calculate Amdahl’s Law speedup, maximum speedup, or processors needed from the parallel portion and number of processors or cores.

Amdahl’s Law Calculator

Enter the parallel portion of your program and the processor count to get the expected speedup.

Speedup
Max Speedup
Processors Needed
%
cores
%
×
%
Speedup
How this is calculated
Copy

Related Calculators

Amdahl’s Law Formula

Amdahl’s Law estimates how much faster a task can run when only part of the work can be parallelized. The serial part still runs on one processor, so it limits the total speedup.

S = 1 / ((1 - p) + p / n)
  • S = speedup compared with running on one processor
  • p = parallel portion of the program, entered as a decimal in the formula
  • n = number of processors or cores
  • 1 – p = serial portion of the program

For maximum theoretical speedup, the processor count approaches infinity. The parallel part becomes negligible, but the serial part remains.

Sₘax = 1 / (1 - p)
  • S_max = maximum possible speedup as processor count becomes very large
  • p = parallel portion of the program as a decimal

To find how many processors are needed for a target speedup, the standard Amdahl’s Law equation is rearranged to solve for n.

n = p / (1 / S - (1 - p))
  • n = processors needed
  • S = target speedup
  • p = parallel portion of the program as a decimal

The speedup function uses the parallel percentage and processor count to estimate actual speedup. The max speedup function shows the upper limit caused by the serial portion. The processors needed function calculates the core count required to reach a target speedup, if that target is possible for the given parallel portion.

Parallel Portion and Theoretical Speedup Limits

The serial portion has a large effect on the maximum possible gain. Even a small serial fraction can cap speedup sharply.

Parallel portion Serial portion Maximum speedup
50% 50% 2.00×
75% 25% 4.00×
90% 10% 10.00×
95% 5% 20.00×
99% 1% 100.00×

Typical Speedup Interpretation

Calculated speedup Interpretation
Less than 1.5× Small improvement. Serial work is likely a major bottleneck.
1.5× to 3× Modest parallel gain.
3× to 8× Good scaling for many parallel workloads.
8× to 20× Strong scaling. Most of the workload is parallel.
More than 20× Very high parallel fraction is required.

Example Calculations

Example 1: Speedup with 80% parallel code and 8 cores

Suppose a program is 80% parallel and runs on 8 cores.

S = 1 / ((1 - 0.80) + 0.80 / 8)
S = 1 / (0.20 + 0.10) = 3.33

The expected speedup is 3.33×.

Example 2: Maximum speedup with 95% parallel code

Suppose a program is 95% parallel. The serial portion is 5%.

Sₘax = 1 / (1 - 0.95)
Sₘax = 1 / 0.05 = 20

The maximum theoretical speedup is 20×, no matter how many processors are added.

FAQ

What does the parallel portion mean?

The parallel portion is the fraction of the program that can be split across multiple processors. For example, if 90% of the runtime can be parallelized, then p = 0.90. The remaining 10% is serial and must run sequentially.

Why does adding more processors eventually stop helping much?

Adding processors only speeds up the parallel part. The serial part does not shrink as more processors are added. As the processor count grows, the serial portion becomes the main limit on total speedup.

Can Amdahl’s Law predict real-world performance exactly?

No. Amdahl’s Law is a theoretical estimate. Real systems can be slower because of communication overhead, memory bandwidth limits, synchronization, load imbalance, and scheduling costs. It is best used to understand the upper limit of parallel speedup.