MAX
Подпишись
стань автором. присоединяйся к сообществу!
01 января 36
204

Фото дня! Материнская плата с процессором Эльбрус-8С

Поздравление с Новым Годом от директора компании МЦСТ Александра Кима.

Дорогие друзья, коллеги, соратники! Уходящий 2015-й год был трудным, он прошёл под знаком новых угроз и вызовов. Подтверждается правильность курса импортозамещения, выбранного руководством страны, с опорой на отечественные технологии.

Компания АО «МЦСТ» в кооперации с ПАО «ИНЭУМ им. И.С.Брука» в течение года вела активную работу по созданию отечественной вычислительной техники различных классов.

[читать статью полностью...]

Кстати, а вы знали, что на «Сделано у нас» статьи публикуют посетители, такие же как и вы? И никакой премодерации, согласований и разрешений! Любой может добавить новость. А лучшие попадут в наш Телеграм @sdelanounas_ru. Подробнее о том как работает наш сайт здесь👈

Источник: mcst.ru

Комментарии 0

Для комментирования необходимо войти на сайт

  • 0
    Нет аватара guest02.01.16 02:25:36

    Сейчас почти никто не использует ассемблер(если вы об этом), немного в ядре ОС разве что попадается.

    В этом процессоре параллельности не больше чем при использовании AVX/SSE/MMX на x86.

    • 1
      Нет аватара Neptus02.01.16 16:07:53

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

      Пользователю это не видно и не нужно видеть. Он берёт уже готовые кирпичики и строит из них свою программу.

      И к сведению, AVX/SSE/MMX не имеют никакого отношения к параллельности. Это массированные однотипные вычисления.

      • 0
        Нет аватара guest02.01.16 23:55:51

        AVX/SSE/MMX не имеют никакого отношения к параллельности

        мде?

        Отредактировано: Антон Смоленский~01:01 03.01.16
      • 0
        Нет аватара guest03.01.16 10:03:08

        Как бе вам сказать. AVX — это SIMD.

        SIMD (англ. single instruction, multiple data — одиночный поток команд, множественный поток данных, ОКМД) — принцип компьютерных вычислений, позволяющий обеспечить параллелизм на уровне данных.

        Кому интересно, это происходит так.

        Я могу выполнить одновременно операцию над группой данных.

        Компиляторы даже весьма явно этот параллелизм используют.

        К примеру

        for(int ind=0; ind < 4; ind++)

        {

        a[ind]=b[ind]*c[ind]; //int 64 bit

        }

        В обычном случае это вычисления будут выполнены 4 раза.

        Но компилятор может этот цикл векторизовать.

        Сначала для наглядности разворачиваем цикл.

        a[0]=b[0]*c[0];

        a[1]=b[1]*c[1];

        a[2]=b[2]*c[2];

        a[3]=b[3]*c[3];

        теперь векторизуем, регистры AVX называются YMM0-YMM15, как видно их 16, каждый по 256 bit. Нам нужно 3. В каждый регистр влазит четыре числа по 64 бит.(у нас как раз такие для примера)

        В первый пихаем a[ind]

        YMM0 a[0] a[1] a[2] a[3]

        Во второй пихаем b[ind]

        YMM1 b[0] b[1] b[2] b[3]

        В третий с[ind]

        YMM2 с[0] с[1] с[2] с[3]

        Теперь компилятор выполняет что-то вроде

        vmul ymm1,ymm2,ymm0 (векторное умножение второго на третий регистр и результат кладёт в первый).

        В итоге мы параллельно выполнили 4 умножения над разными данными.

        В Эльбрус же ситуация заканчивается на первой стадии — развёртке цикла. Эльбрус может выполнять параллельно «до десяти арифметико-логических операций» если использую 64 битные данные. Если же 32 бит к примеру, происходит векторизация, как и на интел, то есть в один 64-битный регистр запихивают два 32 битных числа. Именно с помощью векторизации и получаются эти 50 Гфлопс одинарной точности, которые неправильно сравнивают интеловскими гигафлопсами двойной точности.

        Отредактировано: Tuck Trucker~11:06 03.01.16
        • 0
          RadiantConfessor RadiantConfessor04.01.16 01:50:19

          AVX в плане термина SIMD ни чем не отличается от сложения двух упакованных 32-х разрядных чисел. Т. е. то, что вы называете параллельностью применялось даже в одноядерных процессорах. Но ваш оппонент очевидно имел ввиду параллельное исполнение команд.

          Отредактировано: Zveruga~04:12 04.01.16