Вам нужно будет знать модель и поставщика процессоров на вашей машине. Получив это, вы можете посмотреть на веб-сайте производителя (или, возможно, в Википедии) тактовую частоту, количество чипов / сокетов, количество ядер на чип, количество операций с плавающей запятой за цикл и векторную ширину этих операций. , Затем вы просто умножаете.
Взять, к примеру, процессоры Intel Xeon E5-2680 «Sandy Bridge» в Стампеде, где я работаю. Спецификации:
- 2.7GHz
- 2 чипа / узел, 8 ядер / чип
- 2 векторных инструкции / цикл
- Инструкции AVX шириной 256 бит (4 операнда с двойной точностью)
Умножение этих значений дает 345,6 GF / узел или 2,2 PF для неускоренной части системы.
Мы обычно думаем с точки зрения операций с двойной точностью (64-разрядных), потому что это точность, необходимая для подавляющего большинства наших пользователей, но вы можете при желании повторить вычисления в терминах с одинарной точностью. Обычно это только меняет последний фактор, скажем, 8 SP Flops / инструкция вместо 4 DP Flops / inst, но он может сильно отличаться от этого. Например, более старые GPU делали DP только на 1/8 скорости SP. Если вы когда-нибудь цитируете число для своей системы, вы должны четко указать, какое из них вы использовали, если это не двойная точность, потому что люди примут это, в противном случае.
Кроме того, если ваша микросхема поддерживает слитые команды умножения-сложения (FMA) и может выполнять их с полной скоростью, то большинство людей считают это 2 операциями с плавающей запятой, хотя счетчик производительности оборудования может считать его только одной инструкцией.
Наконец, вы также можете сделать это для любых ускорителей, которые могут существовать в вашей системе (например, графического процессора или Xeon Phi), и добавить эту производительность к производительности ЦП, чтобы получить теоретический итог.