Я работаю над проблемой закона Амдала, которая заключается в расчете ускорения программы, которая имеет части, которые работают параллельно и на нескольких ядрах.У меня нет полностью твердого понимания закона Амдала, поэтому извините за любые ошибки, которые я совершаю.
Если я пытаюсь рассчитать ускорение 20% кода программы, и эту часть, которая может быть разделена 2-Способы и выполняемые параллельно и выполняются на 2-ядерном компьютере.Будет ли уравнение для этой части программы выглядеть следующим образом?
Исходное уравнение: 1 / ((1-p) + (p / n))
Моя ситуация: 1 / ((1-.2) + (.2 / 4)) = 1,17 = увеличение скорости на 17%?
n = 4, поскольку там оно разделено на два пути, а также на 2 ядра (следовательно, 2 + 2 = 4 =n) и p = .2, поскольку это только 20% проблемы.Кажется ли это правильным?
И затем для других частей кода, я бы просто изменил p, чтобы быть процентом кода, и n, чтобы быть ядрами + количество параллельных разбиений, и это добавило бы все результатыиз всех порций?
Спасибо.