FLOPS

(перенаправлено с «Терафлопс»)

FLOPS (также flops, flop/s, флопс или флоп/с; акроним от англ. FLoating-point OPerations per Second, произносится как флопс) — внесистемная единица, используемая для измерения производительности компьютеров, показывающая, сколько операций с плавающей запятой в секунду выполняет данная вычислительная система. Поскольку современные компьютеры обладают высоким уровнем производительности, более распространены производные величины от флопс, образуемые путём использования приставок СИ.

Производительность суперкомпьютеров
Названиегодфлопсы
флопс1941100
килофлопс1949103
мегафлопс1964106
гигафлопс1987109
терафлопс19971012
петафлопс20081015
эксафлопс20221018
зеттафлопсНе ранее 2030[1][2]1021
иоттафлопсНе ранее 2040-ых.1024
роннафлопсНе ранее 2050-ых.1027
кветтафлопсНе ранее конца 2060-ых.1030
Рост производительности суперкомпьютеров

FLOP или FLOPS

Существуют разногласия насчёт того, допустимо ли использовать слово FLOP от англ. FLoating point OPeration в единственном числе (и такие варианты как flop или флоп). Некоторые считают, что FLOP (флоп) и FLOPS (флопс или флоп/с) — синонимы, другие же полагают, что FLOP — это просто количество операций с плавающей запятой (например, требуемое для исполнения данной программы), а FLOPS — мера производительности, способность выполнять определённое количество операций с плавающей запятой за секунду.

Флопс как мера производительности

Как и большинство других показателей производительности, данная величина определяется путём запуска на испытуемом компьютере тестовой программы, которая решает задачу с известным количеством операций и подсчитывает время, за которое она была решена. Наиболее популярным тестом производительности на сегодняшний день являются тесты производительности LINPACK, в частности HPL, используемый при составлении рейтинга суперкомпьютеров TOP500[источник не указан 366 дней].

Одним из важнейших достоинств измерения производительности во флопсах является то, что данная единица до некоторых пределов может быть истолкована как абсолютная величина и вычислена теоретически, в то время как большинство других популярных мер являются относительными и позволяют оценить испытуемую систему лишь в сравнении с рядом других. Эта особенность даёт возможность использовать для оценки результатов работы различных алгоритмов, а также оценить производительность вычислительных систем, которые ещё не существуют или находятся в разработке.

Границы применимости

Несмотря на кажущуюся однозначность, в реальности флопс является достаточно плохой мерой производительности, поскольку неоднозначным является уже само его определение. Под «операцией с плавающей запятой» может скрываться масса разных понятий, не говоря уже о том, что существенную роль в данных вычислениях играет разрядность операндов, которая также нигде не оговаривается. Кроме того, флопс подвержен влиянию очень многих факторов, напрямую не связанных с производительностью вычислительного модуля, таких как пропускная способность каналов связи с окружением процессора, производительность основной памяти и синхронность работы кэш-памяти разных уровней.

Всё это, в конечном итоге, приводит к тому, что результаты, полученные на одном и том же компьютере при помощи разных программ, могут существенным образом отличаться; более того, с каждым новым испытанием разные результаты можно получить при использовании одного алгоритма. Отчасти эта проблема решается соглашением об использовании единообразных тестовых программ (той же LINPACK) с усреднением результатов, но со временем возможности компьютеров «перерастают» рамки принятого теста и он начинает давать искусственно заниженные результаты, поскольку не задействует новейшие возможности вычислительных устройств. А к некоторым системам общепринятые тесты вообще не могут быть применены, в результате чего вопрос об их производительности остаётся открытым.

Так, 24 июня 2006 года общественности был представлен суперкомпьютер MDGrape-3, разработанный в японском исследовательском институте RIKEN (Йокогама), с рекордной теоретической производительностью в 1 петафлопс. Однако данный компьютер не является компьютером общего назначения и приспособлен для решения узкого спектра конкретных задач, в то время как стандартный тест LINPACK на нём выполнить невозможно в силу особенностей его архитектуры.

Также высокую производительность на специфичных задачах показывают графические процессоры современных видеокарт и игровые приставки. К примеру, заявленная производительность видеопроцессора игровой приставки PlayStation 3 составляет 192 гигафлопса[3], а видеоускорителя приставки Xbox 360 и вовсе 240 гигафлопсов[3], что сравнимо с суперкомпьютерами двадцатилетней давности. Столь высокие показатели объясняются тем, что указана производительность над числами 32-разрядного формата[4][5], тогда как для суперкомпьютеров обычно указывают производительность на 64-разрядных данных[6][7]. Кроме того, данные приставки и видеопроцессоры рассчитаны на операции с трёхмерной графикой, хорошо поддающиеся распараллеливанию, однако эти процессоры не в состоянии выполнять многие задачи общего назначения, и их производительность сложно оценить классическим тестом LINPACK[8] и тяжело сравнить с другими системами.

Пиковая производительность

Для подсчёта максимального количества флопс для процессора нужно учитывать, что современные процессоры в каждом своём ядре содержат несколько исполнительных блоков каждого типа (в том числе и для операций с плавающей запятой), работающих параллельно, и могут выполнять более одной инструкции за такт. Данная особенность архитектуры называется суперскалярность и впервые появилась ещё в ЭВМ CDC 6600 в 1964 году. Массовое производство компьютеров с суперскалярной архитектурой началось с выпуском процессора Pentium в 1993 году. Процессор конца 2000-х годов, Intel Core 2, также является суперскалярным и содержит 2 устройства вычислений над 64-разрядными числами с плавающей запятой, которые могут завершать по 2 связанные операции (умножение и последующее сложение, MAC) в каждый такт, теоретически позволяющих достичь пиковой производительности до 4 операций за 1 такт в каждом ядре[9][10][11]. Таким образом, для процессора, имеющего в своём составе 4 ядра (Core 2 Quad) и работающего на частоте 3,5 ГГц, теоретический предел производительности составляет 4х4х3,5=56 гигафлопс, а для процессора, имеющего 2 ядра (Core 2 Duo) и работающего на частоте 3 ГГц — 2х4х3=24 гигафлопс, что хорошо согласуется с практическими результатами, полученными на тесте LINPACK.

AMD Phenom 9500 sAM2+ с тактовой частотой 2,2 ГГц:2200 МГц × 4 ядра × 4⋅10−3 = 35,2 Гигафлопса
Для четырёхъядерного процессора Core 2 Quad Q6600:2400 МГц × 4 ядра × 4⋅10−3 = 38,4 Гигафлопса.

Более новые процессоры могут исполнять до 8 (например, Sandy и Ivy Bridge, 2011—2012 гг, AVX) или до 16 (Haswell и Broadwell, 2013—2014 гг, AVX2 и FMA3) операций над 64-битными числами с плавающей запятой в такт (на каждом ядре)[11]. В последующих процессорах ожидается исполнение 32 операций в такт (Intel Xeon Skylake, Xeon *v5, 2015 г, AVX512)[12]

Sandy и Ivy Bridge c AVX: 8 Флопс/такт двойной точности[13], 16 Флопс/такт одинарной точности
Intel Core i7 2700:/Intel Core i7 3770: 8*4*3900 МГц = 124,8 Гфлопс пиковая двойной точности, 16*4*3900 = 249,6 Гфлопс пиковая одинарной точности.

Intel Haswell/Broadwell с AVX2 и FMA3: 16 Флопс/такт двойной точности[13]; 32 одинарной точности Флопса/такт
Intel Core i7 4770: 16*4*3900 МГц = 249,6 Гигафлопса пиковая двойной точности, 32*4*3900 = 499,2 Гфлопс пиковая одинарной точности.

Причины широкого распространения

Несмотря на большое число существенных недостатков, флопс продолжает с успехом использоваться для оценки производительности, базируясь на результатах теста LINPACK. Причины такой популярности обусловлены, во-первых, тем, что флопс, как говорилось выше, является абсолютной величиной. А во-вторых, очень многие задачи инженерной и научной практики в конечном итоге сводятся к решению систем линейных алгебраических уравнений, а тест LINPACK как раз и базируется на измерении скорости решения таких систем. Кроме того, подавляющее большинство компьютеров (включая суперкомпьютеры) построены по классической архитектуре с использованием стандартных процессоров, что позволяет использовать общепринятые тесты с большой достоверностью.

В различных алгоритмах, кроме возможности выполнять большое количество математических действий в ядре процессора, может потребоваться пересылка больших объёмов данных через подсистему памяти, и их производительность будет сильно ограничена из-за этого, например, как в уровнях 1 и 2 библиотек BLAS[11]. Однако, алгоритмы, используемые в тестах типа LINPACK (уровень 3 BLAS), имеют высокий коэффициент переиспользования данных, пересылка данных между процессором и памятью в них занимает менее 1/10 общего времени, и они обычно достигают типичной производительности до 80-95 % от теоретического максимума.

Обзор производительности реальных систем

Из-за высокого разброса результатов теста LINPACK приведены примерные величины, полученные путём усреднения показателей на основе информации из разных источников. Производительность игровых приставок и распределённых систем (имеющих узкую специализацию и не поддерживающих тест LINPACK) приведена в справочных целях в соответствии с числами, заявленными их разработчиками. Более точные результаты с указанием параметров конкретных систем можно получить, например, на сайте The Performance Database Server.

Суперкомпьютеры

Уно

Кило

Мега

Гига

Тера

Пета

Экса

  • Frontier (2022) — 1,194 эксафлопса(пиковая мощность 1,679 эксафлопса) -США

Зетта

В период с 2030 по 2035 год ведущими компаниями мира планируется создать суперкомпьютер мощностью 1 зеттафлопс. Планируемая потребляемая мощность от 80 до 120 Мегаватт, энергоэффективность: 10 терафлопс/ватт, пропускная способность ввода-вывода: 10-100 петабайт/сек, объем памяти: 1,0 зеттабайт.

В 2025 году Словацкая компания Tachyum планирует запустить суперкомпьютер на базе универсальных процессоров Prodigy. После запуска он обеспечит производительность 8 зеттафлопс в задачах обучения искусственного интеллекта для больших языковых моделей. (В стандартных задачах расчётная производительность более 50 эксафлопс)

Процессоры персональных компьютеров

Пиковая производительность двойной точности[27]

  • Zilog Z80 + математический сопроцессор AMD Am9512, 3 МГц (1977—1980) ~ 1-2 килофлопса[28]
  • Intel 80486DX/DX2 (1990—1992) — до 30-50 Мфлоп/с[29]
  • Intel Pentium 75-200 МГц (1996) — до 75-200 Мфлоп/с[29][30]
  • Intel Pentium III 450—1133 МГц (1999—2000) — до 450—1113 Мфлоп/с[29][30]
  • Intel Pentium III-S (2001) 1 — 1,4 ГГц — до 1 — 1,4 Гфлоп/с[30]
  • МЦСТ Эльбрус 2000 300 МГц (2008) — 2,4 Гфлоп/с
  • Intel Atom N270, D150 1,6 ГГц (2008—2009) — до 3,2 Гфлоп/с[29]
  • Intel Pentium 4 2,5-2,8 ГГц (2004) — до 5 — 5,6 Гфлоп/с[29]
  • МЦСТ Эльбрус-2С+ 500 МГц, 2 ядра (2011) — 8 Гфлоп/с
  • AMD Athlon 64 X2 4200+ 2,2 ГГц, 2 ядра (2006) — 8,8 Гфлоп/с
  • Intel Core 2 Duo E6600 2,4 ГГц, 2 ядра (2006) — 19,2 Гфлоп/с
  • МЦСТ Эльбрус-4С (1891ВМ8Я, Эльбрус v.3) 800 МГц, 4 ядра (2014) — 25 Гфлоп/с[31]
  • Intel Core i3-2350M 2,3 ГГц, 2 ядра (2011) — 36,8 Гфлоп/с
  • Intel Core 2 Quad Q8300 2,5 ГГц, 4 ядра (2008) — 40 Гфлоп/с
  • AMD Athlon II X4 640 3,0 ГГц, 4 ядра (2010) — 48 Гфлоп/с
  • Intel Core i7-975 XE (Nehalem) 3,33 ГГц, 4 ядра (2009) — 53,3 Гфлоп/с
  • AMD Phenom II X4 965 BE 3,4 ГГц, 4 ядра (2009) — 54,4 Гфлоп/с
  • AMD Phenom II X6 1100T 3,3 ГГц , 6 ядер (2010) — 79,2 Гфлоп/с
  • Intel Core i5-2500K (Sandy Bridge), 3,3 ГГц, 4 ядра (2011) — 105,6 Гфлоп/с
  • МЦСТ Эльбрус-8С (Эльбрус v.4) 1,3 ГГц, 8 ядер (2016) — 125 Гфлоп/с[32][33]
  • AMD FX-8350 4 ГГц, 8 ядер (2012) — 128 Гфлоп/с[34]
  • Intel Core i5-4430 (Haswell), 3,2 ГГц, 4 ядра (2013) — 147 ГФлоп/с (по оценке программы LINPACK)[35]
  • Intel Core i7-4930K (Ivy Bridge), 3,4 ГГц, 6 ядер (2013) — 163 ГФлоп/с
  • Loongson-3B1500 (MIPS64), 1,5 ГГц, 8 ядер (2016) — до 192 ГФлоп/с[36]
  • AMD Ryzen 7 1700X (Zen), 3,4 ГГц, 8 ядер (2017)[37] — 217 ГФлопс[38]
  • МЦСТ Эльбрус-8СВ (Эльбрус v.5) 1,5 ГГц, 8 ядер (2020)[39] — 288 Гфлоп/с[40][41]
  • IBM Power8 4,4 ГГц, 12 ядер (2013), 290 Гфлоп/с
  • Intel Core i7-5960X (Extreme Edition Haswell-E), 3,0 ГГц, 8 ядер (2014) — 384 Гфлоп/с (до 350 Гфлоп/с достижимо на практике[42])
  • Intel Core i9-9900k (Coffee Lake), 3,6 ГГц, 8 ядер (2018)[43] — 460 Гфлоп/с[44]
  • AMD Ryzen 7 3700X (Zen 2), 3,6 ГГц, 8 ядер (2019)[45] — 460 ГФлопс[44]
  • МЦСТ Эльбрус-12С 2 ГГц, 12 ядер (2020) — 576 Гфлоп/с
  • МЦСТ Эльбрус-16С 2 ГГЦ, 16 ядер (2021) — 768 Гфлоп/с[46].
  • AMD Ryzen 9 3950X (Zen 2), 3,5 ГГц, 16 ядер (2019)[47] — 896 ГФлоп/с[48]
  • Loongson 3D5000 (Loongarch64), 2 ГГц, 32 ядра (2022) — 1 терафлопс
  • Intel Core i9-14900K (Raptor Lake), 24 ядра, 3,2 ГГц (2023) — 1,95 терафлопс
  • Loongson 3D6000 (Loongarch64), 2,5 ГГц, 32 ядра (2023) — 2 терафлопса
  • Loongson 3E7000 (Loongarch64), 2,7 ГГц, 64 ядра (2024— план) — 4,2 терафлопса
  • AMD EPYC 7H12 (Zen 2), 3,3 ГГц, 64 ядра (2019)[49] — 4,2 терафлопса[50]
  • AMD EPYC Genoa 9654 (Zen4), 2,15 ГГц, 96 ядер (2022) — 8,1 терафлопса
  • AMD EPYC Bergamo 9754 (Zen4), 2,15 ГГц, 128 ядер (2023) — 10,9 терафлопса
  • PEZY‑SC3 (MIMD) 1,33 ГГц, 8192 ядра (2022) — FP64-21,8 Тфлопс, FP32-43,6 Тфлопс, FP16-87,2 Тфлопс
  • PEZY‑SC4 (MIMD) 1,6 ГГц, 16384 ядра (2023) — FP64-52,5 Тфлопс, FP32-105 Тфлопс, FP16-210 Тфлопс

Количество операций FLOP за такт для разных архитектур

Для ряда процессорных микроархитектур известны максимальные количества плавающих операций, исполняемых за такт на одном ядре. В следующем ниже списке указаны названия микроархитектур, а не семейства процессоров.

(single) — одинарной точности; (double) — двойной точности[51]

  • Intel P5 & P6 (no ISEs) + Pentium Pro & Pentium II = 1 (single); 1 (double)
  • P6 (только Pentium III) = 4 (single); 1 (double)
  • Bonnell (Atom) = 4 (Single); 1 (Double)
  • NetBurst = 4 (single); 2 (double)
  • Pentium M & Enhanced Pentium M = 4 (single); 2 (double)
  • Core, Penryn, Nehalem & Westmere = 8 (single); 4 (double)
  • Sandy Bridge & Ivy Bridge = 16 (single); 8 (double)
  • Haswell, Broadwell, Skylake, Kaby Lake & Coffee Lake = 32 (single); 16 (double)
  • Skylake-X, Skylake-SP, Cascade Lake-X (Xeon Gold & Platinum) = 64 (single); 32 (double)[52][53]
  • Bonnell, Saltwell, Silvermont & Airmont = 6 (single); 1.5 (double)
  • MIC («Knights Corner» Xeon Phi) = 32 (single); 16 (double)
  • MIC («Knights Landing» Xeon Phi) = 64 (single); 32 (double)[52]
  • AMD K5 & K6 = 0.5 (single); 0.5 (double)
  • K6-2 & K6-III = 4 (single); 0.5 (double)
  • K7 = 4 (single); ? (double)
  • K8 = 4 (single); 2 (double)
  • K10/Stars = 8 (single); 4 (double)
  • Husky = 8 (single); 4 (double)
  • Bulldozer, Piledriver, Steamroller & Excavator (Суммарно на пару ядер — модуль[54]) = 16 (single); 8 (double)
  • Bobcat = 4 (single); 1.5 (double)
  • Jaguar, Puma and Puma+ = 8 (single); 3 (double)
  • Zen, Zen+ = 16 (single); 8 (double)
  • Zen 2 = 32 (single); 16 (double)
  • МЦСТ Эльбрус 2000 (E2K) = 16 (single); 8 (double)[55][56]
  • Эльбрус версии 3 = 16 (single); 8 (double)
  • Эльбрус версии 4 = 24 (single); 12 (double)[57][58]
  • Эльбрус версии 5 = 48 (single); 24 (double)[59][60]

Процессоры карманных компьютеров

  • КПК на основе процессора Samsung S3C2440 400 МГц (архитектура ARM9) — 1,3 мегафлопса
  • Intel XScale PXA270 520 МГц — 1,6 мегафлопса
  • Intel XScale PXA270 624 МГц — 2 мегафлопса
  • Samsung Exynos 4210 2х1600 МГц — 84 мегафлопса
  • Apple A6 — 645 мегафлопсов (по оценке программы LINPACK)
  • Apple A7 — 833 мегафлопса (по оценке программы LINPACK)[61]
  • Apple A8 — 1,4 гигафлопса[62]
  • Apple A9 — 225,6 гигафлопс(fp32),56,4 гигафлопс (fp64)
  • Apple A10 — 365 гигафлопс(fp32), 91 гигафлопс (fp64)[63]
  • Apple A11 — 462 гигафлопс(fp32),116 гигафлопс (fp64)
  • Apple A12 — 536 гигафлопс(fp32)134 гигафлопс (fp64)
  • Apple A13 — 620 гигафлопс(fp32),155 гигафлопс (fp64)
  • Apple A14 — 824 гигафлопс(fp32), 206 гигафлопс (fp64)[63]
  • Apple A15 — 998 гигафлопс(fp32),250 гигафлопс (fp64)
  • Apple A16 — 1119 гигафлопс(fp32),280 гигафлопс (fp64)
  • Apple A17 Pro — 1252 гигафлопс(fp32),313 гигафлопс (fp64)

Распределённые системы

  • Bitcoin — имеет значительное количество специализированных вычислительных ресурсов, но решает исключительно целочисленные задачи (вычисление хеш-суммы SHA256). Практически все вычислители реализованы в виде специальных заказных микросхем (ASIC), которые технически не способны производить вычисления над числами с плавающей запятой. Следовательно, оценивать сеть Bitcoin с помощью флопсов в настоящее время некорректно.[64][65][66] Ранее, до 2011 года в сети использовались только ЦПУ и ГПУ, которые могут обрабатывать как целочисленные, так и плавающие данные, и оценка во флопсах получалась из метрики hash/s с помощью эмпирического коэффициента в 12,7 тысячи.[67][68] Например, на апрель 2011 мощность сети оценивалась таким методом примерно в 8 петафлопсов.[69]
  • Folding@home — более 2,6 эксафлопса на 23 апреля 2020 года, что делает его самым мощным и крупнейшим проектом распределённых вычислений в мире.
  • BOINC — более 41,5 петафлопса на март 2020 года[70]
  • SETI@home — 0,66 петафлопса (на 2013 год)[71]
  • Einstein@Home — более 5,2 петафлопсов на март 2020 года[72]
  • Rosetta@home — более 1,4 петафлопсов на март 2020 года.

Игровые приставки

Указаны операции с плавающей запятой над 32-разрядными данными

Графические процессоры

Теоретическая производительность (FMA; гигафлопсы):

Графический процессорГод выпускаТехпроцессГигафлопсов, для 32-разрядных вычисленийГигафлопсов, для 64-разрядных вычисленийИсточник
GeForce RTX 4090 (AD102)20224 нм82 5801 290
GeForce RTX 3090 (GA102)20208 нм29 388918,4
Geforce RTX 2080 Ti (TU102)201812 нм13 450420,2[84]
GeForce GTX 1080 (GP104)201616 нм8 873 (Boost)277 (Boost)
GeForce GTX 780 Ti (GK110-425-B1)201328 нм5 046210
GeForce GTX 680 (GK104)201228 нм3 090,4128,8
Radeon HD 7970 (Tahiti)201228 нм3 789947-1 024[85]
Radeon HD 6990 (2xCayman)201140 нм2x2550 = 5 1002x637 = 1 274[85]
Radeon HD 5970 (2xRV870)200940 нм2x2320 = 4 6402x464 = 928[85]
Radeon R9 Fury X (Fuji)201528 нм8 602538[85]

Человек и калькулятор

Калькулятор не случайно попал в одну категорию вместе с человеком, поскольку хотя он и является электронным устройством, содержащим процессор, память и устройства ввода-вывода, режим его работы кардинально отличается от режима работы компьютера. Калькулятор выполняет одну операцию за другой с той скоростью, с какой их запрашивает человек-оператор. Время, проходящее между операциями, определяется возможностями человека и существенно превышает время, которое затрачивается непосредственно на вычисления. Можно сказать, что в среднем производительность простейших обычных карманных калькуляторов составляет порядка 10 флопсов и более.

Если не брать исключительные случаи (см. феноменальный счётчик), то обычный человек, пользуясь лишь ручкой и бумагой, выполняет операции с плавающей запятой очень медленно и часто с большой ошибкой, таким образом говоря о производительности человека как вычислительного аппарата, приходится использовать такие единицы, как миллифлопсы и даже микрофлопсы.

См. также

Примечания

Ссылки

🔥 Top keywords: Заглавная страницаЯндексДуров, Павел ВалерьевичСлужебная:ПоискYouTubeЛунин, Андрей АлексеевичПодносова, Ирина ЛеонидовнаВКонтактеФоллаут (телесериал)WildberriesTelegramРеал Мадрид (футбольный клуб)Богуславская, Зоя БорисовнаДуров, Валерий СемёновичРоссияXVideosСписок умерших в 2024 годуЧикатило, Андрей РомановичFallout (серия игр)Список игроков НХЛ, забросивших 500 и более шайбПопков, Михаил ВикторовичOzon17 апреляИльин, Иван АлександровичMail.ruСёгун (мини-сериал, 2024)Слово пацана. Кровь на асфальтеПутин, Владимир ВладимировичЛига чемпионов УЕФАГагарина, Елена ЮрьевнаБишимбаев, Куандык ВалихановичЛига чемпионов УЕФА 2023/2024Турнир претендентов по шахматам 2024Манчестер СитиMGM-140 ATACMSРоссийский миротворческий контингент в Нагорном КарабахеЗагоризонтный радиолокаторПинапВодительское удостоверение в Российской Федерации