According to Amdahl's law, for n processors, we can achieve a speedup of at most n if 100% of the program is parallelizeable (f = 1 for the equation in the slide).

But in a previous lecture, we learned that we can achieve superlinear speedup. Doesn't this contradict Amdahl's law?

lol

@above, No it does not. Amdahl's law only applies when comparing uniform computation models. In the example mentioned in the link, effectively utilizing caches on multiple cores may lead to superlinear speedup as single core performance could be cache - inefficient. In this case, the comparision is non-uniform, as the multicore program has more resources (caches) so we cannot use Amdahl's law to attempt to justify the speedup.

According to Amdahl's law, for n processors, we can achieve a speedup of at most n if 100% of the program is parallelizeable (f = 1 for the equation in the slide).

But in a previous lecture, we learned that we can achieve superlinear speedup. Doesn't this contradict Amdahl's law?

@above, No it does not. Amdahl's law only applies when comparing uniform computation models. In the example mentioned in the link, effectively utilizing caches on multiple cores may lead to superlinear speedup as single core performance could be cache - inefficient. In this case, the comparision is non-uniform, as the multicore program has more resources (caches) so we cannot use Amdahl's law to attempt to justify the speedup.