Как AMD Rome масштабирует FMA

Sep 21, 2019 16:36

Рассмотрим результаты теста масштабируемости для 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

fma, amd

Previous post Next post
Up