как узнать сколько терафлопс на видеокарте
Как узнать производительность видеокарты утилитами и в режиме онлайн, плюс полезные советы по выбору
Здравствуйте, почитатели блога и случайно заглянувшие гости. Сегодня я хочу поговорить о том, как узнать производительность видеокарты. Выбор темы сегодняшней статьи обусловлен большим наплывом вопросов, на которые я замучился отвечать каждому в отдельности: как узнать производительность видеокарты на компьютере или ноутбуке, как посмотреть производительность видеокарты на Windows 10, 8 и 7, как и какой программой можно посмотреть производительность видеокарты непосредственно в процессе игры? И это далеко не весь список, я решил одной статьёй «убить всех зайцев» — рассказать из чего складывается и от каких факторов зависит производительность видеокарты, как можно узнать интересующую информацию на ПК с операционными системами Windows 7, 8, 10 и более ранних версиях. Я поведаю, как протестировать адаптер обычным способом и во время игры, каким утилитам отдать предпочтения для решения поставленных задач, какими характеристиками стоит руководствоваться при выборе оборудования для игр или майнинга.
Определение и составляющие
Производительность видеокарты – это важный аспект, влияющий на качество работы самого адаптера и компьютера в целом (скорость воспроизведения видео, полноту, яркость и объёмность выводимых на экран картинок, быструю и корректную работу игр), а потому поговорим о том, как и по каким характеристикам можно узнать её величину.
Терафлопс
Современные видеокарты, наконец, доросли до того, что их производительность начали измерять в терафлопсах. Терафлопс – величина, равная триллиону (двенадцать нулей после единицы) операций за секунду. Первопроходцем и покорительницей данной вершины стала видеоплата ATI Radeon HD 4850, её мощность на момент производства (лет десять назад) составляла 1 Teraflops. По итогам 2017 года лидирующие позиции по данному показателю заняла модель Nvidia Titan Xp — 12.15 TFLOPS.
Характеристики
Друзья, поговорим о характеристиках видеоплаты, на которые нужно нацелить внимание при выборе модели в магазине.
Графический процессор
Начнём с графического процессора, вернее, с тактовой частоты его работы. От этой величины зависит быстродействие карты — чем выше количество мегагерц (МГЦ), тем больше процессор выполняет необходимых операций за отведённое время. Нельзя руководствоваться только этим критерием, необходимо смотреть на совокупность показателей.
Видеопамять
Важным аспектом являются характеристики видеопамяти адаптера, установленной на нём в виде отдельного чипа. Стоит учесть такие показатели — тип (стандарты GDDR3, GDDR5), частота и объём (чем больше, тем круче) и разрядность / ширина шины (до 256 бит считаются слабыми, рекомендуется брать выше).
Другие факторы
Обязательно следует учесть следующие факторы:
Тестирование
При покупке любого подключаемого оборудования, влияющего на работу ПК, настоятельно рекомендуется его тестировать при первой же возможности. В местах продаж это сделать практически невозможно, а по приходу домой необходимо провести тестирование приобретённого продукта всеми доступными средствами, дабы не выкинуть деньги на ветер.
Утилиты
Остановимся на том, как и с помощью каких утилит можно узнать производительность видеокарты на компьютерах с операционной системой Windows 10, 8, 7 и более ранних версиях. В принципе, практически все утилиты универсальны и сгодятся для любых версий «Виндовс», а где будет проводиться тестирование – на стационарном компьютере или ноутбуке — не важно. Вот список самых популярных и надёжных программ, качественно проверяющих видеоплаты, предоставляющих достоверные результаты и проверенных мною лично:
В основном все они распространяются бесплатно и действуют по принципу экстремальной стрессовой нагрузки оборудования и сбору данных о его работе — показателя FPS (количество кадров в секунду), максимальной температуры нагрева (не должна превышать 85 градусов по Цельсию), наличия ошибок (пятен, полос, зависаний)…
Вышеперечисленные показатели важны в основном для геймеров, так как влияют на функционирование игр. Протестировать процессор и видеокарту, дабы узнать их производительность можно прямо во время игры, не отрываясь от игрового процесса, как это сделать сейчас расскажу. Требуется лишь установить небольшую специальную программку — MSI Afterburner, настроить параметры тестирования, включить отображение результатов тестов в игре и начать играть. MSI Afterburner проведёт анализ и расскажет о параметрах:
Эта замечательная утилита поможет не только посмотреть производительность процессора и адаптера, но и с лёгкостью справится с такими задачами, как разгон видеокарты, запись видеороликов игрового процесса и захват скриншотов.
Онлайн
Если не хочется устанавливать на комп лишнее ПО из-за веских причин, таких как недостаток места или боязнь нахватать вирусов при скачивании, то узнать производительность видеокарты можно и в режиме онлайн. В основном это применяется для проверки, тянет ли «видюха» какую-то конкретную игру. Это доступно на сайтах производителей видеокарт, таких как NVIDIA, но посмотреть показатели производительности не получится. Система сайта протестирует видеооборудование, установленное на ПК, касательно заданной игры и выдаст лишь результат совместимости.
Полезная информация и советы
Друзья, ловите несколько полезных советов по выбору видеооборудования.
При покупке новой или дополнительной видеокарты непосредственно для поднятия уровня графики в играх, нужно учесть параметры, влияющие на её производительность:
Майнинг
Не менее важна производительность видеокарты, приобретаемой для майнинга. В этом случае рекомендуемые параметры такие:
Для вышеописанных целей я рекомендую выбирать следующие «видюхи» — AMD Radeon RX 470 / 480 / 580 или Nvidia Geforce GTX 1060 / 1070 / 1080.
На этом запас советов иссяк, если я что-то упустил, пишите в комментариях. Спасибо за внимание, до новых встреч.
Как вычислить терафлопс видеокарты?
1 Терафлопс = 1 000 000 000 000 операций в секунду. Формула расчета производительности Teraflops. Расчет пиковой производительности компьютера выполняется по формуле: 1 терафлопс = F x N x I x 106.
Чему равен 1 терафлопс?
Терафлопс — это меньшая единица, чем петафлопс, и означает 1 триллион операций в секунду. PS5 сможет выполнять 10,28 триллиона таких вычислений, а Xbox Series X — до 12 триллионов. Разница в производительности обеих консолей составляет около 1,72 терафлопс, то есть 1,72 миллиарда операций.
Как измерить производительность видеокарты?
Чтобы узнать производительность видеокарты, необходимо:
Сколько терафлопс в видеокартах?
При обработке трассировки лучей видеокарта обеспечивает 58 Тфлопс (RT-TFLOPS), а в операциях на тензорных ядрах обеспечивается до 238 Тфлопс (Tensor-TFLOPS).
Что означают сокращения flops Mops?
FLOPS (также flops, flop/s, флопс или флоп/с; акроним от англ. FLoating-point Operations Per Second, произносится как флопс) — внесистемная единица, используемая для измерения производительности компьютеров, показывающая, сколько операций с плавающей запятой в секунду выполняет данная вычислительная система.
Как узнать сколько у тебя терафлопс?
1 Терафлопс = 1 000 000 000 000 операций в секунду. Формула расчета производительности Teraflops. Расчет пиковой производительности компьютера выполняется по формуле: 1 терафлопс = F x N x I x 106.
Сколько операций в секунду может выполнять человеческий мозг?
Самая быстрая синаптическая передача занимает около 1 миллисекунды. Таким образом мозг может выполнять максимум около тысячи базовых операций в секунду – работает в 10 миллионов раз медленнее, чем компьютер. Компьютер также имеет огромные преимущества перед мозгом в точности основных операций.
Как узнать технические характеристики видеокарты?
Пожалуй, это самый простой и быстрый способ определить свою видеокарту.
Сколько по времени длится тест Furmark?
3. Тестирование длится около 10-15 мин.
Как правильно работать с программой Furmark?
Как правильно пользоваться программой Furmark?
Сколько терафлопс в 2060?
Мы видим, что у всех четырёх актуальных видеокарт: 8ГБ GDDR6 памяти, 256-битная шина и пропускная способность памяти — 448 ГБ/с. А производительность с одинарной точностью (FP32) распределилась следующим образом: RTX 2060 SUPER и RTX 2070 — 7.5 Тфлопс, RX 5700 — 7.95 Тфлопс и RX 5700 XT — 9.75 Тфлопс.
Сколько терафлопс в RTX 3070?
Видеокарта RTX 3070 имеет 5888 ядер CUDA — это вдвое больше ядер CUDA, чем у RTX 2070. Она обеспечивает производительность шейдеров 20,3 TFLOPs, а также выделенные ядра RT с эквивалентной производительностью 39,7 TFLOPs, что в общей сложности дает 60 эффективных TFLOPs производительности при трассировке лучей.
Сколько терафлопс у RTX 3080?
Nvidia: в играх GeForce RTX 3090 быстрее GeForce RTX 3080 на 10–15%
Как узнать производительность компьютера в Флопсах (Flops)
С тех самых времён, когда появился самый первый компьютер (его подобие), началась погоня за мозностями, производительностью и в наши дни по прежднему ничего в этом плане не изменилось, ведь каждый владелец персонального компьютера чья работа связана с нагрузкой на вычислительные мощности ПК мечтает о ещё более производительном железе.
Все компьютеры которые существуют разделяются на несколько категорий, начиная от микрочипов и заканчивая суперкомпьютерами, которые потребляют десятки киловатт электроэнергии и являются топовыми в вычислительных можностях. В этом материале вы узнаете как можно измерить производительность персонального компьютера.
Замер производительности персонального ПК
Существует немало инструментов для того чтобы измерить производительность во флопсах персонального компьютера или ноутбука. Однако все инструменты основаны на одном и том же принципе работы.
Из возможных интерфейсов есть анализ производительности через командную строку, через компиляторы Фортран и С++ и тд. Но мы пойдём более лёгким путём и будем использовать уже скомпилированный exe файл программв Linpack, которая является самой популярной в замерах производительности компьютеров на Windows.
Ниже мы представляем вашему вниманию 2 версии программы Linpack, которая поможет вам определить сколько ваш компьютер делает операций с плавающей точкой в секунду времени.
Как проверить?
Для того чтобы представлять сколько это: 1 Флопс=1 Операция с плавающей точкой; 1ГФлопс= 1 000 000 000 Операций с плавающей точкой.
Как и зачем мерить FLOPSы
Как известно, FLOPS – это единица измерения вычислительной мощности компьютеров в (попугаях) операциях с плавающей точкой, которой часто пользуются, чтобы померить у кого больше. Особенно важно померяться FLOPS’ами в мире Top500 суперкомпьютеров, чтобы выяснить, кто же среди них самый-самый. Однако, предмет измерения должен иметь хоть какое-нибудь применение на практике, иначе какой смысл его замерять и сравнивать. Поэтому для выяснения возможностей супер- и просто компьютеров существуют чуть более приближенные к реальным вычислительным задачам бенчмарки, например, SPEC: SPECint и SPECfp. И, тем не менее, FLOPS активно используется в оценках производительности и публикуется в отчетах. Для его измерения давно уже использовали тест Linpack, а сейчас применяют открытый стандартный бенчмарк из LAPACK. Что эти измерения дают разработчикам высокопроизводительных и научных приложений? Можно ли легко оценить производительность реализации своего алгоритма в FLOPSaх? Будут ли измерения и сравнения корректными? Обо всем этом мы поговорим ниже.
Давайте сначала немного разберемся с терминами и определениями. Итак, FLOPS – это количество вычислительных операций или инструкций, выполняемых над операндами с плавающей точкой (FP) в секунду. Здесь используется слово «вычислительных», так как микропроцессор умеет выполнять и другие инструкции с такими операндами, например, загрузку из памяти. Такие операции не несут полезной вычислительной нагрузки и поэтому не учитываются.
Значение FLOPS, опубликованное для конкретной системы, – это характеристика прежде всего самого компьютера, а не программы. Ее можно получить двумя способами – теоретическим и практическим. Теоретически мы знаем сколько микропроцессоров в системе и сколько исполняемых устройств с плавающей точкой в каждом процессоре. Все они могут работать одновременно и начинать работу над следующей инструкцией в конвеере каждый цикл. Поэтому для подсчета теоретического максимума для данной системы нам нужно только перемножить все эти величины с частотой процессора – получим количество FP операций в секунду. Все просто, но такими оценками пользуются, разве что заявляя в прессе о будущих планах по построению суперкомпьютера.
Практическое измерение заключается в запуске бенчмарка Linpack. Бенчмарк осуществляет операцию умножения матрицы на матрицу несколько десятков раз и вычисляет усредненное значение времени выполнения теста. Так как количество FP операций в имплементации алгоритма известно заранее, то разделив одно значение на другое, получим искомое FLOPS. Библиотека Intel MKL (Math Kernel Library) содержит пакет LAPAСK, — пакет библиотек для решения задач линейной алгебры. Бенчмарк построен на основе этого пакета. Cчитается, что его эффективность находится на уровне 90% от теоретически возможной, что позволяет бенчмарку считаться «эталонным измерением». Отдельно Intel Optimized LINPACK Benchmark для Windows, Linux и MacOS можно качать здесь, либо взять в директории composerxe/mkl/benchmarks, если у вас установлена Intel Parallel Studio XE.
Очевидно, что разработчики высокопроизводительных приложений хотели бы оценить эффективность имплементации своих алгоритмов, используя показатель FLOPS, но уже померянный для своего приложения. Сравнение измеренного FLOPS с «эталонным» дает представление о том, насколько далека производительность их алгоритма от идеальной и каков теоретический потенциал ее улучшения. Для этого всего-навсего нужно знать минимальное количество FP операций, требуемое для выполнения алгоритма, и точно измерить время выполнения программы (ну или ее части, выполняющей оцениваемый алгоритм). Такие результаты, наряду с измерениями характеристик шины памяти, нужны для того, чтобы понять, где реализация алгоритма упирается в возможности аппаратной системы и что является лимитирующим фактором: пропускная способность памяти, задержки передачи данных, производительность алгоритма, либо системы.
Ну а теперь давайте покопаемся в деталях, в которых, как известно, все зло. У нас есть три оценки/измерения FLOPS: теоретическая, бенчмарк и программа. Рассмотрим особенности вычисления FLOPS для каждого случая.
Теоретическая оценка FLOPS для системы
Чтобы понять, как подсчитывается количество одновременных операций в процессоре, давайте взглянем на устройство блока out-of-order в конвеере процессора Intel Sandy Bridge.
Здесь у нас 6 портов к вычислительным устройствам, при этом, за один цикл (или такт процессора) диспетчером может быть назначено на выполнение до 6 микроопераций: 3 операции с памятью и 3 вычислительные. Одновременно могут выполняться одна операция умножения (MUL ) и одна сложения (ADD ), как в блоках x87 FP, так и в SSE, либо AVX. С учетом ширины SIMD регистров 256 бит мы может получить следующие результаты:
8 MUL (32-bit) и 8 ADD (32-bit): 16 SP FLOP/cycle, то есть 16 операций с плавающей точкой одинарной точности за один такт.
4 MUL (64-bit) и 4 ADD (64-bit): 8 DP FLOP/cycle, то есть 8 операций с плавающей точкой двойной точности за один такт.
Теоретическое пиковое значение FLOPS для доступного мне 1-сокетного Xeon E3-1275 (4 cores @ 3.574GHz) составляет:
16 (FLOP/cycle)*4*3.574 (Gcycles/sec)= 228 GFLOPS SP
8 (FLOP/cycle)*4*3.574 (Gcycles/sec)= 114 GFLOPS DP
Запуск бенчмарка Linpack
Запускам бенчмарк из пакета Intel MKL на системе и получаем следующие результаты (порезано для удобства просмотра):
Здесь нужно сказать, как именно учитываются FP операции в бенчмарке. Как уже упоминалось, тест заранее «знает» количество операций MUL и ADD, которые необходимы для перемножения матриц. В упрощенном представлении: производится решение системы линейных уравнений Ax=b (несколько тысяч штук) путем перемножения плотных матриц действительных чисел (real8) размером MxK, а количество операций сложения и умножения, необходимых для реализации алгоритма, считается (для симметричной матрицы) Nflop = 2*(M^3)+(M^2). Вычисления производятся для чисел с двойной точностью, как и для большинства бенчмарков. Сколько операций с плавающей точкой действительно выполняется в реализации алгоритма, пользователей не волнует, хотя они догадываются, что больше. Это связано с тем, что выполняется декомпозиция матриц по блокам и преобразование (факторизация) для достижения максимальной производительности алгоритма на вычислительной платформе. То есть нам нужно запомнить, что на самом деле значение физических FLOPS занижено за счет неучитывания лишних операций преобразования и вспомогательных операций типа сдвигов.
Оценка FLOPS программы
Чтобы исследовать соизмеримые результаты, в качестве нашего высокопроизводительного приложения будем использовать пример перемножения матриц, сделанный «своими руками», то есть без помощи математических гуру из команды разработчиков MKL Performance Library. Пример реализации перемножения матриц, написанный на языке С, можно найти в директории Samples пакета Intel VTune Amplifier XE. Воспользуемся формулой Nflop=2*(M^3) для подсчета FP операций (исходя из базового алгоритма перемножения матриц) и померим время выполнения перемножения для случая алгоритма multiply3 при размере симметричных матриц M=4096. Для того, чтобы получить эффективный код, используем опции оптимизации –O3 (агрессивная оптимизация циклов) и –xavx (использовать инструкции AVX) С-компилятора Intel для того, чтобы сгенерировались векторные SIMD-инструкции для исполнительных устройств AVX. Компилятор нам поможет узнать, векторизовался ли цикл перемножения матрицы. Для этого укажем опцию –vec-report3. В результатах компиляции видим сообщения оптимизатора: «LOOP WAS VECTORIZED» напротив строки с телом внутреннего цикла в файле multiply.c.
На всякий случай проверим, какие инструкции сгенерированы компилятором для цикла перемножения.
$icl –g –O3 –xavx –S
По тэгу __tag_value_multiply3 ищем нужный цикл — инструкции правильные.
$vi muliply3.s
Результат выполнения программы (
7 секунд)
нам дает следующее значение FLOPS = 2*4096*4096*4096/7[s] = 19.6 GFLOPS
Результат, конечно, очень далек от того, что получается в Linpack, что объясняется исключительно квалификционной пропастью между автором статьи и разработчиками библиотеки MKL.
Ну, а теперь дессерт! Собственно то, ради чего я затеял свое исследование этой, вроде бы скучной и давно избитой, темы. Новый метод измерения FLOPS.
Измерение FLOPS программы
Существуют задачи в линейной алгебре, программную имплементацию решения которых очень сложно оценить в количестве FP операций, в том смысле, что нахождение такой оценки само является нетривиальной математической задачей. И тут мы, что называется, приехали. Как считать FLOPS для программы? Есть два пути, оба экспериментальных: трудный, дающий точный результат, и легкий, но обеспечивающий приблизительную оценку. В первом случае нам придется взять некую базовую программную имплементацию решения задачи, скомпилировать ее в ассемблерные инструкции и, выполнив их на симуляторе процессора, посчитать количество FP операций. Звучит так, что резко хочется пойти легким, но недостоверным путем. Тем более, что если ветвление исполнения задачи будет зависеть от входных данных, то вся точность оценки сразу поставится под сомнение.
Идея легкого пути состоит в следующем. Почему бы не спросить сам процессор, сколько он выполнил FP инструкций. Процессорный конвеер, конечно же, об этом не ведает. Зато у нас есть счетчики производительности (PMU – вот тут про них интересно), которые умеют считать, сколько микроопераций было выполнено на том или ином вычислительном блоке. С такими счетчиками умеет работать VTune Amplifier XE.
Несмотря на то, что VTune имеет множество встроенных профилей, специального профиля для измерения FLOPS у него пока нет. Но никто не мешает нам создать наш собственный пользовательский профиль за 30 секунд. Не утруждая вас основами работы с интерфейсом VTune (их можно изучить в прилагающимся к нему Getting Started Tutorial), сразу опишу процесс создания профиля и сбора данных.
Далее мы просто подсчитываем значения FLOPS по формулам. Данные у нас были собраны для всех процессоров, поэтому умножение на их количество здесь не требуется. Операции данными двойной точности выполняются одновременно над четырмя 64-битными DP операндами в 256-битном регистре, поэтому умножаем на коэффициент 4. Данные с одинарной точностью, соответственно, умножаем на 8. В последней формуле не умножаем количество инструкций на коэффициент, так как операции сопроцессора x87 выполняются только со скалярными величинами. Если в программе выполняется несколько разных типов FP операций, то их количество, умноженное на коэффициенты, суммируется для получения результирующего FLOPS.
FLOPS = 4 * SIMD_FP_256.PACKED_DOUBLE / Elapsed Time
FLOPS = 8 * SIMD_FP_256.PACKED_SINGLE / Elapsed Time
FLOPS = (FP_COMP_OPS_EXE.x87) / Elapsed Time
В нашей программе выполнялись только AVX инструкции, поэтому в результатах есть значение только одного счетчика SIMD_FP_256.PACKED_DOUBLE.
Удостоверимся, что данные события собраны для нашего цикла в функции multiply3 (переключившись в Source View):
FLOPS = 4 *34.6Gops/7s = 19.7 GFlops
Значение вполне соответствует оценочному, подсчитанному в предыдущем пункте. Поэтому с достаточной долей точности можно говорить о том, что результаты оценочного метода и измерительного совпадают. Однако, существуют случаи, когда они могут не совпадать. При определенном интересе читателей, я могу заняться их исследованием и рассказать, как использовать более сложные и точные методы. А взамен очень хочется услышать о ваших случаях, когда вам требуется измерение FLOPS в программах.
Заключение
FLOPS – единица измерения производительности вычислительных систем, которая характеризует максимальную вычислительную мощность самой системы для операций с плавающей точкой. FLOPS может быть заявлена как теоретическая, для еще не существующих систем, так и измерена с помощью бенчмарков. Разработчики высокопроизводительных программ, в частности, решателей систем линейных дифференциальных уравнений, оценивают производительность реализации своих алгоритмов в том числе и по значению FLOPS программы, вычисленному с помощью теоретически/эмпирически известного количества FP операций, необходимых для выполнения алгоритма, и измеренному времени выполнения теста. Для случаев, когда сложность алгоритма не позволяет оценить количество FP операций алгоритма, их можно измерить с помощью счетчиков производительности, встроенных в микропроцессоры Intel.