Российские процессоры. Российские процессоры Сравнение всего процессора

В этой статье мы покажем, как работают технологии распознавания образов на Эльбрус-4С и на новом Эльбрус-8С: рассмотрим несколько задач машинного зрения, немного расскажем об алгоритмах их решения, приведем результаты бенчмаркинга и наконец покажем видео.



Эльбрус-8С - новый 8-ядерный процессор МЦСТ с VLIW-архитектурой. Мы тестировали инженерный образец с частотой 1.3 ГГц. Возможно, в серийном выпуске она еще возрастет.



Приведем сравнение характеристик Эльбрус-4С и Эльбрус-8С.


Эльбрус-4С Эльбрус-8С
Тактовая частота, МГц 800 1300
Число ядер 4 8
Число операций за такт (на ядро) до 23 до 25
L1 кэш, на ядро 64 Кб 64 Кб
L2 кэш, на ядро 2 Мб 512 Кб
L3 кэш, общая - 16 Мб
Организация оперативной памяти До 3 каналов DDR3-1600 ECC До 4 каналов DDR3-1600 ECC
Технологический процесс 65 нм 28 нм
Количество транзисторов 986 млн. 2730 млн.
Ширина SIMD инструкции 64 бита 64 бита
Поддержка многопроцессорных систем до 4 процессоров до 4 процессоров
Год начала производства 2014 2016
Операционная система ОС “Эльбрус” 3.0-rc27 ОС “Эльбрус” 3.0-rc26
Версия компилятора lcc 1.21.18 1.21.14

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


Так, например, Эльбрус-8С может исполнять до 25 инструкций за 1 такт без учета SIMD (против 23 у Эльбрус-4С).


Важно : нами не проводилось никакой специальной оптимизации под Эльбрус-8С. Была задействована библиотека EML, однако объем оптимизаций под Эльбрус в наших проектах сейчас явно меньше, чем под другие архитектуры: там он постепенно наращивался в течение нескольких лет, а платформой Эльбрус мы занимаемся не так давно и не столь активно. Основные времязатратные функции, конечно же, были оптимизированы, но вот до остальных пока не дошли руки.

Распознавание паспорта РФ

Разумеется, начать освоение новой для нас платформы мы решили с запуска нашего продукта Smart IDReader 1.6 , предоставляющего возможности по распознавания паспортов, водительский прав, банковских карт и других документов. Необходимо отметить, что стандартная версия этого приложения может эффективно задействовать не более 4 потоков при распознавании одного документа. Для мобильных устройств этого более чем достаточно, а вот при бенчмаркинге десктоп-процессоров это может приводить к занижению оценок производительности многоядерных систем.


Предоставленная нам версия ОС Эльбрус и компилятора lcc не потребовали никаких специальных изменений в исходном коде и мы без каких-либо трудностей собрали наш проект. Отметим, что в новой версии появилась полная поддержка С++11 (она также появилась и в свежих версиях lcc для Эльбрус-4С), что не может не радовать.


Для начала мы решили проверить, как работает распознавание паспорта РФ, о котором мы уже писали , на Эльбрус-8С. Мы провели тестирование в двух режимах: поиск и распознавание паспорта на отдельном кадре (anywhere-режим) и на видеоролике, снятом с веб-камеры (webcam-режим). В anywhere режиме распознавание разворота паспорта выполняется на одном кадре, причем паспорт может находиться в любой части кадра и быть произвольным образом ориентированным. В режиме webcam выполняется распознавание только страницы паспорта с фото, причем обрабатывается серия кадров. При этом предполагается, что строки паспорта горизонтальны и паспорт слабо смещается между кадрами. Полученная с разных кадров информация интегрируется для повышения качества распознавания.


Для тестирования мы взяли по 1000 изображений для каждого из режимов и замеряли среднее время работы распознавания (т.е. время без учета загрузки картинки) при запуске в 1 поток и запуске с распараллеливанием. Полученное время работы приведено ниже в таблице.



Результаты для однопоточного режима вполне соответствуют ожидаемым: помимо ускорения за счет повышения частоты (а кратность частот 4С и 8С равна 1300 / 800 = 1.625), заметно небольшое ускорение за счет усовершенствования архитектуры.


В случае запуска на максимальном числе потоков ускорение для обоих режимов составило 1.7. Казалось бы, число ядер в Эльбрус-8С вдвое больше, чем в 4С. Так где же ускорение за счет дополнительных 4 ядер? Дело в том, что наш алгоритм распознавания активно задействует только 4 потока и слабо масштабируется дальше, поэтому прирост производительности совсем незначительный.


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



Для anywhere-режима полученное ускорение приблизилось к ожидаемому ускорению в ~3.6 раза, не дотянув до него из-за того, что мы учитывали время загрузки картинки из файла. В случае с webcam-режимом влияние времени загрузки еще больше и поэтому ускорение получилось более скромным - 2.5 раза.

Детекция автомобилей

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


Для нашего примера мы решили взять задачу детекции автомобилей, движущихся в попутном направлении. Подобный детектор может использоваться в системах автоматического управления транспортными средствами, в системах распознавания автомобильных номеров и т.д. Не долго думая, мы отсняли видео для обучения и тестирования с помощью авторегистратора неподалеку от нашего офиса. В качестве детектора мы использовали каскадный классификатор Виолы-Джонса . Дополнительно мы применили экспоненциальное сглаживание положений найденных автомобилей для тех из них, которые мы наблюдаем несколько кадров подряд. Стоит отметить, что детектирование выполняется только в прямоугольнике ROI (region of interest), который занимает не весь кадр, поскольку малоосмысленно пытаться детектировать внутренности нашего автомобиля, а также машины, не полностью попадающие в кадр.


Таким образом, наш алгоритм состоял из следующих шагов:

  1. Вырезание прямоугольника ROI по центру кадра.
  2. Преобразование цветного изображения ROI в серое.
  3. Предпосчет признаков Виолы-Джонса.
    На этом этапе изображение подвергается масштабированию, строятся карты вспомогательных признаков (например, направленных границ), а также вычисляются кумулятивные суммы по всем признакам для быстрого подсчета хааровских вэйвлетов.
  4. Запуск классификатора Виолы-Джонса на множестве окон.
    Здесь с некоторым шагом перебираются прямоугольные окна, на которых запускается классификатор. Если классификатор выдал положительный ответ, то произошла детекция объекта, т.е. изображение внутри окна соответствует автомобилю. В этом случае выполняется уточнение области изображения, в которой находится объект: в окрестности первичной детекции выделяются окна того же размера, но с меньшим шагом и также подаются на вход классификатора. Все найденные объекты сохраняются для дальнейшей обработки. Данная процедура повторяется для нескольких масштабов входного изображения.
    Этот этап собственно и составляет основную вычислительную сложность задачи и распараллеливание было произведено именно для него. Мы использовали библиотеку tbb для автоматического выбора эффективного числа потоков.
  5. Обработка массива детекций, полученного после применения детектора. Поскольку ряд полученных детекций могут быть очень близкими и отвечать одному и тому же объекту, мы объединяем детекции, имеющие достаточно большую площадь пересечения. В результате получаем массив прямоугольников, которые указывают положение обнаруженных автомобилей.
  6. Сопоставление детекций на предыдущем и текущем кадрах. Мы считаем, что был задетектирован один и тот же объект, если площадь пересечения прямоугольников составляет больше половины от площади текущего прямоугольника. Выполняем сглаживание положения объекта по формулам:
    x i = x i + (1-α)x i -1
    y i = y i + (1-α)y i -1
    w i = w i + (1-α)w i -1
    h i = h i + (1-α)h i -1
    где (x , y )--- координаты верхнего левого угла прямоугольника, w и h - его ширина и высота соответственно, а α - постоянный коэффициент, подобранный экспериментально.

Входные данные: последовательность цветных кадров размера 800х600 пикселей.
Здесь и далее для оценки fps (frame per second) использовалось среднее время работы по 10 запускам программы. При этом учитывалось только время обработки изображений, поскольку сейчас мы работали с записанным роликом, и изображения просто загружались из файла, а в реальной системе они могут, например, поступать с камеры. Оказалось, что детекция работает с весьма приличной скоростью, выдавая 15.5 fps на Эльбрус-4С и 35.6 fps на Эльбрус-8С. На Эльбрус-8С загрузка процессора оказывается далеко не полной, хотя в пике задействованы все ядра. Очевидно, это связано с тем, что не все вычисления в этой задаче были распараллелены. Например, перед применения детектора Виолы-Джонса мы выполняем достаточно тяжеловесные вспомогательные преобразования каждого кадра, а эта часть системы работает последовательно.


Теперь пришло время демонстрации. Интерфейс приложения и отрисовка выполнены с помощью стандартных средств Qt5. Никакой дополнительной оптимизации не проводилось.


Эльбрус-4С



Эльбрус-8С


Визуальная локализация

В этом приложении мы решили продемонстрировать визуальную локализацию на основе особых точек. Использовав панорамы Google Street View с GPS-привязкой, мы научили нашу систему узнавать местонахождение камеры без использования данных о её GPS-координатах или другой внешней информации. Такая система может использоваться для беспилотников и роботов в качестве резервной системы навигации, для уточнения текущего местоположения или для работы в системах без GPS.


Сначала мы обработали базу панорам с GPS-координатами. Мы взяли 660 изображений, покрывающих приблизительно 0.4 км^2 московских улиц:




Затем мы создали описание изображений с помощью особых точек. Для каждого изображения мы:

  1. Нашли особые точки для 3 масштабов кадра (сам кадр, уменьшенный в 4/3 раза кадр и уменьшенный вдвое кадр) алгоритмом YAPE (Yet Another Point Detector) и посчитали для них RFD-дескрипторы .
  2. Сохранили его координаты, набор особых точек, их дескрипторы. Поскольку затем мы будем сравнивать дескрипторы особых точек текущего кадра со значениями дескрипторов из нашей базы, удобно хранить дескрипторы в дереве, используя расстояние Хэмминга в качестве метрики. Общий размер сохраненных данных оказался чуть больше 15 Мб.

На этом приготовления закончены, теперь перейдем к тому, что происходит непосредственно во время работы программы:

  1. Преобразование цветного изображения в серое.
  2. Выполнение автоконтраста.
  3. Поиск особых точек для трех масштабов кадра (также с коэффициентами 1, 0.75 и 0.5) с помощью алгоритма YAPE и подсчет для них RFD-дескрипторов. Эти алгоритмы частично распараллелены, однако довольно большая часть вычислений осталась последовательной. Кроме того, они пока не оптимизировались под платформу Эльбрус.
  4. Для полученного набора дескрипторов выполняется поиск похожих дескрипторов среди сохраненных в дереве, и происходит определение несколько наиболее похожих кадров. Для различных дескрипторов поиск в дереве распараллелен с помощью tbb. При этом для первых 5 кадров видео мы выбираем 10 ближайших кадров, а затем берем только 5 кадров.
  5. Выбранные кадры проходят дополнительную фильтрацию, чтобы убрать “выбросы”, ведь траектория транспортного средства обычно непрерывна.

Входные данные: последовательность цветных кадров размера 800х600 пикселей.

1.71 Паспорт, anywhere режим, с/кадр, полная загрузка процессора 1.38 0.43 3.2 Паспорт, webcam режим, c/кадр, полная загрузка процессора 0.47 0.19 2.5

Результаты для распознавания паспорта получились довольно скромные, поскольку наше приложение в своем текущем виде не может эффективно задействовать более 4 потоков. Похожая ситуация с детекцией автомобилей и визуальной локацией: алгоритмы имеют нераспараллеленные участки, поэтому не приходится ожидать линейного масштабирования при росте числа ядер. Однако там, где нет ограничений на загрузку приложениями всех ядер процессора, мы наблюдаем рост в 3.2 раза, это близко к теоретическому пределу в 3.6 раз. В среднем разница производительности между поколениями процессоров МЦСТ на нашем наборе задач составляет порядка 2-3 раз, и это очень радует. Только за счёт увеличения частоты и совершенствования архитектуры мы наблюдаем выигрыш более чем в 1.7 раза. МЦСТ быстро нагоняет Intel с ее стратегией в добавлении 5% в год.


В процессе тестов под полной нагрузкой мы не испытывали проблем с зависаниями и падениями, что говорит о зрелости процессорной архитектуры. Подход VLIW, развиваемый в Эльбрусах-8С, позволяет добиваться работы в реальном времени различных алгоритмов компьютерного зрения, а библиотека EML содержит весьма солидный набор математических функций, которые позволяют экономить время тем, кто не собирается оптимизировать код сам. В заключение мы провели еще один эксперимент, запустив сразу 3 демонстрации (локализацию, поиск машин и поиск лиц) на одном процессоре Эльбрус-8С и получив среднюю загрузку процессора около 80%. Тут уж без комментариев.



Хотим сказать большое спасибо компании и сотрудникам МЦСТ и ИНЭУМ Брука за возможность попробовать Эльбрус-8С и поздравить их - восьмерка более чем достойный процессор и пожелать им успехов!

Использованные источники

P. Viola, M. Jones, “Rapid Object Detection using a Boosted Cascade of Simple Features”, Proceedings of CVPR 2001.
B. Fan, Q. Kong, T. Trzcinski, Z. H. Wang, C. Pan, and P. Fua, “Receptive fields selection for binary feature description,” IEEE Trans. Image Process., pp. 2583–2595, 2014.

В 2011 году Минпромторг объявил тендеры «на выполнение научно-исследовательских и опытно-конструкторских работ по подпрограмме федеральной целевой программы № 1 Часть 28». Эта программа называется «Развитие электронной компонентной базы и радиоэлектроники» и рассчитана на 2008–2015 гг.

Работы велись по двум лотам: «Разработка гетерогенного микропроцессора с пиковой производительностью более 150 Гфлопс на базе высокопроизводительных универсальных 64-разрядных процессорных ядер» и «Разработка 64-разрядного микропроцессора со встроенной графикой с пиковой производительностью более 24 Гфлопс». Оба лота выиграла компания МЦСТ. Результаты работ, проведенных в рамках исполнения трехлетних контрактов, были переданы в срок – в декабре 2015 года. В разработку «Эльбрус-8С» вложили 836 млн, в «Эльбрус-1С+» - 410 млн рублей.

Производительностью около 150 Гфлопс обладает Intel Core i7-4930K, выпущен в третьем квартале 2013 года, стоит в России от 20 тыс. рублей. Производительность «Эльбрус-1С+» сравнима с Intel Core i7-880, выпущенным во втором квартале 2010 года, цена – от 25 тыс. рублей.

Что представляют собой «Эльбрусы»

Архитектура процессоров использовалась МЦСТ более десяти лет и лишь была усовершенствована. «Эльбрус-8С» - 8-ядерный чип, выполненный по 28-нанометровой технологии и созданный для обработки больших объемов данных в режиме реального времени. Этот чип может использоваться в ПК, высокопроизводительных системах и серверах, комплексах цифровой обработки сигнала.

«Эльбрус-1С+» выполнен по технологии 40 нм. Он включает одно ядро архитектуры «Эльбрус» и графическое ядро с аппаратным 3D-ускорением. Процессор предназначен для промышленной автоматики, терминалов, одноплатных встроенных и носимых ЭВМ.

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

Известно также, что в январе 2016 года «Объединенная приборостроительная корпорация» начала разрабатывать оборудование, защищенное от кибершпионажа, на «Эльбрусах-8С», а в 2017-2018 гг. процессоры закупит МВД.

Российский процессор Эльбрус-8С

Добрый день, уважаемые читатели. Сегодняшняя тема будет очень интересна заядлым патриотам. Россия вперед!!! А поговорим мы сегодня о российских процессорах «Эльбрус » и «Байкал ». Очень жаль, что статью уж никак нельзя назвать «Процессоры российского производства », потому что по факту производятся они в восточной Азии (как и большинство электроники мировых лидеров), а не в России. Но вполне можно гордиться тем, что Россия одна из немногих стран мира, которая способна разрабатывать свои микропроцессоры, ведь за ними стоит будущее.

А есть среди вас те, кто для поиска статьи вбили в Яндексе фразу «русские процессоры »? Если говорить о людях, то «Не все россияне русские ». А если говорить о процессорах, то они российские . Инфа 100%, я проверял!

Итак, что мы имеем на сегодня? А сегодня у нас первая половина 2017 года и российские процессоры неугомонно развиваются.

Российские процессоры «Процессор-9» с поддержкой памяти DDR4

Что мы видим в подзаголовке? С поддержкой ! Это означает не что иное, как то, что Процессор-9 будет составлять прямую конкуренцию существующим гигантам Intel и AMD. Тут уж можно действительно гордиться Россией.

Что же такое Процессор-9? Это кодовое название топового российского процессора Эльбрус-16С от компании МЦСТ. Планируется, что он начнет выпускаться в 2018 году. Будет два варианта процессора с 8 и 16 ядрами. В общем, характеристики процессора вот:

Основные технические характеристики процессора Эльбрус-16С (Процессор-9)

Ранее уже продавались компьютеры на базе российских процессоров Эльбрус-4 С, но стоили они заоблачную сумму денег. Это обуславливалось тем, что не было налажено массовое производство процессоров. Эти компьютеры были скорее экспериментальными образцами, потому и стоили до 400 000 рублей. В случае же с Эльбрус-16С ситуацию исправит массовое производство процессоров в Тайване. К тому же производитель должен понимать, что при такой цене ни о какой конкурентоспособности и речи быть не может.

Почему бы нам не сопоставить информацию о всей линейке процессоров Эльбрус? Интересно ведь.

Эльбрус-2С+ Эльбрус-4С Эльбрус-8С Эльбрус-16С
Год выпуска 2011 2014 2015-2018 (доработки) 2018 (план)
Тактовая частота 500 МГц 800 Мгц 1300 МГц 1500 Мгц
Разрядность хз 32/64 бит 64 бит 64/128 бит
К-во ядер 2 4 8 8/16
Кэш первого уровня 64 Кб 128 Кб
Кэш второго уровня 1 Мб 8 Мб 4 Мб 4 Мб
Кэш третьего уровня 16 Мб 16 Мб
Поддержка ОЗУ DDR2-800 3 х DDR3-1600 4 х DDR3-1600 4 х DDR4-2400
Техпроцесс 90 нм 65 нм 28 нм 28 нм (или 16)
Потребление энергии 25 Вт 45 Вт 75-100 Вт 60-90 Вт

Были еще разработки процессоров, которые не прошли государственную аттестацию. Но это было давно и не правда.

А что вы думаете о российских процессорах? Вы бы купили компьютер за 400000 только потому, что он российский? Пишите, пообщаемся на эту тему.

Российские процессоры Эльбрус в сравнении с Intel

Знаю, что очень многих интересует сравнение российских процессоров с процессорами Intel. В этом нет ничего удивительного, русские – гордый народ, и поэтому мы хотим сравнивать свои достижения с самыми лучшими. А компания Intel такими как раз и являются в мире компьютерных процессоров.

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

В общем вот и сама таблица сравнения процессоров. Вставляю ее в таком виде, в котором нашел, не судите строго. Жаль, что там только сравнение Эльбрус и Интел, а процессоров Байкал там нет, но думаю, найдутся еще энтузиасты, которые поправят этот недочет.

Российские процессоры Эльбрус: сравнение с Intel

Российские процессоры Байкал-Т1 и Байкал-М

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

Процессор Байкал-Т1

По данным Байкал Электроникс, процессоры Байкал-Т1 можно использовать для маршрутизаторов, роутеров и другого телекоммуникационного оборудования, для тонких клиентов и офисной техники, для мультимедийных центров, систем ЧПУ. А вот процессоры Байкал-М смогут стать сердцем для рабочих ПК, для промышленной автоматизации и для управления зданиями. Уже интереснее! Но подробной информации о технических характеристиках пока нет. Знаем только, что он будет работать на 8 ядрах ARMv8-A и будет иметь на борту до восьми графических ядер ARM Mali-T628 и, что тоже немаловажно, производители обещают сделать его очень энергоэкономным. Посмотрим, что из этого выйдет.

Пока писал статью сделал запрос в АО «Байкал Электроникс», и ответ не заставил себя долго ждать. Уважаемый Малафеев Андрей Петрович (менеджер по связям с общественностью и корпоративным мероприятиям) любезно поделился с нами самой свежей информацией о процессоре Байкал-М .

Первые инженерные образцы процессора Байкал-М компания планирует выпустить уже осенью этого года. А дальше цитирую, дабы ни коем образом не исказить суть информации:

— Начало цитаты —

Процессор Байкал-M – система на кристалле, включающая энергоэффективные процессорные ядра с архитектурой ARMv 8, графическую подсистему и набор высокоскоростных интерфейсов. Байкал-М может использоваться в качестве доверенного процессора с широкими возможностями защиты данных в ряде устройств B 2C и В2В сегментов.

Области применения Байкал-М

  • моноблок, автоматизированное рабочее место, графическая рабочая станция;
  • домашний (офисный) медиа-центр;
  • сервер и терминал видеоконференций;
  • микросервер;
  • NAS уровня небольшого предприятия;
  • маршрутизатор / брандмауэр.

Высокая степень интеграции процессора Baikal —M позволяет разрабатывать компактные продукты, в которых основная доля добавленной стоимости приходится на отечественный процессор. Наличие полной информации о логической схеме и физической топологии микросхемы в сочетании с доверенным программным обеспечением и соответствующими аппаратными решениями позволяет использовать процессор в составе систем, предназначенных для обработки конфиденциальной информации.

Применяемое ПО

Широкое распространение архитектуры ARMv8 (AArch64) позволяет использовать огромное количество готового прикладного и системного программного обеспечения. Поддерживаются операционные системы Linux и Android, в том числе на уровне бинарных дистрибутивов и пакетов. Доступны многочисленных устройств, подключаемых к шинам PCIe и USB. В состав поставляемого «Байкал Электроникс» комплекта программного обеспечения входит ядро Linux в исходных текстах и скомпилированном виде, а также драйверы для встроенных в Baikal-M контроллеров.

Основные характеристики процессора Байкал-М

  • 8 ядер ARM Cortex-A57 (разрядность 64 бит).
  • Рабочая частота до 2 ГГц.
  • Аппаратная поддержка виртуализации и технологии Trust Zone на уровне всей СнК.
  • Интерфейс с оперативной памятью – два 64-битных канала DDR3/DDR4-2133 с поддержкой ECC
  • Кэш-память – 4 МБ (L2) + 8 МБ (L3).
  • Восьмиядерный графический сопроцессор Mali-T628.
  • Видеотракт, обеспечивающий поддержку HDMI , LVDS
  • Аппаратное декодирование видео
  • Встроенный контроллер PCI Express поддерживает 16 линий PCIe G en. 3.
  • Два контроллера 10-гигабитной сети Ethernet, два контроллера гигабитной сети Ethernet. Контроллеры поддерживают виртуальные сети VLAN и приоритезацию трафика.
  • Два контроллера SATA 6G , обеспечивающих скорость обмена данными до 6 Гбит/с каждый.
  • 2 канала USB v.3.0 и 4 канала USB v.2.0.
  • Поддержка режима доверенной загрузки.
  • Аппаратные ускорители, поддерживающие ГОСТ 28147-89 , ГОСТ Р 34.11-2012.
  • Энергопотребление – не более 30 Вт.

— Конец цитаты —

Что скажете, друзья? Российские процессоры вас впечатлили или оставили равнодушными? Лично я верю в великое будущее российских цифровых технологий!

Вы дочитали до самого конца?

Была ли эта статья полезной?

Да Нет

Что именно вам не понравилось? Статья была неполной или неправдивой?
Напишите в клмментариях и мы обещаем исправиться!

Камрад krom63 нашел в сети документ «Производительность процессора Эльбрус-8С в суперкомпьютерных приложениях вычислительной газовой динамики» и поделился ссылкой на него на тематическом форуме сайта ixbt.com.

В статье приводятся результаты тестирования процессора Эльбрус-8С в составе компьютера Эльбрус-801 по сравнению с микропроцессорами Интел и AMD.

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

(статья приводится с сокращениями, полный вариант статьи по ссылке ниже)

Программный комплекс NOISEtte

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

Программный комплекс Tapir

Предназначен для расчета дозвуковых и сверхзвуковых течений вязкого сжимаемого газа. Дискретизация уравнений Навье-Стокса выполняется на основе метода конечного объема с определением значений сеточных функций в центрах масс элементов гибридной неструктурированной сетки.

Особенности архитектуры процессора Эльбрус-8С

Восьмиядерный процессор Эльбрус-8С принадлежит семейству архитектур VLIW. Каждое ядро может исполнять до 25 различных элементарных операций в одном такте. Структура широкой команды (ШК) позволяет разместить:

1 команду передачи управления: переход, вызов, возврат;

3 команды предикатной логики;

До 6 арифметико-логических операций: целочисленная, побитовая, сдвиговая и вещественная арифметика (в том числе комбинированная), обращения к памяти, сравнения, пересылки и тернарные операторы;

4 команды обращения к линейно-регулярным данным, включая инкремент соответствующего указателя;

1 команду управления цикловым счетчиком;

16 байт константных данных;

Команды управления регистровым окном.

Для вещественной арифметики имеется 6 арифметико-логических устройств с полностью конвейеризированными устройствами умножения и сложения формата FP32 и FP64, позволяющих запускать и завершать исполнение fmul*, fadd*/fsub*, комбинированные (состоящие из двух операций) fmul_add*/sub*/rsub* каждый такт.

Также имеется одно частично конвейеризированное устройство деления и квадратного корня, позволяющее запускать одну из операций fdiv*, fsqrt* один раз в 2 такта. Более подробно описание архитектуры представлено в .

Подсистема памяти посредством 4 каналов DDR3 1600 обеспечивает предельный темп работы 51.2 GB/s. Иерархия кэш-памяти представлена

Кэшем данных первого уровня на каждое ядро, 64 KB, 4-way;

Кэшем инструкций первого уровня на каждое ядро, 128 KB, 4-way;

Кэшем второго уровня на каждое ядро, 512 KB, 4-way;

Инклюзивным общим для 8 ядер кэшем третьего уровня, 16 MB, 16-way.

Процессоры можно объединять в NUMA-систему до 4 процессоров, для связи между которыми используются линки пропускной способностью до 8 GB/s в каждом направлении.

Для сравнительного тестирования выбраны несколько западных аналогов процессора Эльбрус-8С. Среди них два близких по характеристикам процессора, также работающих с памятью DDR3 и выполненных по техпроцессу 22 нм и более: AMD Opteron 6276, ядро Interlagos; Intel Xeon E5- 2650v2, ядро Ivy Bridge. Также присутствуют процессоры Intel из числа наиболее современных на данный момент, работающих с памятью DDR4 и сделанных по техпроцессу 14 нм: Intel Xeon E5-2683v4, ядро Broadwell, и Intel Xeon Platinum 8160, ядро Skylake. В таблице 3 приведены количество ядер, тактовая частота (ГГц), пиковая производительность (GFLOPS), пропускная способность памяти (GB/s), энергопотребление (Вт), техпроцесс (нм).

Параллельное ускорение.

Данное измерение показывает, во сколько раз ускоряется расчет на многоядерном процессоре в многопоточном режиме с OpenMP распараллеливанием относительно последовательного исполнения на том же процессоре. Результаты ускорения на 8 ядрах представлены в таблице 4. Ускорение на процессоре Эльбрус-8С, 5-6 раз, в целом хорошо соответствует западным аналогам. У большинства процессоров можно отметить слабое ускорение операций с низкой вычислительной интенсивностью, ограниченных пропускной способностью памяти (SpMV, Grad). При этом Skylake демонстрирует одинаково высокое ускорение на всех операциях, благодаря более мощной подсистеме памяти, имеющей 6 каналов DDR4.


Сравнение одиночного ядра.

В этом тесте сравнивается производительность вычислений в последовательном режиме. Результаты, представленные в таблице 5, показывают соотношение производительности с процессором Эльбрус-8С, скорость работы которого принята за единицу. На коде NOISEtte разница с процессорами Intel составила около 3 раз. В пересчете производительности на такт это соответствует разнице около полутора раз (поскольку у процессоров Intel частота примерно вдвое выше). Относительно AMD проигрыш составил около 1.4 раз. Важно отметить, что NOISEtte имеет существенно более сложную реализацию и логику работы (вычислительная часть порядка десятка тысяч строк), чем Tapir (порядка тысячи строк). Для большинства ресурсоемких операций NOISEtte не выполнялось никакой специальной адаптации к архитектуре Эльбрус. Для Tapir была выполнена сравнительно несложная адаптация вычислений под архитектуру Эльбрус, описанная выше в разделе 3. На коде Tapir разница с Intel составила всего около полутора раз. Таким образом, на данном приложении Эльбрус-8С демонстрирует более высокую производительность на такт, чем аналоги Intel. Ядро AMD оказалось медленнее Эльбруса примерно в полтора раза.


Сравнение производительности на 8 ядрах.

В этом тесте сравнивается производительность вычислений в многопоточном режиме на одинаковом с Эльбрус-8С числе ядер. В параллельном режиме уже существенное влияние на результат оказывает производительность подсистемы памяти, поскольку 8 потоков могут полностью исчерпывать пропускную способность памяти. Результаты по соотношению с Эльбрусом показаны в таблице 6. Сравнивая с таблицей 5, можно отметить, что на коде NOISEtte соотношение изменилось в пользу Эльбруса. В этом тесте Эльбрус обгоняет AMD на обоих кодах. Для кода Tapir разница с Intel составила около 2 раз.


Сравнение всего процессора.

В этом тесте сравнивается производительность вычислений в многопоточном режиме на всех ядрах процессора. Результаты приведены в таблице 7.

Процессор AMD смотрится заметно слабее Intel. 8-ядерный Эльбрус-8С обгоняет на коде Tapir этот 16- ядерный процессор. 16- и 24-ядерные процессоры Intel за счет высокого OpenMP ускорения заметно прибавили относительно 8-ядер, разница с Эльбрусом составила уже примерно 3-7 раз.


Производительность вычислений.

Для измерения фактической производительности было посчитано число арифметических операций в коде Tapir. Также в качестве примера операции, сильно ограниченной пропускной способностью памяти, была выбрана операция NOISEtte SpMV, имеющая наименьшую вычислительную интенсивность из рассматриваемых - около 0.2 FLOP на байт, что примерно в 10 раз ниже, чем у кода Tapir. Результаты представлены в таблице 8, в которой также приводится процент от теоретического пика устройств.


Из результатов видно, что на SpMV достигается заметно меньший процент от пика, поскольку пик по числу арифметических операций у процессоров многократно превосходит пропускную способность памяти. Соотношение производительности и пропускной способности можно оценить по таблице 3.

Также можно отметить низкий процент от пика у Skylake, который имеет учетверенное число операций на такт по сравнению с предшественником Broadwell. Можно сделать вывод, что на рассматриваемом типе алгоритмов, в основном в силу ограничений пропускной способности памяти, удвоение числа векторных арифметических устройств и расширение в 2 раза векторных регистров не дало прироста производительности.

Заключение

Производительность вычислений на многоядерных процессорах Эльбрус8С была исследована на реальных приложениях вычислительной газовой динамики. Использовались два программных комплекса для моделирования сжимаемых течений на неструктурированных сетках, NOISEtte и Tapir .

Рассматривались несколько моделей процессоров Intel Xeon, от моделей 5- летней давности до наиболее современных. Чудес, конечно, не бывает, Эльбрус ожидаемо оказался медленнее процессоров Intel. Проигрыш по производительности ядра составил в среднем 2.6 раза для кода NOISEtte и 1.5 раза для кода Tapir. Это представляется достаточно хорошим результатом, учитывая, что тактовая частота Эльбрус-8С примерно вдвое ниже, т. е. в пересчете на такт Эльбрус не уступает Intel. Кроме того, проигрыш около двух раз на данном классе приложений является типичным даже для процессоров AMD , основного конкурента Intel. По производительности всего процессора проигрыш относительно Intel на коде NOISEtte составил от 2.5 раз против 8- ядерного Ivy Bridge до 6.8 раз против 24-ядерного Skylake, а на коде Tapir - от 2 до 5 раз, соответственно.

Для сравнения был рассмотрен 16-ядерный процессор AMD Opteron 6276 примерно 5-летней давности. Этот процессор проиграл соответствующему по времени 8-ядерному Intel Ivy Bridge примерно в 2 раза. На коде NOISEtte 8- ядерный Эльбрус-8С с частотой 1.3 ГГц оказался медленнее 16-ядерного процессора AMD с частотой 2.3 ГГц всего в 1.4 раза, а на коде Tapir Эльбрус обогнал AMD на 12%.

Также стоит отметить, что у процессоров Intel на данном типе приложений наблюдается отсутствие роста производительности ядра. Более того, современное ядро Intel Skylake оказалось на 20% медленнее ядра Intel Ivy Bridge 5-летней давности. Расширение векторных регистров и удвоение числа арифметических устройств не дало прироста производительности (с использованием только средств автоматической векторизации компилятора), в силу ограниченной пропускной способности памяти. Рост производительности современных процессоров связан в основном с увеличением числа ядер.

В то же время у процессора Эльбрус-8C производительность ядра относительно предыдущего поколения Эльбрус-4С выросла примерно в полтора раза. Это позволяет надеяться, что с выходом следующего поколения процессоров Эльбрус-16C отставание еще сократится. Ожидается, что следующая модель, выпуск которой запланирован на 2022 год, будет иметь 16 ядер, работающих на частоте 2 ГГц. Предполагается использование от 4 до 8 каналов памяти DDR4-2666, что может увеличить пропускную способность подсистемы памяти более чем в 3 раза. Также существенный вклад в рост производительности может внести дальнейшее совершенствование оптимизирующего компилятора.

Без одного дня три года прошло с момента об отечественном микропроцессоре Эльбрус-8С. Напомним, линейка процессоров Эльбрус разрабатывается АО «МЦСТ» и считается одной из самых успешных отечественных разработок в этой области.

Безусловно, разработка отечественных процессоров не остановилась на Эльбрус-8С.

Стоит сказать, что сама по себе модель Эльбрус-8С выглядела перспективно на фоне предыдущих российских разработок. Конечно, ожидать от АО «МЦСТ» настоящего соперничества с Intel и AMD нельзя. Весовые категории не те. Но такие процессоры разрабатываются не для того. Это вопрос информационной безопасности и технологической самостоятельности. Конечно, очень хотелось бы увидеть коммерческий успех линейки Эльбрус, но при ничтожных размерах отгружаемых партий себестоимость каждого процессора выходит огромной. При этом следует напомнить, что речь идёт о не самом современном процессоре. Хотя и не о совсем безнадежном.

За три прошедших года модель 8С претерпела модернизацию. Усовершенствованная версия 8СВ получила поддержку DDR4, увеличенную площадь кристалла и повышенную тактовую частоту.

Характеристики Эльбрус-8С Эльбрус-8СВ
Тактовая частота 1300 МГц 1500 МГц
Количество ядер 8 8
Кэш-память L2: 8 x 512 КБ

L3: 16 МБ

L2: 8 x 512 КБ

L3: 16 МБ

Оперативная память DDR3-1600 ECC DDR4-2400 ECC
Площадь кристалла 321 mm 2 350 mm 2
Количество транзисторов 2,73 миллиарда 3,5 миллиарда
Техпроцесс 28 нм 28 нм
Пиковая производительность (64 разряда, двойная точность) 125 Gflops 288 Gflops
Пиковая производительность (32 разряда, одинарная точность) 250 Gflops 576 Gflops

Инженерам АО «МЦСТ» удалось обеспечить более чем двукратный рост пиковой производительности. Выпуск намечен на 2018 год. Страница процессора на сайте АО «МЦСТ».

Впрочем, нельзя не понимать, что Эльбрус-8СВ является пусть и качественной, но модернизацией морально устаревшего процессора. Согласно планам компании, на смену 8С и 8СВ к 2022 году должен прийти Эльбрус-16С. Ожидается переход на техпроцесс 16 нм и почти трехкратный рост пиковой производительности. Число ядер планируется довести до 16, а тактовую частоту до 2000 МГц.

Сбудутся ли эти планы — покажет время. Однако стоит отметить техпроцесс, который планируется применять в данной разработке. Хотя 16 нм не выглядят сейчас устаревшим техпроцессом, они, скорее всего, будут архаично смотреться к 2022 году. Уже сейчас AMD выпускает процессоры по техпроцессу в 12 нм и экспериментирует с 7 нм. Intel вовсю занята переходом на техпроцесс в 10 нм.

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

Поделиться