Сравнение Эльбрус-4С и Эльбрус-8С в нескольких задачах машинного зрения

    В этой статье мы покажем, как работают технологии распознавания образов на Эльбрус-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С, с/кадр Ускорение, раз
    Anywhere-режим, 1 поток 4.57 2.78 1.64
    Anywhere-режим, max потоков 3.09 1.78 1.74
    webcam-режим, 1 поток 0.81 0.49 1.65
    webcam-режим, max потоков 0.58 0.34 1.71

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


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


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


    Режим Эльбрус-4С, с/кадр Эльбрус-8С, с/кадр Ускорение, раз
    Anywhere 1.38 0.43 3.2
    webcam 0.47 0.19 2.5

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


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


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


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


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


    1. Вырезание прямоугольника ROI по центру кадра.
    2. Преобразование цветного изображения ROI в серое.
    3. Предпосчет признаков Виолы-Джонса.
      На этом этапе изображение подвергается масштабированию, строятся карты вспомогательных признаков (например, направленных границ), а также вычисляются кумулятивные суммы по всем признакам для быстрого подсчета хааровских вэйвлетов.
    4. Запуск классификатора Виолы-Джонса на множестве окон.
      Здесь с некоторым шагом перебираются прямоугольные окна, на которых запускается классификатор. Если классификатор выдал положительный ответ, то произошла детекция объекта, т.е. изображение внутри окна соответствует автомобилю. В этом случае выполняется уточнение области изображения, в которой находится объект: в окрестности первичной детекции выделяются окна того же размера, но с меньшим шагом и также подаются на вход классификатора. Все найденные объекты сохраняются для дальнейшей обработки. Данная процедура повторяется для нескольких масштабов входного изображения.
      Этот этап собственно и составляет основную вычислительную сложность задачи и распараллеливание было произведено именно для него. Мы использовали библиотеку tbb для автоматического выбора эффективного числа потоков.
    5. Обработка массива детекций, полученного после применения детектора. Поскольку ряд полученных детекций могут быть очень близкими и отвечать одному и тому же объекту, мы объединяем детекции, имеющие достаточно большую площадь пересечения. В результате получаем массив прямоугольников, которые указывают положение обнаруженных автомобилей.
    6. Сопоставление детекций на предыдущем и текущем кадрах. Мы считаем, что был задетектирован один и тот же объект, если площадь пересечения прямоугольников составляет больше половины от площади текущего прямоугольника. Выполняем сглаживание положения объекта по формулам:
      xi = xi + (1-α)xi-1
      yi = yi + (1-α)yi-1
      wi = wi + (1-α)wi-1
      hi = hi + (1-α)hi-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].
    2. Сохранили его координаты, набор особых точек, их дескрипторы. Поскольку затем мы будем сравнивать дескрипторы особых точек текущего кадра со значениями дескрипторов из нашей базы, удобно хранить дескрипторы в дереве, используя расстояние Хэмминга в качестве метрики. Общий размер сохраненных данных оказался чуть больше 15 Мб.

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


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

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


    Такая система выдает 3.0 fps на Эльбрус-4С и 7.2 fps на Эльбрус-8С.


    Покажем, как же оно работает:


    Эльбрус-4С



    Эльбрус-8С



    Заключение


    Для удобства основные характеристики Эльбрусов и полученные результаты по нашим программам собраны в таблице:


    Тест Эльбрус-4С Эльбрус-8С Ускорение, раз
    Детекция автомобилей 15.5 fps 35.6 fps 2.3
    Визуальная локализация 3.0 fps 7.2 fps 2.4
    Паспорт, anywhere режим, с/кадр 3.09 1.78 1.74
    Паспорт, webcam режим, c/кадр 0.58 0.34 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С и поздравить их — восьмерка более чем достойный процессор и пожелать им успехов!


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


    [1] P. Viola, M. Jones, “Rapid Object Detection using a Boosted Cascade of Simple Features”, Proceedings of CVPR 2001.
    [2] 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.

    Smart Engines
    47.07
    Обработка изображений, распознавание в видеопотоке
    Share post

    Comments 138

      +17
      Думаю, я выражу общее мнение, что хочется увидеть сревнение с не-Эльбрусом. Есть такие тесты?
        0
        В рамках данного исследования мы ставили цель сравнить Эльбрус-4С и Эльбрус-8С. Сравнение с другими процессорами не проводилось.
          +14
          Ну так а в чем проблема? Ведь у большинства стоит вопрос почему процессоры «Эльбрус» должны быть лучше процессоров intel. А в вашем тесте все равно что сравнить гранту седан и гранту лифтбэк.
            +6
            Вот ответ https://www.youtube.com/watch?v=jcxA0bv6iNY# мы не можем выделить специалиста под эту задачу. Честно говоря после подобного ответа, я даже не знаю что и думать, верней знаю, скорее всего тесты ну очень плохие будут. Причем, не надо выделять специалиста, много людей найдется желающих сделать это за вас, дайте образец, можно попробовать перемножать матрицы или помайнить биткойны.
              0
              Ну при таком раскладе напрашивается только один вывод. Просто не хотят сесть в лужу, иначе ведь потеряют покупателей
                +6

                Имхо главная фишка Эльбруса замена иностранных бэкдоров на свои, православные. В государственных учреждениях и оборонке это востребованно.


                Что может радовать: популяризация Linux, возможные коммиты и багофиксы в апстрим ядра и других свободных проектов, развитие архитектуры MIPS.

                  0
                  Имхо главная фишка Эльбруса замена иностранных бэкдоров на свои, православные. В государственных учреждениях и оборонке это востребованно.

                  узкоспециализированно, да и в таком случае и не нужна такая масштабная огласка
                  Что может радовать: популяризация Linux, возможные коммиты и багофиксы в апстрим ядра и других свободных проектов

                  в данном случае сомнительно, так как это будут форки популярных систем но со своими репозиториями, которые в свою очередь будут получать обновления не совсем скоро, а то и вовсе не будут получать
                  развитие архитектуры MIPS

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

                  Хочу добавить, что я ни в коем случае не говорю что такие разработки в нашей стране плохо, наоборот, это хорошо, но просто это не надо преподносить как очередного «убийцу айфона»
                    +2
                    так никто не преподносит. вот факт: проц 8С быстрее предыдущего 4С в 2-3 раза. проц 4С быстрее предыдущего 2С+ в 2-3 раза.

                    Да и купить может вообще любой — есть на складе, пишите, звоните. только не плачьте, что штучные (а партия с завода в несколько сотен — все равно что штучное) изделия стоят не как серии по несколько сотен штук
                      0

                      А чтобы Эльбрус погонять, требуется специализированная материнская плата? На чем реализованы мосты? Где посмотреть исходники?

                        0
                        Там все специальное, матплата и мосты. Исходники чего?
                          0

                          Эльбрус ОС. Большинство проектов в нем GNU'тые, значит должна распространяться база, позволяющая скомпилировать Эльбрус ОС из пакетов-исходников. Разве нет?

                            0
                            да исходники не первый год в сети гуляют
                              0

                              Исходники закрыты, проскакивали инсайды, что обсуждается возможность открытия деривативов проектов под *GPL, но конкретных планов не анонсировалось.

                        0
                        в данном случае сомнительно, так как это будут форки популярных систем но со своими репозиториями, которые в свою очередь будут получать обновления не совсем скоро, а то и вовсе не будут получать

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


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

                        +2
                        у Эльбруса собственная архитектура, не MIPS. вы, наверно, с Комдивом/Байкалом спутали
                          –2

                          Вот это новость. Да, спутал с Байкалом. Однако насчет слова "собственная" я бы не был так уверен. Тут товарищ ниже пишет, что это архитектура VLIW. Почитал wiki, архитектура была разработана в США в 80-х годах. Идейное продолжение RISC.


                          Странный выбор. Байкал и MIPS уж куда ни шло, а вот VLIW… Какие дистрибутивы официально поддерживают эту архитектуру? Как сложно портировать приложения под эту архитектуру? Кто компилятор разрабатывает?

                            +3

                            VLIW это не конкретная архитектура типа x86/ARM/MIPS, это скорее "стиль" набора команд. По уровню абстракции это на уровне с CISC и RISC. Например, недавно официально почивший Itanium это тоже VLIW.

                              +1
                              Первые в мире компьютеры с широким командным словом появились в СССР в 1974 году.
                              ЭВМ М-10 Карцева. Широкая команда переменной длины, содержащая до из 6 слогов по 32 бита каждый. Максимум 6 слогов — 192 бита.
                                0

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


                                Или это я такой невнимательный?

                                  0
                                  А разве это не должно быть на уровне рефлекса у технарей?
                                  Чтобы читать про что-то, чего не знаешь и тут же лезть в гугл?
                                  Тут вопрос лени, неверное, а не внимательности.
                                    0

                                    Тут, к сожалению, сыграла репутация "инноваций", "нано" и прочего отечественного чуда.

                                  • UFO just landed and posted this here
                                      +1
                                      ВНЕЗАПНО разработчики того, что вы называете «похороненный советский проект» и нынешний Эльбрус — одни и те же люди. так что вы не правы: это именно своя архитектура, разрабатываемая еще с советских времен.

                                      но это сильно разные времена. основа от старых, но полностью все новое, переработанное
                                      • UFO just landed and posted this here
                                        0
                                        С таким подходом и любой процессор Intel архитектуры х86 является запылившимся с древних времён изобретением 8008, подогнанным под современный техпроцесс.

                                        На самом деле архитектуры совершенствуется, как x86 так и Эльбрус.
                                        0
                                        ядро и ОС

                                        Тут они только портируются. А вот архитектура и компилятор действительно свои. Хотя с компилятором не уверен, по lcc гуглится какой-то доисторический компилятор, но как он связан с Эльбрусом, неизвестно. Возможно, просто совпадение названий.
                                          0

                                          lcc полностью наша разработка, что касается кодогенерации и оптимизаций, к нему прикручен покупной gcc-совместимый фронтенд.

                                      0
                                      Дистрибутивы: ОС «ЭЛЬБРУС», Альт Линукс в конце этого года в релиз уйдет. уже имеется ЗОСРВ «нейтрино» (QNX)

                                      на с/с++ не сложно. практически, не надо дорабатывать. опенсорс собирается, но если есть аппаратнозависимые участки — надо их переносить

                                      компилятор, можно сказать, часть архитектуры. пилит МЦСТ
                                    0
                                    Не MIPS, а VLIW.
                                      +2
                                      Путаете теплое с мягким.

                                      VLIW — это класс архитектур, такой же, как CISC или RISC.

                                      MIPS — это архитектура конкретного семейства процессоров класса RISC.

                                      Эльбрусовская архитектура раньше именовалась «e2k», сейчас вроде как просто «архитектура эльбрус»
                                        0
                                        Я не путаю, а корректирую. Читайте сообщения внимательно.
                                      –1
                                      замена иностранных бэкдоров на свои, православные

                                      Скорее, дополнение иностранных бэкдоров своими. Делают-то их всё равно на чужой фабрике, так что гарантировать отсутствие не наших бэкдоров в нём нельзя.
                                        0
                                        Зная свою собственную архитектуру на уровне разработки, чужие бэкдоры обнаружить легче.
                                          0
                                          Вроде более старые процессоры делают и в России. Но вопрос с бэкдорами не так прост: на фабрику-то посылают уже описание масок для производства процессоров, а не схему процессора. А по описанию масок разобраться и добавить свой бэкдор в процессор сложнее, чем разработать свой.
                                            0
                                            абсолютно верно. а когда обнаружится (а вы думаете компетентные специалисты не смотрят что с фабрики приходит? у любого заказчика, речь не только про нас) что фабрика добавила недокументированные возможности, за сколько дней (дней) она разорится?
                                              0
                                              Ну, не факт, что обязательно разорится, но кренделей отхватит изрядно. Наверняка неустойку большущую заплатит.
                                      0
                                      Вот в этой статье мы приводили некоторые сравнения Интела и Эльбрус-4С, когда займемся оптимизацией для 8С, напишем про него. Наша компания создаёт системы машинного зрения и распознавания которые могут быстро и качественно работать на Эльбрусах, Интеллах, АРМах и даже SPARCах.
                                        +1
                                        да, помню. Если не смотреть, на столбцы «в пересчете на мегагерц», то не сказать что прям выдающиеся результаты. Может и не провал, но не «вау как круто». Хотелось бы более приземленных тестов, просто матрицы, просто биткойны.
                                          0
                                          Насчет тензорных операций — учтем в следующем гайде по оптимизации, там много интересного о чем можно написать ввиду принципиально разных архитектур, а вот насчет биткоинов точно не к нам.
                                            +2
                                            >> Если не смотреть, на столбцы «в пересчете на мегагерц», то не сказать что прям выдающиеся результаты.

                                            А почему бы и не сказать? :)
                                            Эльбрус 0.8ГГц и DDR3 оказался в 2-3 раза медленней Интела 4ГГц DDR4.
                                            Самый что ни на есть выдающийся результат. Скажу больше, прямо-таки шоколадный.
                                            Получается, что Эльбрус-8С в тех же тестах уже будет идти вровень с Intel Core i7-6700K! А после оптимизаций под изменения в микроархитектуре и под 8 ядер даже обгонит его!
                                            Если таковое произойдет, то это будет настоящее чудо. Хотя бы с учетом того, что МЦСТ по своим людским и финансовым возможностям и близко не сопоставим с такой мегакорпорацией, как Интел.
                                              0
                                              Вдруг заподозрил, что в статье сравнивается производительность процессора Интел и сервера Эльбрус 4.4, в котором на борту Эльбрусов-4С 4 штуки.
                                              Если так, то результат сравнения не такой шоколадный, как могло показаться вначале.
                                                0
                                                Сравнивали с ВК Эльбрус 401-PC на борту один Эльбрус-4С на 800МГц
                                                  0
                                                  Раз так, то результат отличный
                                                    0

                                                    Не забывайте, что под Интел компилировали Community Edition компилятором, причем скорее всего без оптимизаций.

                                                      0
                                                      компилировали действительно Community Edition со включенными оптимизациями
                                                        0

                                                        Community Edition — это про Visual Studio?
                                                        Раз уж сравнение идет c эльбрусами, то хотелось бы увидеть сравнения производительности интела и эльбруса обоих под Linux, с использованием gcc или clang.

                                              0
                                              Есть тест где Эльбрус обходит i7 — это, насколько я помню, как раз вычисление хэша. До видеокарт далеко в любом случае, но за счёт плотной и правильной упаковки инструкций в слово получаются вот такие неожиданные результаты.
                                                0

                                                Кстати о видеокартах — ATI только начиная с последних поколений отказалась от VLIW архитектуры. Если верить вики.

                                                  0
                                                  Тут надо ориентироваться на Intel Itanium, он всё же general purpose.
                                                    0
                                                    Было бы интересно сравнить, но где его достать…
                                                      0
                                                      Так недавно же выпустили последнее обновление. У интела достать, только цены не демократичные. Впрочем, как и у штучного эльбруса.
                                                        0
                                                        МЦСТ предоставляет возможность тестирования без необходимости покупки, а покупать дорогую(очень) машину только для тестов наша компания не может, да и не хочет. Заказчиков использующих Itanium у нас нет, больших перспектив тоже нет, если Intel предложит мы всегда за.
                                    • UFO just landed and posted this here
                                        –9
                                        Я это все понимаю, потому и говорю, что зачем подавать информацию о данной платформе в виде очередного «убийцы айфона»? Несомненно для ВПК, АПК, определения траффика на дорогах и так далее это может быть окажется более выгодной системой, но точно эта платформа не для всех граждан страны
                                          +6
                                          >> зачем подавать информацию о данной платформе в виде очередного «убийцы айфона»?
                                          В статье сравнивалась новая и старая модели Эльбруса на специфических задачах
                                          Причём тут «убийца айфона»?
                                          0
                                          Ну так, нужны хоть какие-то тесты. Я вот подписан на канал про эльбрусы, в каждом видео говорят про «загнивающий» интел, при этом не одного теста нету, как то не солидно. Давайте перемножим матрицы, давайте запустим какой-нибудь опен сорц рендер 3d, давайте распознавать образы с помощью OpenCV и напишем список задач где интел лучше/хуже. И главное, цена/производительность, что-то мне подсказывает что тут будет все совсем плохо.
                                            0
                                            походу, про мой канал. тестировать у меня никогда не было и в мыслях — для меня это не интересно, а канал мой. если найду кого в компании, кто захочет это делать — будут и тесты, но я еще не искал. есть предположение кого задействовать в тестах, поговорю с ним.
                                          0
                                          Мы работаем с кластерами как на эльбрусах, так и на интелах. В сложных системах Эльбрусы медленнее во столько раз, во сколько раз меньше герц у них.
                                          Правда можно писать специальным образом писать нативный код, чтобы выжать максимум из VLIW архитектуры (у x86 тоже есть SSE и тд, но т.к. супер оптимизированного кода мы еще не написали, то сравнивать нечего).
                                          И кстати странно, но у нас у 4С по 0.75ГГц
                                            0
                                            вы же про серверы? в них во всех (Эльбрус-4.4) стоят микропроцессоры с частотой 750 МГц. только в Эльбрус 401-РС и просто купить имеются на 800 МГЦ. в серверах они ставится не будут
                                            0

                                            Нельзя осквернять православный Эльбрус сравнениями с какими-то там интелами, амд и тем более с армами.

                                            0
                                            У меня вопрос. Вы там ничего не перепутали?

                                              0
                                              Там общий L3 кэш
                                                0
                                                А версии компилятора и ОС?
                                                +1
                                                Тут не ошибки, на момент тестирования это были стабильные версии, харакетристики процессора — http://mcst.ru/vosmiyadernyj-mikroprocessor-s-arkhitekturoj-elbrus
                                                  0
                                                  Под каждый проц пишем свой копилятор и ОС? совместимости нет?
                                                  А названия одинаковые, чтоб запутать? Иначе почему в 14 году версия ниже чем в 16?

                                                  И по вашему адресу не увидел ни ОС ни компилятора.
                                                    0
                                                    Совместимость есть, версии компиляторов самые свежие стабильные релизы (апрель-май 2017 года). Процессоры разные и видимо пока для них стабильные версии компиляторов немного разнятся.
                                                  0
                                                  все прально: кэш второго уровня у 4С по 2 МБ на ядро, в сумме 8 МБ. в Эльбрус-8С — по 512 Кб на ядро, в сумме 4 МБ, но есть еще третьего уровня на 16 Мб

                                                  далее: неожиданно для всех открытие, что компьютер, выпущенный в 2014 году поддерживается производителем и на него накатывается свежая ОС, ОС «Эльбрус», а не эксплуатируется версия 2014 года. то что разные — потому что чуть более старая версия стоит на ПК Эльбрус 801-РС и установить одинаковые (идентичные) версии возможности на тот момент не было. разница там минимальна и на общий результат измерений существенно не повлияло
                                                    0
                                                    все прально: кэш второго уровня у 4С по 2 МБ на ядро, в сумме 8 МБ. в Эльбрус-8С — по 512 Кб на ядро, в сумме 4 МБ, но есть еще третьего уровня на 16 Мб

                                                    Обычно кеш L2 работает в раза полтора-два быстрее и имеет задержки раза в три меньше, так что размен L2 на L3 выглядит несколько странно. Впрочем ХЗ, как это у эльбруса, мои данные по х86.
                                                      0
                                                      Тут дело в том, что число ядер увеличилось вдвое, и с учетом этого сохранить по 2Мб на ядро не получалось физически, из-за ограничений на площадь кристалла.
                                                      Об этом написано здесь
                                                      (вообще, довольно толковый документ в плане понимания различий между 8C и 4C)

                                                      Наличие 16Мб L3, очевидно, призвано компенсировать уменьшение L2, помимо всего прочего.
                                                      Т.е. речь о «размене» вести не совсем корректно.
                                                  0
                                                  КС потянет?
                                                    0
                                                    Doom 3 тянет — https://www.youtube.com/watch?v=MzOdIdzxSRs, контру скорее всего тоже потянет.
                                                      0
                                                      Потянет все, что потянет Штеуд на частоте 1,3 ГГц.
                                                        0
                                                        Но лучше конечно ждать до 20-22 года. Тогда должны выйти Эльбрус-16С и Эльбрус-2С3. Оба планируются на 2 ГГц. Встроенный южный мост с PCI-Ex 3.0, USB 3.0 и т.д. Второй 2-ядерный со встроенным 3D.
                                                        0

                                                        Можно ли где-то скачать даташит? На i7-900, например, легко нагуглился

                                                          0
                                                          Мы пользуемся сайтом разработчика — http://mcst.ru/vosmiyadernyj-mikroprocessor-s-arkhitekturoj-elbrus
                                                            0
                                                            свободно сейчас его не найти, т.к. он в процессе разработки. все привыкли к западным даташитам, а у нас ГОСТ. переделка требует времени, но она идет. будет доступен позже. или запрос, подписание NDA и вышлем всю документацию на СБИС завтра.
                                                              0
                                                              Лично меня (и я думаю не одного) устроило бы неформальное описание системы команд/форматов.

                                                                +1
                                                                В случае с VLIW описание системы команд не так актуально, т.к. писать программы на ассемблере для VLIW — это для мазохистов))
                                                                  0
                                                                  Мои вкусы очень специфичны
                                                                  0
                                                                  это жеж не даташит — там назанацение выводов, габариты, и прочее перечисляется. про что вы спрашиваете есть на сайте мцст
                                                              0
                                                              Свои процессоры конечно- круто, да и без проблем вывести новое или улучшать старое даже у тех же Intel и AMD — не всегда выходит, тот же Ryzen можно вспомнить.
                                                              Конечно интересно глянуть сравнения с другими процессорами, но даже если грубо посмотреть по параметрам
                                                              То получается такой урезанный «народный процессор» i5 2500k(да у него 4 ядра, а не 8), и с частотой почти в 3 раза меньше. И если учесть что это другая архитектура(Вспоминаем AMD с «мы сделаем драйвер будет лучше»)
                                                              То по производительности он будет слабее в те же 3 раза в схожих задачах.
                                                                –3
                                                                есть инфа, что 4С выдает 250 гфлопс. Но во всех (!) статьях ссылаются на производителя. Мол производитель заявил…
                                                                Предлагаю
                                                                Заголовок спойлера
                                                                1. Создать проц с названием Дыхтау
                                                                2. Засекретить все инструкции к процу
                                                                3. Сказать журналистам что выдает 500 гфлопс.

                                                                  +4
                                                                  так создай) а потом проведем замеры и посмотрим что у тебя получилось и что есть у Эльбруса. далее у тебя будут большие открытия: существуют ТЗ, сдача ОКР проводится по ТЗ и если надо 250 ГФЛОПС, то результат в 220 ГФЛОПС не устроит заказчика и ты пойдешь переделывать за свой счет (оч грубо описываю).

                                                                  и у вас ошибка: Эльбрус-4С до 50 ГФЛОПС одинарной точности, Эльбрус-8С — до 250 ГФЛОПС одинарной точности
                                                                    0
                                                                    если надо 250 ГФЛОПС, то результат в 220 ГФЛОПС не устроит заказчика и ты пойдешь переделывать за свой счет

                                                                    Эльбрус-8С — до 250 ГФЛОПС одинарной точности

                                                                    То есть если запустить linpack на 8С то можно увидеть заветные 250 GFLOPs? Примерно как на i7-7700K?

                                                                      0
                                                                      У интелов обычно двойная точность в даташитах.
                                                                        0

                                                                        Ну я о данных из реальных замеров.

                                                                          0
                                                                          Реальные замеры надо с Itanium делать — это аналог по архитектуре.
                                                                            0

                                                                            Itanium закрыли между прочим

                                                                              0
                                                                              Рынок сожрал — логично же.
                                                                              image
                                                                            0
                                                                            Вот тут можно посмотреть, как Itanium сливает Core.
                                                                          0
                                                                          Нет конечно — это теоритические гигафлопсы для случая когда задействованы все исполнительные блоки.
                                                                          В реальном тесте меньше будет.
                                                                          0
                                                                          да, существуют и ТЗ, и проводят ОКР по ТЗ. Где результаты? Кто-нибудь их видел?
                                                                          Все инструкции к процессору засекречены. Теста кроме этого практически невозможно найти.

                                                                          Я лишь говорю о том, что если выводят продукт и бьют в грудь об импортозамещении, то велкам, предоставьте данные, бенчмарки, и тд. А заявлять без основательно (!), что 8с выдает 250 гфлопс, это на мой взгляд бред. К этому и написал, что можно заявить что угодно. А на практике и в ТЗ будет совсем другое.
                                                                          Для всего нужны основания (с).
                                                                            0
                                                                            вот ты увидишь, что есть 250 — дальше что? намного интереснее и лучше направить усилия и перевести кого на Эльбрусы с зарубежного железа, как, к примеру, в Минкомсвязи перевели систему ПВД НП с IBM Z на Эльбрусы. а вот эти попугаи… мне ни горячо, ни холодно с них. единственный реальный критерий: на сколько реально перевести, условно, сервер баз данных на Эльбрусы: потянет? вот это настоящая производительность
                                                                              0
                                                                              да, но как их переводили? «дайте нам исходники, мы их перекомпилим под эльбрусы». Даже пусть так, но если заменять, то нужно заменять на такое же, или на лучшее по характеристикам. В обратном направлении получается кака.
                                                                              Если попугаи ни горячо ни холодно, то давайте ставить Pentium'ы, нахер ксеоны и нахер титаниумы.
                                                                              Так и представляю, приходите и говорите
                                                                              «Мне нужен хороший комп», вам продавец объясняет есть процессор условно 800 МГц, есть 3,4 ГГц, а вы ему такой «Ни горячо ни холодно! Ставьте свое, родное!»
                                                                                0
                                                                                Вам пытались объяснить, что есть масса задач, для которых вполне хватает вычислительных возможностей Эльбруса-4С (уровень Core2), не говоря уже о 8С.
                                                                                По этой причине применительно к тем областям, где требуется «свое, родное» (т.е. там, где нужен повышенный уровень защиты от НСД и доверенная платформа) и где производительности Эльбрусов достаточно, пиковые «попугаи» сами по себе малоинтересны.

                                                                                Никто в здравом уме не ведет сейчас речь о том, что Эльбрусы могут на равных конкурировать с Интелами в условиях «свободного рынка» и «равной конкуренции» на уровне ширпотреба. Хотя бы потому, что разрыв по части кадровых и финансовых ресурсов между скромной конторой МЦСТ и мегакорпорацией Интел несопоставимо велик. С учетом этого сам факт того, что МЦСТ способен выдавать процессоры с производительностью Интелов предыдущего поколения, является поистине чудесным достижением. И позволяет стране сохранять элементы независимости в такой ключевой сфере как IT хотя бы в некоторых областях.

                                                                                Хотя, конечно, всем, кто интересуется Эльбруами и радуется успехам эльбрусовцев, ознакомиться с «попугаями» 8С на реальных задачах было бы очень интересно.
                                                                          0

                                                                          У вас ЛОРчанка

                                                                          0
                                                                          Совместимы между собой процессоры на уровне двоичных кодов? Нужно ли отдельно компилировать под каждый из процов?
                                                                            0
                                                                            Сейчас, снизу вверх. Собранный под 4с код запускается на 8с, но не наоборот.
                                                                            0
                                                                            При тестировании распознавания паспортов вы пишете, что взяли 1000 изображений. Это реальные сканы паспортов? Если, да то откуда вы их взяли и знают, владельцы паспортов о таком их использовании?
                                                                              +2
                                                                              Мы уважаем закон, для тестирования мы взяли 50 паспортов своих сотрудников и сделали из них 1000 различных изображений (повороты и сдвиги на разных сканерах, фотографии разными телефонами в разных условиях, ксероксы), для видео мы просто сделали 100 роликов на разных вебкамерах по 10 кадров.
                                                                              +1

                                                                              Все-таки не хватает сравнения с x86, без него как-то не то. Дальше я так понимаю, что код под 4с на новом 8с будет работать не то чтобы хорошо и его нужно перекомпилировать, чтобы воспользоваться преимуществами архитектуры? Гентушники должны быть счастливы, но вы не думали над тем, чтобы распространять приложения в некотором промежуточном коде, который бы уже при установке на целевую систему оптимизировался под конкретную железку?
                                                                              Ну и традиционный вопрос, когда завезут поддержку в открытые компиляторы, в llvm и апстрим linux?

                                                                                +2
                                                                                А нахрена для процессора, который делается как закрытый и защищённый делать поддержку маргинального ширпотреба?

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

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

                                                                                  0

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

                                                                                    0

                                                                                    А как же http://llvm.org/docs/CodeGenerator.html#vliw-packetizer? Или этого недостаточно?

                                                                                    • UFO just landed and posted this here
                                                                                        0
                                                                                        >> Во-первых, LLVM для Эльбруса существует.

                                                                                        Не все так однозначно (с)
                                                                                        В этом документе сообщается, что для Эльбруса изначально имелся свой аналог LLVM под названием EIR.
                                                                                        К. Трушкин из МЦСТ как-то оговорился, что в процессе адаптации дров для AMD/Radeon был реализован необходимый минимум LLVM для Gallium3D
                                                                                    0

                                                                                    Виноват, наврал. Относительно информативная ветка из найденного — эта Отказ от llvm у мультиклета (обоснование)

                                                                                      0
                                                                                      «обоснование» 2012 года плохое, мультиклет перешёл на LLVM
                                                                                      http://multiclet.com/community/boards/4/topics/1687
                                                                                        0

                                                                                        Спасибо, почитаю на свежую голову. Я помню, как неоднократно в комментах хабра они объясняли, почему у них свой компилятор и llvm в планах нет, поэтому приятно видеть. Чисто субъективно, поддержка архитектуры в llvm читабельнее, чем в gcc

                                                                                      +1
                                                                                      >> Все-таки не хватает сравнения с x86, без него как-то не то.

                                                                                      Выше автор дал ссылку на сравнение Intel Core i7-6700K с Эльбрусом-4С, который там отстает в 2-3 раза.
                                                                                      С учетом сведений, которые приведены в сабжевой заметке, Э8С будет на уровне Intel Core i7-6700K (на их задачах)!
                                                                                      Если так, то это очень крутой результат.
                                                                                        0
                                                                                        Вдруг заподозрил, что в статье сравнивается производительность процессора Интел и сервера Эльбрус 4.4, в котором на борту Эльбрусов-4С 4 штуки.
                                                                                        Если так, то результат сравнения не такой шоколадный, как могло показаться вначале.
                                                                                        Но, как отметил автор, оптимизация их кода под Эльбрус только начинается. И ожидается статья об уже достигнутом 4-кратном приросте в результате такой оптимизации
                                                                                          0
                                                                                          Подозрения развеяны автором статьи:

                                                                                          Сравнивали с ВК Эльбрус 401-PC на борту один Эльбрус-4С на 800МГц
                                                                                      0
                                                                                      >МЦСТ быстро нагоняет Intel с ее стратегией в добавлении 5% в год.
                                                                                      Про 5% хотелось бы послушать отдельно.
                                                                                        –1
                                                                                        Хорошо, что я в Intel не работаю, представляю какой там ажиотаж и паника. На их месте я бы спешно распродавал оборудование и начал процедуру банкротства.

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

                                                                                          Распродаваемый Intel?
                                                                                            0
                                                                                            Скачут в другом месте. Тут, скорее, переход с ползания на бег. Тут не столько в процессоре дело, сколько в выкармливании специалистов. Эльбрус когда-то был передовым. От него остался бренд — своё, когда-то передовое. А пока — гонка за лидером.
                                                                                            image
                                                                                            0
                                                                                            Есть-ли результаты по ускорению на многопроцессорной системе?
                                                                                              0
                                                                                              Для Эльбрус-8С нет, у нас был в распоряжении только однопроцессорный вариант, для Эльбрус-4С в этой статье можно посмотреть наши эксперименты на 4 процессорном сервере.
                                                                                              0

                                                                                              Как для своих задач, то вполне хороший вариант. Хорошо что развивают, а не стоят на месте и насильно всем впаривают. По задачам — то сейчас в офисах большинство работников выполняют те же задачи, что и 15 лет назад — обрабатывают тексты и таблицы или бухгалтерию. Так что если оптимизирует технологию производства и сделают недорого, то вполне для госорганизаций приемлемо. Спасибо, не рассказывают сказки, что сейчас вот-вот и накажем интел, а скромно молчат по этому поводу.

                                                                                                0
                                                                                                Основной фишкой нового Эльбруса, помимо увеличения числа ядер, является 1.5-кратное увеличение производительности каждого ядра на «плавучке» (благодаря добавлению 2 FPU на ядро).
                                                                                                Судя по по результатам тестов, где прирост чуть выше разницы в ТЧ, операции с плавающей запятой на ваших задачах используются не слишком интенсивно?

                                                                                                p.s.: спасибо за статью, очень интересно!

                                                                                                  0
                                                                                                  Везде где возможно и реально заметна разница мы стараемся использовать целые числа. Еще одно важное замечание — для 4С мы уже провели оптимизацию нескольких функций с помощью интринсиков уже получили 4х кратное преимущество, но это уже тема для другой статьи.
                                                                                                    0
                                                                                                    А вот это еще интересней! Ждем статью! :)
                                                                                                      0
                                                                                                      Вот пример, одного из предварительных результатов оптимизации одной из функций только с помошью интринсиков Эльбруса-4С. Для ARM и Intel велась еще более серьезная алгоритмическая оптимизация под архитектуру.
                                                                                                        0
                                                                                                        Спасибо!
                                                                                                        На Интелах, насколько понимаю, для подобных целей существует библиотека IPP
                                                                                                          0
                                                                                                          Дли интеля и арма у нас тоже свое.
                                                                                                  0
                                                                                                  Ребят, «визуальное позиционирование» впечатлило! Редко что вызывает такое уважение. Надеюсь, «Тындекс.Панорамы» тоже будут отрабатываться? Вы даже не в курсе, что выпуск этой штуки пополнит портфель заказов у картографов. Особенно на «технические» карты.
                                                                                                    0
                                                                                                    Метод универсален, можно использовать в качестве источника и Яндекс.Панорамы, и вообще любые видео- фото- ряды с привязкой к координатной сетке, в том числе и подстилающей поверхности. Гугл был использован по причине простоты получения исходных данных.
                                                                                                      0
                                                                                                      А там как? Изображения кэшируются навигационным ПО или же сравнение идёт на ходу через Интернет по ближайшим точкам?
                                                                                                        0
                                                                                                        Эталонные изображения превращаем в дескрипторы, дальше дескрипторы укладываются в специальное поисковое дерево, в котором потом уже ищем. Дерево храним на устройстве, устройство не требует подключения к сети, сетевое соединение потребляет энергию, кроме того его может и не быть. Сам по себе подход можно сделать и онлайновым была бы задача.
                                                                                                        0
                                                                                                        Кстати, таким способом можно собирать информацию о ямах на дорогах.
                                                                                                          0
                                                                                                          Применений множество и притом не всегда очевидных, вопрос настройки, доработки, развития под конкретные задачи.
                                                                                                      0
                                                                                                      Попугаи и быстродействие в пересчете на МГц — это, конечно, хорошо и интересно. Но у меня возник дилетантский вопрос. Насколько я понял, энергопотребление процессора тоже можно мерять в пересчете на МГц? Сколько примерно будет энергопотребление процессора с архитектурой «Эльбрус», но с тактовой частотой, сравнимой с наиболее мощными моделями Core i7? И какие у этого процессора будут требования по TDP?
                                                                                                        0
                                                                                                        Это вопрос к производителю в лице МЦСТ, передадим, если ответят, то разместим его тут.
                                                                                                        0

                                                                                                        Жаль, что МЦСТ не считает нужным вести блог на хабре

                                                                                                          0
                                                                                                          Очевидно, делегируют это партнерам.
                                                                                                          0
                                                                                                          У меня возник вопрос, насколько сложно оптимизировать под архитектуру для Эльбруса.
                                                                                                          Вроде с x86 более или менее понятно, они хоть и чувствительны к упаковкам команд, но не так. А для Эльбруса это самое основное (помню еще в 10 классе нам об этом рассказывали, тогда это было незабываемое впечатление).
                                                                                                          Вот насколько сложно добиться этого?
                                                                                                            0
                                                                                                            Нюансы есть во всех архитектурах и их реализациях, Эльбрус не исключение, а так это нормальная работа. Пока главная проблема в том, что мало кто этим занимается и нет публичных ресурсов где можно спросить совета или обменяться знаниями — нужно общаться напрямую с разработчиком, что радует в этом проблем у нас нет. Правда у нас есть бонус — мы расположены рядом с МЦСТ и всегда можем сходить пообщаться.

                                                                                                          Only users with full accounts can post comments. Log in, please.