Create Account
Sign In

User Profile

Xeon


Xeon
Send a PM to Xeon
08/10/2018
Member

Activity

Xeon is currently Offline

Многопоточность, Векторизация
максимальная частота Turbo Boost для многопоточных рабочих нагрузок с тяжелой арифметикой AVX-512.



Максимальная частота Turbo Boost для многопоточных рабочих нагрузок, векторизованных с помощью AVX-512 и использующих все ядра.


Для такого типа рабочих нагрузок параллельная эффективность S также подчиняется законам Amdahl. Однако ускорение нелегко оценить для этого случая, потому что определение доли параллельной работы p нечетко определено, когда многопоточная часть вычисления векторизована, а однопоточная часть - нет.
Однако, поскольку вычисления с ограничением на количество вычислений выполняют преимущественно арифметику и имеют небольшое разветвление, мы можем определить абсолютное ожидание производительности в единицах FLOP / s (операции с плавающей запятой в секунду). Конечно, это не может быть ни одной метрикой для всех типов операций. Например, сложение и умножение с плавающей запятой в AVX-512 на архитектуре Skylake имеет пропускную способность 1 векторную инструкцию за цикл в каждом блоке FMA, тогда как трансцендентные операции и деление имеют намного меньшую пропускную способность. На другом конце спектра плавное многократное добавление (FMA) также имеет пропускную способность 1 векторной команды за цикл на единицу FMA, но вы можете считать каждый FMA как два FLOP на каждой векторной полосе. Имея это в виду, ФМА теоретический пик для процессоров золота и платины
, (2)
, где G представляет собой ожидаемый производительность в GFLOP / с, С представляет собой количество ядер на сокет,Т PV частота наддува максимальное Турбо для всех ядер загружено с инструкциями AVX-512, L этого числа гнезд, Wширина вектора ( Ш = 16 для одинарной точности, W = 8 для двойной точности), Н является пропускной способностью команды ( Н = 1 инструкции за один цикл сложение, умножение, вычитание и FMA), U является количество единиц FMA (U = 2 для Платина 81xx и процессоров 61xx Gold, U = 1 для всех остальных), и F является количество плюхается на инструкцию ( F = 2 для FMA и F = 1 для всех других инструкций).
приведены графики G для процессоров, обсуждаемых в этой статье.



Теоретическая пиковая производительность сплавленного многократного добавления в двойной точности на двухсоставной системе.


Значение можно легко сравнить с результатами эталонного теста HPL (который также измеряется в FLOP / s) и для производительности большинства операций линейной алгебры, таких как xGEMM (умножение матричной матрицы).Последнее непосредственно переводится в ожидаемую производительность в обучении и выводах глубокой нейронной сети.
Чтобы проверить частоту времени выполнения и достигнутую долю теоретического пика, я провел сравнительные тесты четырех эталонных моделей ЦП с вычислением DGEMM (умножение матрицы с двойной точностью) с использованием реализации в Intel Math Kernel Library 2018 (MKL). xGEMM в MKL любит использовать один поток на ядро, и в системе была включена гиперпоточность, поэтому мне пришлось установить OMP_NUM_THREADS равным количеству физических ядер, OMP_PLACES = ядер и OMP_PROC_BIND = закрыть . Чтобы измерить тактовую частоту под нагрузкой, я сделал снимок / proc / cpuinfo . Затем я перевел время выполнения DGEMM во FLOP / s, разделив количество операций с плавающей запятой 2 n 3 на время вычисления. Здесь n - размер умноженных матриц и n = 24000 в этих тестах результаты.

Сборка сервера


Interests

--