Как узнать, сколько терафлопс на компьютере

Обновлено: 21.11.2024

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

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

В конце 1996 года мировым чудом вычислительной техники был суперкомпьютер Sandia National Laboratories ASCI Red. Это была первая система, которая преодолела барьер в терафлопс в конце того же года. (Терафлоп равен триллиону с плавающей запятой в секунду). Когда система была запущена в производство в 1997 году, она содержала более 9 000 процессоров Pentium Pro и стоила 55 млн долларов США.

Сегодня самым быстрым компьютером в мире является полупетафлопс IBM Blue Gene с производительностью 478,2 TFLOPS. IBM заявляет, что в следующем году удвоит эту скорость и преодолеет петафлопсный барьер, так что чуть более чем за десять лет мир перейдет от достижения производительности в терафлоп к достижению петафлопс.

Многоядерные процессоры обеспечивают прирост производительности. Система IBM имеет около 213 000 вычислительных ядер. А количество процессоров, используемых в системах, растет все более быстрыми темпами.

Вот некоторые цифры из списка Top500 самых быстрых суперкомпьютеров в мире.

Ноябрь 2001 г.: общее количество процессоров, используемых во всех системах, входящих в список Top500, равно 161 674 процессорам.

2003: число процессоров в списке 500 лучших достигает 267 021.

2005 г.: общее количество процессорных ядер: 732 477

2007 г.: 1,64 млн процессорных ядер.

Сегодня Sandia ASCI Red (который был снят с производства) не может попасть в список Top500. Минимальная производительность, необходимая для попадания в этот список, составляет не менее 6 терафлопс, а к 2015 году она составит не менее петафлопса, считает Эрих Стромайер, один из авторов Top500 и научный сотрудник Национальной лаборатории Лоуренса в Беркли. Он описал эту траекторию производительности на конференции Supercomputer 07 в прошлом месяце.

То, что десятилетие назад стоило Sandia 55 млн долларов за то, что не превышало терафлопов мощности, сегодня можно купить менее чем за 100 000 долларов США. Производительность в терафлоп или почти терафлоп теперь доступна в относительно небольших блейд-серверах.

К 2015 году каждый компьютер из списка 500 лучших будет иметь петафлопс или больше, а ваш ноутбук может иметь такую ​​же мощность, за которую США заплатили миллионы долларов не так уж много лет назад.

Эта выгода соотношения цена/производительность предсказуема на основании закона Мура, но, тем не менее, поразительна, если рассматривать ее в течение ряда лет. Будущее, безусловно, таит в себе много чудес, но многое нужно сказать, чтобы оценить то, что произошло в ближайшем прошлом.

Старший редактор Патрик Тибодо освещает вопросы Интернета вещей, корпоративных приложений, аутсорсинга, государственной политики в области ИТ, центров обработки данных и кадровых ресурсов ИТ для Computerworld.

Я хотел бы определить теоретическое количество FLOP (операций с плавающей запятой), которое может выполнить мой компьютер. Может кто-нибудь, пожалуйста, помогите мне с этим. (Я хотел бы сравнить свой компьютер с некоторыми суперкомпьютерами, чтобы понять разницу между ними)

4 ответа 4

Теоретический пиковый показатель FLOP/s определяется как: $$ \text * \text * \text $$ Количество ядер легко определить. Теоретически средняя частота должна учитывать некоторое количество Turbo Boost (Intel) или Turbo Core (AMD), но рабочая частота является хорошей нижней границей. Количество операций в цикле зависит от архитектуры, и их может быть трудно найти (8 для SandyBridge и IvyBridge, см. слайд 26). Это является предметом этого вопроса о переполнении стека, который включает числа для множества современных архитектур.

$\begingroup$ Haswell может выполнять 16 DP/цикл. Я только что добавил ссылку в теле ответа на SO-ответ. $\endgroup$

$\begingroup$ Означает ли это, что мой компьютер может: 2 x 3 000 000 000 Гц x 16 = 96 гигафлопс? $\endgroup$

$\begingroup$ Это означает, что он может работать в диапазоне от 2*1,8 ГГц*16 DP = 57,6 GFLOP/с до 96 GFLOP/с, в зависимости от фактической средней частоты. Если вам нужно использовать один номер, 57,6 будет более справедливым, IMO. $\endgroup$

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

Например, примерно в 2014 году графические процессоры NVIDIA выполняли операции с целыми числами и с плавающей запятой на одном и том же конвейере.Это означает, что вы можете достичь теоретических пиковых флоп/сек только в том случае, если не будете никаких целочисленных вычислений. Поскольку для индексации массива и любой другой формы доступа к данным где-то требуется целочисленная арифметика, ни один код не сможет достичь теоретических пиковых значений флоп/с на графическом процессоре NVIDIA. В большинстве случаев в качестве верхней границы рассматривалось ~80%. Для ЦП, которые одновременно выполняют операции с целыми числами и с плавающей запятой, это не проблема.

На некоторых многоядерных процессорах типа GPU, таких как Intel Knights Corner и Blue Gene/Q, труднее достичь пиковых значений флоп/с, чем на традиционных ЦП, при аналогичных проблемах с конвейером (хотя оба могут достигать ~90 % пикового значения в больших объемах). по крайней мере DGEMM).

$\begingroup$ См. параграф 2. Однако все это имело отношение к более старым архитектурам. Более поздние архитектуры NVIDIA могут одновременно выполнять целые числа и операции с плавающей запятой и достигать >90% пикового значения в больших DGEMM. $\endgroup$

Вам необходимо знать модель и поставщика ЦП на вашем компьютере. Получив это, вы можете посмотреть на веб-сайте производителя (или, может быть, в Википедии) тактовую частоту, количество чипов/сокетов, количество ядер на чип, количество операций с плавающей запятой за цикл и ширину вектора этих операций. . Затем вы просто умножаете.

  • 2,7 ГГц
  • 2 чипа на узел, 8 ядер на чип
  • 2 векторных инструкции/цикл
  • 256-битные инструкции AVX (4 одновременных операнда двойной точности)

Умножение этих значений дает 345,6 GF/узел или 2,2 PF для неускоренной части системы.

Обычно мы думаем об операциях с двойной точностью (64-разрядных), потому что именно такая точность требуется подавляющему большинству наших пользователей, но при желании вы можете повторить вычисления с одинарной точностью. Обычно это меняет только последний фактор, скажем, 8 SP Flops/инструкцию вместо 4 DP Flops/inst, но это может сильно отличаться от этого. Например, более старые графические процессоры выполняли DP со скоростью примерно 1/8 от скорости SP. Если вы когда-либо цитируете число для своей системы, вы должны четко указать, какое вы использовали, если оно не имеет двойной точности, потому что в противном случае люди предположат, что это так.

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

Наконец, вы также можете сделать это для любых ускорителей, которые могут существовать в вашей системе (например, GPU или Xeon Phi), и добавить эту производительность к производительности ЦП, чтобы получить теоретическую сумму.

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

Буква "S" в аббревиатуре "FLOPS" означает "секунда" и используется в сочетании с "P" ("за") для обозначения скорости, например "миль в час" (MPH) или гигабит. в секунду (Гбит/с). Скорость в секунду «FLOPS» обычно неверно истолковывается как форма множественного числа «FLOP» (сокращение от «операция с плавающей запятой»).

Поставщики компьютеров и поставщики услуг обычно указывают теоретическую пиковую производительность (Rpeak) своих систем, выраженную в FLOPS. Rpeak системы рассчитывается путем умножения количества процессоров на тактовую частоту процессоров, а затем умножения этого произведения на количество операций с плавающей запятой, которые процессоры могут выполнять за одну секунду в стандартных программах тестирования, таких как LINPACK DP TPP. и тесты HPC Challenge (HPCC), а также тесты SPEC для целочисленных вычислений и вычислений с плавающей запятой.

Измерение емкости хранилища в байтах

Заглавная буква "B" используется для сокращения "байт(ов)"; строчная буква «b» используется для сокращения «бит (ы)». Эта разница может вызвать путаницу. Например, размеры файлов обычно представляются в байтах, а скорость загрузки электронных данных обычно выражается в битах в секунду. При скорости загрузки 10 мегабит в секунду (Мбит/с) вы можете ошибочно предположить, что файл размером 100 МБ будет загружен всего за 10 секунд. Однако скорость 10 Мбит/с соответствует всего 1,25 МБ в секунду, то есть загрузка файла размером 100 МБ займет не менее 80 секунд.

Поставщики систем хранения данных и поставщики услуг обычно указывают емкость своих систем в терминах «дискового пространства», даже когда речь идет о ленточных системах хранения, таких как Scholarly Data Archive (SDA) IU.

Префиксы для представления порядков

Порядки величин (по основанию 10) выражаются с использованием стандартных метрических префиксов, которые сокращаются до отдельных символов при добавлении к другим сокращениям, таким как FLOPS и B (для байта):

Эти префиксы также используются для обозначения масштаба и сложности вычислительных и аналитических методов, используемых при работе с суперкомпьютерами; например:

  • Терамасштаб: относится к методам и процессам использования суперкомпьютеров, способных выполнять не менее 1 TFLOPS, или систем хранения, способных хранить не менее 1 ТБ.
  • Петамасштаб: относится к методам и процессам использования суперкомпьютеров, способных выполнять не менее 1 PFLOPS, или систем хранения, способных хранить не менее 1 ПБ.
  • Экзафлопс: относится к методам и процессам использования суперкомпьютеров, способных выполнять не менее 1 EFLOPS, или систем хранения, способных хранить не менее 1 ЭБ.

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

Гигафлопс

Компьютерная система с производительностью 1 гигафлопс (GFLOPS) способна выполнять один миллиард (10 9 ) операций с плавающей запятой в секунду. Чтобы сравниться с тем, что компьютерная система с производительностью 1 гигафлопс может сделать всего за одну секунду, вам придется выполнять одно вычисление каждую секунду в течение 31,69 года.

Терафлопс

Компьютерная система с производительностью 1 терафлопс (TFLOPS) способна выполнять один триллион (10 12 ) операций с плавающей запятой в секунду. Скорость 1 TFLOPS эквивалентна 1000 GFLOPS. Чтобы сравниться с тем, что компьютерная система с производительностью 1 TFLOPS может сделать всего за одну секунду, вам придется выполнять одно вычисление каждую секунду в течение 31 688,77 лет.

Петафлопс

Компьютерная система производительностью 1 петафлопс (PFLOPS) способна выполнять один квадриллион (10 15 ) операций с плавающей запятой в секунду. Скорость 1 PFLOPS эквивалентна 1000 TFLOPS. Чтобы сравниться с тем, что компьютерная система с производительностью 1 PFLOPS может сделать всего за одну секунду, вам придется выполнять одно вычисление каждую секунду в течение 31 688 765 лет.

Экзафлопс

Компьютерная система с производительностью 1 экзафлопс (EFLOPS) способна выполнять один квинтиллион (10 18 ) операций с плавающей запятой в секунду. Ставка 1 EFLOPS эквивалентна 1000 PFLOPS. Чтобы соответствовать тому, что компьютерная система с производительностью 1 EFLOPS может сделать всего за одну секунду, вам нужно будет выполнять одно вычисление каждую секунду в течение 31 688 765 000 лет.

Знакомство с емкостью хранилища на порядки

Гигабайт

Гигабайт равен одному миллиарду байт. На одном одностороннем DVD-диске можно разместить 4,7 ГБ данных (толщина каждого DVD-диска составляет около 1,2 мм или 0,047 дюйма).

Терабайт

Терабайт равен одному триллиону (одной тысяче миллиардов) байт или 1000 ГБ. Чтобы вместить 1 ТБ данных, вам потребуется около 213 односторонних DVD-дисков (стопка высотой около 255,6 мм или 10,06 дюйма).

Петабайт

Петабайт равен одному квадриллиону (одной тысяче триллионов) байт или 1000 ТБ. Чтобы вместить 1 ПБ данных, вам потребуется около 212 766 односторонних DVD-дисков (стопка высотой около 255,3 м или 837,67 фута).

Экзабайт

Экзабайт равен одному квинтиллиону (одной тысяче квадриллионов) байт или 1000 ПБ. Чтобы вместить 1 ЭБ, вам потребуется около 212 765 958 односторонних DVD-дисков (длина стопки около 255,3 км или 158,65 миль).

Примеры IU

Ниже приведены некоторые примеры тера-, пета- и экзамасштабных вычислений в IU:

  • Система IU Big Red 3 имеет теоретическую пиковую производительность (Rpeak) 934 триллиона операций с плавающей запятой в секунду (934 терафлопс).
  • Ленточная библиотека SDA предоставляет 79 ПБ емкости для долговременного хранения исследовательских данных.
  • Центр исследований в области технологий экстремального масштаба (CREST) ​​IU разрабатывает методы, технологии и учебные ресурсы для обеспечения возможности анализа и вычислений экзамасштабных данных.

Это документ apeq в базе знаний.
Последнее изменение 2021-09-21 15:35:02 .

Икарей

Почетный

Как измерить теоретическую производительность моего Sapphire R9 270X? На бумаге производительность стандартного 270X составляет 2,69 TF, но я не знаю, как AMD добилась таких цифр. Я разогнал свой до максимума, поэтому просто интересно, чего он теоретически может достичь ради удовольствия.

Частота графического процессора по умолчанию — 1070 МГц
Измененная частота графического процессора — 1190 МГц (+120 МГц)
Часовая частота видеопамяти по умолчанию — 1400 МГц
Измененная частота графического процессора — 1510 МГц (+110 МГц)

Скорость заполнения пикселей – 34,2 Гпикселей/с.
Скорость заполнения текстур – 85,6 Гтекселей/с.
Пропускная способность – 179,2 ГБ/с.

Скорость заполнения пикселей — 38,1 Гпикселей/с (+3,9 Гпикселей/с)
Скорость заполнения текстур — 95,2 Гпикселей/с (+9,6 Гпикселей/с)
Пропускная способность — 193,3 ГБ/с (+14,1 ГБ/с) с)

Максимальная температура разгона при стресс-тесте: 70 градусов.
Максимальное напряжение: 1,295 В

Пинхедд

Чемпион

Единицы текстуры * Растровые операторы * (тактовая частота ядра) = GFLOPS

частота ядра = 1 ГГц = 1000 МГц

80 * 32 * 1 = 2560 GFLOPS или 2,56 TFLOPS

Максимальная теоретическая пропускная способность с плавающей запятой зависит от общего количества шейдеров.

В качестве примера я буду использовать HD 7970 с тактовой частотой 1 ГГц, потому что он у меня есть.

HD 7970 состоит из 32 вычислительных блоков.

Каждый вычислительный блок имеет 4 исполнительных модуля SIMD

Каждый блок SIMD имеет ширину 16 ALU.

32 вычислительных блока * 4 SIMD на вычислительный блок * 16 ALU на SIMD = всего 2048 шейдеров

В каждом цикле каждый шейдер может выполнять одну операцию умножения и одну операцию накопления (называемую MAC или Multiply-Accumulate). Хотя это выполняется как одна операция, для вычислений это считается двумя отдельными операциями.

2048 шейдеров * 2 операции с плавающей запятой за такт * 1 миллиард циклов в секунду = 4096 гигафлопс

Та же логика справедлива и для R9-270X

Если это не TMU x ROPS x GPU Core Clock, то что это будет? Я не очень понимаю всю часть SIMD и ALU.

пиковая производительность с плавающей запятой = шейдеры * 2 * тактовая частота

На самом деле достичь максимальной пропускной способности практически невозможно. AMD осознала это, когда их более старые архитектуры Radeon HD (серия HD 6000 и более ранние) имели теоретическое вычислительное преимущество над конкурентами в NVidia, но в целом уступали им в сравнении. Они радикально изменили архитектуру для создания GCN, что позволяет им гораздо лучше справляться с работой шейдеров.

В то время как серия HD 6000 и более ранние версии были основаны на конструкции VLIW MIMD, GCN основана на чисто SIMD-архитектуре.

Читайте также: