Лого Сделано у нас
43

СуН на «Эльбрусе» :)

читать полностью

  • 1
    Нет аватара nesk
    15.12.1513:44:54

    Всем привет.

    Есть доступ к свободной машинке на древнем itanium 2

    CPU info:

    2 Intel® Itanium 2 processors (1.6 GHz, 3 MB)

    400 MT/s bus, CPU version A1

    Vendor identification: GenuineIntel

    Processor version info: 0×000000001f020104

    Family 31, model 2, stepping 1

    Processor capabilities: 0×0000000000000001

    Implements long branch

    Bus features supported: 0xbdf0000060000000

    Bus features enabled: 0×0000000040000000

    Bus Lock Signal masked

    L1 Instruction cache: 16 KB, 4-way

    L1 Data cache: 16 KB, 4-way

    L2 Unified cache: 256 KB, 8-way

    L3 Unified cache: 3 MB, 6-way

    Хотел для сравнения на нем прогнать этот main79.f

    Думаю сравнение будет интересным, это тоже VLIW с явным параллелизмом.

    pythia-6.4.28.f скачал с www(dot)hepforge(dot)org/archive/pythia6/

    а ссылка hermes. ihep. su: 8001/pool/atlas/p6/main79.f не открывается

    пока запустил компиляцию

    f90 -O3 -c -o pythia-6.4.28 pythia-6.4.28.f

    еще работает (около получаса уже)

    • 2
      vx8400 . vx8400 .
      15.12.1513:54:59

      hermes. ihep. su: 8001/pool/atlas/p6/main79.f

      Все там открывается. Ловите код сюда:

      PROGRAM MAIN79

      C…Test program for new gcc4 compiler.

      C…Top pair events are generated at the LHC, 14 TeV.

      C…Final charged multiplicity is histogrammed.

      C…The final total cross section should be 4.9E-07 mb,

      C…the average multiplicity 243, and the rms 70.2,

      C…all within statistical fluctuations.

      C******************************************************************

      C…All real arithmetic in double precision.

      IMPLICIT DOUBLE PRECISION(A-H, O-Z)

      C…Three Pythia functions return integers, so need declaring.

      INTEGER PYK,PYCHGE,PYCOMP

      C…EXTERNAL statement links PYDATA on most machines.

      EXTERNAL PYDATA

      C…Commonblocks.

      C…The event record.

      COMMON/PYJETS/N,NPAD,K(4000,5),P(4000,5),V(4000,5)

      C…Selection of hard scattering subprocesses.

      COMMON/PYSUBS/MSEL,MSELPD,MSUB(500),KFIN(2,-40:40),CKIN(200)

      C…Number of events.

      NEV=1000

      C…Processes qqbar, gg -> ttbar.

      MSEL=6

      C…Initialize for the LHC.

      CALL PYINIT('CMS','p','p',14000D0)

      C…Histogram.

      CALL PYBOOK(1,'Final charged multiplicity',100,-1D0,599D0)

      C…Event generation loop.

      DO 200 IEV=1,NEV

      if (MOD(IEV,100) .eq. 0) write(*,*) 'evt: ',IEV

      CALL PYEVNT

      C…Remove all but charged particles and histogram multiplicity.

      CALL PYEDIT(3)

      CALL PYFILL(1,DBLE(N),1D0)

      C…End of event generation loop.

      200 CONTINUE

      C…Cross section. Histogram.

      CALL PYSTAT(1)

      CALL PYHIST

      END

      P. S. как здесь сохранить пробелы в начале строки?

      Отредактировано: vx8400 .~15:08 15.12.15
      • 1
        Нет аватара nesk
        15.12.1514:08:38

        спасибо     жду когда соберется pythia-6.4.28.f

        CPU TTY PID USERNAME PRI NI SIZE RES STATE TIME %WCPU %CPU COMMAND

        1 pts/0 18315 root 241 20 255M 184M run 67:41 100.68 100.51 f90com32

        пока еще компилируется, уже более 67 минут чистого времени на CPU

      • 1
        Нет аватара nesk
        15.12.1514:55:38

        там по семь по семь пробелов перед инструкциями и комментарии (С…) с первой позиции? Да?

        я расставлю.

        Отредактировано: nesk~15:56 15.12.15
      • 1
        Нет аватара nesk
        15.12.1514:56:59

        а можешь на почту мне кинуть?

    • 0
      shigorin shigorin
      15.12.1523:32:52

      Есть доступ к свободной машинке на древнем itanium 2

      Видел и такие (килограмм меди впечатлил), но больше десяти лет тому…

      Думаю сравнение будет интересным, это тоже VLIW с явным параллелизмом.

      Да, конечно.

      • 1
        Нет аватара nesk
        16.12.1510:33:17

        f90 -o test -O3 main79.f pythia-6.4.28.f

        после пяти с четвертью часов (real 5:14:45.35) (пяти часов!!!11) свалилась в

        Internal Compiler Error! […] f90: error 213: Errors detected, no link.

            (думаю, в уперлась в лимит data segment)

        без оптимизации (f90 -o test main79.f pythia-6.4.28.f) собралось за

        real 44.02

        и отработала за

        real 38.70

        user 36.33

        sys 1.93

        Напоминаю, это древний, десятилетней давности итаник работающий на 1.6 GHz с кэшом L1(I): 16KB, L1(D): 16KB, L2:256 KB, L3: 3MB

        У Эльбруса на вдвое меньшей частоте 0.8 GHz, но с большим кэшом L1(I): 128KB, L1(D):64KB, L2: 8MB было

        real 0m34.220s

        user 0m34.160s

        sys 0m0.000s

        Эльбрус оказался быстрее!(при вдвое меньшей частоте)

        Но! с оптимизацией -O2 (f90 -o test -O2 main79.f pythia-6.4.28.f)

        собралось за семь минут двадцать три секунды (real 7:23.73)

        отработало более чем в два раза быстрее за

        real 16.80

        user 14.14

        sys 2.55

        Итаник рулит! ( или оптимизация для итаника сделана лучше чем для эльбруса)

        Это конечно не 11 секунд как на Intel Xeon CPU L5640 @ 2.27GHz с кэшом в 12МВ, но близко.

        Жаль с -O3 не собралось

        Отредактировано: nesk~11:34 16.12.15
        • 2
          vx8400 . vx8400 .
          16.12.1512:09:19

          real 16.80

          То есть масштабируется с частотой ~ 800/1600.

          • 2
            Нет аватара nesk
            16.12.1512:31:23

            да! точно.

            Интересно посмотреть время выполнения программы для Эльбруса без оптимизации и с оптимизацией -O2

            Что бы оценить на сколько эффективно отрабатывает компилятор, какой он дает вклад (на VLIW с явным параллелизмом — это критически важно)

            PS Хотя, если мы получили корреляцию с частотой, то можно предположить, что лучше оно уже не параллелится.

            Отредактировано: nesk~13:43 16.12.15
            • 3
              vx8400 . vx8400 .
              16.12.1513:23:24

              То -O2 не это -O2, и не -O2 у gfortran.

              Смотреть надо время выполнения критических кусков кода, для ifc x86_64 это так:

              ifort -pg -O2 -o test main79.f pythia-6.4.28.f && ./test && gprof ./test gmon_out

              ^^^ в gmon_out '_' надо заменить на '.'

              P.S.

              Для Xeon L5640 gfortran-4.4 -O2 -march=core2 -mtune=core2 генерит в ~2 раза более медленный код (120 сек / 1e4 событий), чем ifort -O2 -march=core2 -mtune=core2 (70 сек / 1e4 событий). Так что Интел что-то знает за свои машины, чего не знает gcc.

              P.P.S.

              Вывод gprof после ifort более осмысленный. Ожидаемо время тратится на вычисление медленно сходящихся логарифмов.

              см. gmon* под hermes(dot)ihep(dot)su(colon)8001/pool/atlas/p6/

              Отредактировано: vx8400 .~15:21 16.12.15
        • 1
          shigorin shigorin
          16.12.1522:59:59

          Смотреть лучше не real, а user+sys -- при этом исключается по крайней мере первое приближение влияния сторонней нагрузки (без учёта переключений контекста, смыва кэша и т. п., но хоть так).

        • 0
          shigorin shigorin
          16.08.1700:09:38

          Кстати, по возможности проверьте с lcc 1.21 и -O4.

      • 1
        Александр Абрашкин Александр Абрашкин
        28.01.1609:45:29

        итаник

        Если речь зашла об Итанике, то хорошо бы прогнать на Эльбрусе SPEC CFP2000!

        Было бы очень интересно в историческим плане. Ведь сколько копий было сломано в свое время насчет E2K, сколько самых тяжких обвинений было выдвинуто против Бабаяна!)) А теперь есть возможность сравнить объективно.

        Только надо учитывать, что E2K изначально сравнивался с Merced, а Itanium2 — это уже McKinley, который быстрее равночастотного Merced раза в 1,5. Причем Итаник с 1.6ГГц, о котором идет речь — это как минимум Madison

        Отредактировано: Александр Абрашкин~10:47 28.01.16
        • 0
          shigorin shigorin
          28.01.1612:27:14

          SPEC CFP2000

          Этот? Если да -- какой именно? И где брать -- обязательно с ними и связываться? (времени мало…)

          Короче, если захотите помочь -- только за    

          • 1
            Александр Абрашкин Александр Абрашкин
            28.01.1613:56:30

            Да, похоже надо связываться.

            Я и не предполагал, что все так непросто.

            Нашел на их сайте только ссылки на последние модификации тестов, причем там есть варианты «Free — Non-commercial license"

            Ссылок на SPEC 2000 не нашел вообще, видимо он у них в глубоком архиве))

            Ладно, в таком случае, наверное, не стоит напрягаться.

            На geektime выложили ссылку на документ, в котором есть результаты популярных бенчмарков для Эльбруса (ссылки движок не пропускает, можно нагуглить по «Поддержка современных российскихмикропроцессоров в ЗОСРВ «Нейтрино»»)

            Отредактировано: Александр Абрашкин~15:02 28.01.16
              • 0
                Александр Абрашкин Александр Абрашкин
                29.01.1609:06:56

                Пришла такая мысль: а что если записать ролик, в котором будет показана работа Эльбруса-401 на типовых офисных задачах (браузер, таблицы, электронная почта, …)? В нескольких окнах одновременно, возможно на фоне проигрывания видео в одном из них.

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

                Думаю, успех такого ролика в Ютубе будет гарантирован)) Правда, коменты к нему лучше сразу отключить, ибо все неминуемо сведется к, извиняюсь, срачу

                • 1
                  shigorin shigorin
                  02.02.1611:58:36

                  Давайте попробуем набросать план и сделать. Дело тут не в «успехе ролика», а в том, что и впрямь лучше один раз увидеть, чем сто раз услышать.

                  PS: прошу прощения за задержку с ответом, как раз уезжал на образовательную конференцию.

Написать комментарий
Отмена
Для комментирования вам необходимо зарегистрироваться и войти на сайт,