Рассмотрим результаты теста масштабируемости для FMA (Fused Multiply and Add), запускаемого на платформе с
процессором AMD EPYC 7452. Поскольку операция вычисляет скалярное произведение двух векторов, обрабатывается два массива, это определяет положение точки перегиба зависимости производительности от размера массива в окрестности объема L1.
Процессор располагает кэш памятью L1=32KB на ядро, в контексте нашего теста это два массива по 16KB, поэтому в тестах без SMT точка перегиба имеет место при X=16KB. При включении SMT (HyperThreading), кэш одного ядра совместно используется двумя потоками, поэтому точка перегиба имеет место при X=8KB.
Оценим масштабируемость, сравнивая пиковые значения (таким же образом можно сравнить минимальные, средние и медианные значения):
1 поток, производительность около 73 GBPS
32 потока, около 2315 GBPS, значение ratio = 2315/73 = 31.71 близко к количеству ядер = 32
64 потока (SMT), около 2368 GBPS, ratio = 2368/73 = 32.43 даже немного больше количества ядер = 32