Энтузиаст протестировал новые китайские процессоры Loongson 3A5000

от автора

Loongson 3A5000

Энтузиаст состоит в различных чатах в Telegram и как-то недавно наткнулся на канал по процессорам Loongson и ему удалось провести различные тесты данного процессора.

Сперва рассмотрим характеристики процессора Loongson 3A5000 и его предыдущую модель Loongson 3A4000.

Характеристики процессоров Loongson 3A5000 и Loongson 3A4000:

Loongson 3A4000 Loongson 3A5000
Семейство ISA RISC RISC
Архитектура mips64r2 + extensions loongarch64
Микроархитектура GS464v GS464V
Частота (МГц) 2000 2500
Ядра; Потоки 4 4
Тех процесс (нм) 28 12
TDP (Вт) 30-50 ?
Тип ОЗУ DDR4-2133 DDR4-3200
Год 2019 2021

Были проведены следующие тесты:

  • 7zip встроенный бенчмарк
  • Dhrystone, Whetsone
  • Coremark
  • Scimark 2
  • Mp MFLOPS
  • Stream
  • Готовые результаты в SPEC 2006 (1 поток)

Сразу переходим к результатам, но детали тестов смотрите далее.

Результаты

Тест Loongson 3A5000 Core i7-2600
Dhrystone [DMIPS] 17962 22076
Whetstone [MWIPS] 3990 5729
Whetstone MP [MWIPS] 15939 31319
Linpack 100 [MFLOPS] 2915 4302
Scimark 2 [Composite score] 1554 2427
Coremark (1T; MT) 13790; 54826 22692; 119670
MP MFLOPS 106946 81745
7zip (Comp; Decomp; Tot) (MT) 11360; 11638; 11081 18024; 13363; 18664
STREAM (Copy; Scale; Add; Triad) [MB/s] 12315; 12061; 11064; 11529 20860; 21838; 18512; 20452
SPEC 2006 INT 25 44.6

По результатам можно сделать вывод, что процессор примерно сравним с процессором Core i7 4700 HQ и немного не дотягивает (~30%, но 4 потока против 8 HT потоков и частота 2.5 ГГц против 3.4 ГГц) до Core i7-2600, хотя обгоняет его по GFLops’ам.

Немного об архитектуре LoongArch

Loongson 3A5000 — процессор на основе сильно переработанной RISC архитектуре MIPS64, часть ненужных команд MIPS64 была удалена и добавлено большое число расширений (SIMD, шифрование, бинарная трансляция, виртуализация), всего порядка 2000+ инструкций.

Loongson 3A5000 (LS3A5000)

Loongson 3A5000 — процессор на основе 64 разрядной RISC сильно переработанной архитектуре MIPS64 (loongarch64), имеет 4 ядра, которые работают на частоте 2.5 ГГц.

Architecture:        loongarch64 Byte Order:          Little Endian CPU(s):              4 On-line CPU(s) list: 0-3 Thread(s) per core:  1 Core(s) per socket:  4 Socket(s):           1 NUMA node(s):        1 Model name:          Loongson-3A5000 CPU max MHz:         2500.0000 CPU min MHz:         225.0000 BogoMIPS:            4992.00 L1d cache:           64K L1i cache:           64K L2 cache:            256K L3 cache:            16384K NUMA node0 CPU(s):   0-3

Особенности процессора Loongson 3A5000:

  • 64 битная архитектура loongarch64
  • 128 битные SIMD расширения Loongson SIMD EXtension (LSX)
  • 256 битные SIMD расширения Loongson Advanced SIMD EXtension (LASX)
  • Внеочередное исполнение
  • Предсказание ветвлений
  • Поддержка виртуализации (LVZ)
  • Поддержка бинарной трансляции (LBT) архитектур MIPS, ARM, x86
  • 4 АЛУ
  • 2 SIMD блока
  • Кеши
    • 64 КБ L1 кэш команд на ядро
    • 64 КБ L1 кэш данных на ядро
    • 256 КБ L2 кэш на ядро
    • 16 МБ L3 кэш

Разбираем результаты

Dhrystone

Dhrystone достаточно древний тест 80х годов, написан на C. Тестирует целочисленную арифметику и работу со строками. Результаты измеряются в Dhrystone/s и DMIPS. (DMIPS = Dhrystone/s делить на 1757).

Вывод теста Dhrystone

##########################################  Dhrystone Benchmark, Version 2.1 (Language: C or C++)  Optimisation    loongarch64 loongarch64 optimized Register option not selected         10000 runs   0.00 seconds        100000 runs   0.00 seconds       1000000 runs   0.03 seconds      10000000 runs   0.32 seconds      20000000 runs   0.63 seconds      40000000 runs   1.27 seconds      80000000 runs   2.53 seconds   Final values (* implementation-dependent):  Int_Glob:      O.K.  5  Bool_Glob:     O.K.  1 Ch_1_Glob:     O.K.  A  Ch_2_Glob:     O.K.  B Arr_1_Glob[8]: O.K.  7  Arr_2_Glob8/7: O.K.    80000010 Ptr_Glob->              Ptr_Comp:       *    753386704   Discr:       O.K.  0  Enum_Comp:     O.K.  2   Int_Comp:    O.K.  17 Str_Comp:      O.K.  DHRYSTONE PROGRAM, SOME STRING Next_Ptr_Glob->         Ptr_Comp:       *    753386704 same as above   Discr:       O.K.  0  Enum_Comp:     O.K.  1   Int_Comp:    O.K.  18 Str_Comp:      O.K.  DHRYSTONE PROGRAM, SOME STRING Int_1_Loc:     O.K.  5  Int_2_Loc:     O.K.  13 Int_3_Loc:     O.K.  7  Enum_Loc:      O.K.  1   Str_1_Loc:                             O.K.  DHRYSTONE PROGRAM, 1'ST STRING Str_2_Loc:                             O.K.  DHRYSTONE PROGRAM, 2'ND STRING  Nanoseconds one Dhrystone run:        31.68 Dhrystones per Second:             31560942 VAX  MIPS rating =                 17962.97

Whetstone

Тестирует арифметику с плавающей/фиксированной запятой, математические функции, ветвления, вызовов функций, присваиваний, работы с числами с фиксированной запятой, ветвлений. Результаты измеряются в MMIPS.

Вывод теста Whetstone

########################################## Single Precision C Whetstone Benchmark loongarch64 loongarch64 optimized, Sat Jul 24 21:37:34 2021  Calibrate        0.00 Seconds          1   Passes (x 100)        0.01 Seconds          5   Passes (x 100)        0.06 Seconds         25   Passes (x 100)        0.31 Seconds        125   Passes (x 100)        1.57 Seconds        625   Passes (x 100)        7.83 Seconds       3125   Passes (x 100)  Use 3989  passes (x 100)            Single Precision C/C++ Whetstone Benchmark  Loop content                  Result              MFLOPS      MOPS   Seconds  N1 floating point     -1.12367534637451172       929.727              0.082 N2 floating point     -1.12167274951934814      1370.698              0.391 N3 if then else        1.00000000000000000                   0.000    0.000 N4 fixed point        12.00000000000000000               32371.396    0.039 N5 sin,cos etc.        0.49911010265350342                  99.825    3.325 N6 floating point      0.99999982118606567       599.758              3.588 N7 assignments         3.00000000000000000                3747.925    0.197 N8 exp,sqrt etc.       0.75110864639282227                  62.452    2.376  MWIPS                                           3990.075              9.997

Coremark

Современный тест, который должен заменить Dhrystone и Whetstone. Написан на C. Считает различные массивы, матрицы, сортировка массивов и т. д. Предназначался для запуска на всём: от микроконтроллеров до мощных процессоров.

Вывод однопоточного теста Coremark

2K performance run parameters for coremark. CoreMark Size    : 666 Total ticks      : 14503 Total time (secs): 14.503000 Iterations/Sec   : 13790.250293 Iterations       : 200000 Compiler version : GCC8.3.0 Compiler flags   : -Ofast   -DPERFORMANCE_RUN=1 -DUSE_FORK=1 -lrt Memory location  : Please put data memory location here             (e.g. code in flash, data on heap etc) seedcrc          : 0xe9f5 [0]crclist       : 0xe714 [0]crcmatrix     : 0x1fd7 [0]crcstate      : 0x8e3a [0]crcfinal      : 0x4983 Correct operation validated. See README.md for run and reporting rules. CoreMark 1.0 : 13790.250293 / GCC8.3.0 -Ofast   -DPERFORMANCE_RUN=1 -DUSE_FORK=1 -lrt / Heap

Вывод многопоточного теста Coremark

2K performance run parameters for coremark. CoreMark Size    : 666 Total ticks      : 14623 Total time (secs): 14.623000 Iterations/Sec   : 54708.336183 Iterations       : 800000 Compiler version : GCC8.3.0 Compiler flags   : -Ofast -march=native  -DPERFORMANCE_RUN=1 -DUSE_FORK=1 -lrt Parallel Fork : 4 Memory location  : Please put data memory location here             (e.g. code in flash, data on heap etc) seedcrc          : 0xe9f5 [0]crclist       : 0xe714 [1]crclist       : 0xe714 [2]crclist       : 0xe714 [3]crclist       : 0xe714 [0]crcmatrix     : 0x1fd7 [1]crcmatrix     : 0x1fd7 [2]crcmatrix     : 0x1fd7 [3]crcmatrix     : 0x1fd7 [0]crcstate      : 0x8e3a [1]crcstate      : 0x8e3a [2]crcstate      : 0x8e3a [3]crcstate      : 0x8e3a [0]crcfinal      : 0x4983 [1]crcfinal      : 0x4983 [2]crcfinal      : 0x4983 [3]crcfinal      : 0x4983 Correct operation validated. See README.md for run and reporting rules. CoreMark 1.0 : 54708.336183 / GCC8.3.0 -Ofast -march=native  -DPERFORMANCE_RUN=1 -DUSE_FORK=1 -lrt / Heap / 4:Fork 

MP MFLOPS

Выполняет операции с плавающей запятой на векторах.

Вывод теста MP-MFLOPS

 MP-MFLOPS Compiled for loongarch64 Sat Jul 24 20:52:23 2021      FPU Add & Multiply using 1, 2, 4 and 8 Threads          2 Ops/Word              32 Ops/Word  KB     12.8     128   12800    12.8     128   12800  MFLOPS  1T    18882   12721   10789   26652   26031   25988  2T    32784   37675   21228   51444   54126   51909  4T    51385   70939   40023   94571  107173  102566  8T    41463   66280   42473   84137  105576  103068  Results x 100000, 0 indicates ERRORS  1T    76406   97075   99969       0       0   99951  2T    76406   97075   99969       0       0   99951  4T    76406   97075   99969       0       0   99951  8T    76406   97075   99969       0       0   99951           End of test Sat Jul 24 20:52:23 2021

7zip

Встроенный тест архиватора 7z.

Запускается так:

7z b

Вывод теста 7z

7-Zip (a) 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 p7zip Version 16.02 (locale=zh_CN.UTF-8,Utf16=on,HugeFiles=on,64 bits,4 CPUs LE)  LE CPU Freq: 64000000 - - - - - - - -  RAM size:   16165 MB,  # CPU hardware threads:   4 RAM usage:    882 MB,  # Benchmark threads:      4                         Compressing  |                  Decompressing Dict     Speed Usage    R/U Rating  |      Speed Usage    R/U Rating          KiB/s     %   MIPS   MIPS  |      KiB/s     %   MIPS   MIPS  22:      11279   327   3352  10973  |     130124   396   2803  11102 23:      10681   325   3346  10883  |     127682   393   2810  11048 24:      11183   353   3406  12025  |     126626   395   2815  11116 25:      11099   360   3525  12673  |     124248   394   2805  11058 ----------------------------------  | ------------------------------ Avr:             341   3407  11638  |              395   2808  11081 Tot:             368   3108  11360

STREAM

Тест производительности ОЗУ.

Вывод теста STREAM

Function    Best Rate MB/s  Avg time     Min time     Max time Copy:           16748.3     0.009969     0.009553     0.010576 Scale:          18735.0     0.009437     0.008540     0.010660 Add:            16333.2     0.015492     0.014694     0.016449 Triad:          17796.0     0.014789     0.013486     0.015294

Версия компилятора, ядра Linux

Ядро Linux:

Linux 4.19.167-rc5.lnd.1-loongson-3 #1 SMP Sat Apr 17 07:32:32 UTC 2021 loongarch64 loongarch64 loongarch64 GNU/Linux

Версия компилятора: gcc version 8.3.0 (Debian 8.3.0-6.lnd.vec.20).

Выводы

Loongson 3A5000 вышел достаточно неплохим процессором, который уже сейчас может применяться в различных десктопных решениях, а процессоры с низкими частотами могут применяться в ноутбуках (с TDP порядка 30 Вт.)
Очень хотелось бы попробовать в работе такие компьютеры, а учитывая то, что они поддерживают видеокарты от AMD, то можно запускать и игры с открытым исходным кодом. Будем надеяться, что такие процессоры получат широкое применение.

Другие результаты для сравнения:

Картинка

Ссылки


ссылка на оригинал статьи https://habr.com/ru/articles/569976/