Появилась возможность протестировать инженерный процессор Эльбрус-16С и сравнить его со своим предшественником Эльбрус-8СВ.
Эта статья является продолжением моих предыдущих статей по бенчмаркам Эльбрусов:
Эльбрус-16С на архитектуре e2k-v6 является развитием процессора Эльбрус-8СВ (e2k-v5), который имеет 16 ядер на частоте 2 ГГц, поддержку аппаратной виртуализации, поддерживает до 1 ТБ оперативной памяти DDR4-3200, 32 линии PCIe 3.0.
Тестируемый процессор работает на материнской плате 1Э16С-mATX c с 2мя установленными модулями памяти DDR4 на частоте 2400.
Внимание: тестируется инженерный процессор с частично отключенным кешем, у серийного образца результаты должны быть лучше.
Фото инженерной платы из интернета (на фото плата не моего экземпляра):
К результатам процессоров Эльбрус-16С и Эльбрус-8СВ добавляю процессор Intel Core i7-2600 для относительного сравнения.
Характеристики сравниваемых процессоров:
Эльбрус-16СВ |
Эльбрус-8СВ |
Core i7-2600 |
|
Семейство ISA |
VLIW |
VLIW |
CISC |
Архитектура |
e2k |
e2k |
x86-64 |
Микроархитектура |
elbrus-v6 |
elbrus-v5 |
Sandy Bridge |
Частота (МГц) |
2000 |
1500 |
3400* |
Ядра; Потоки |
16 |
8 |
4; 8 |
Техпроцесс (нм) |
16 |
28 |
32 |
TDP (Вт) |
130 |
80-90 |
95 |
Тип ОЗУ |
DDR4-3200 (2400) |
DDR4-2400 |
DDR3-1333 |
Год |
2021 |
2018 |
2011 |
* — У Intel Core i7-2600 часота бустится, ядер 4, но 8 потоков HT.
Список компилируемых тестов (на языках С и C++):
-
Dhrystone, Whetstone, Linpack 100, Scimark 2, SuperPI
-
MP MFLOPS
-
TLB test, STREAM
-
HPL (High Performance Linpack)
-
7zip встроенный бенчмарк
-
StockFish (встроенный тест шахматного движка)
-
Cpu Miner (minerd)
-
Рендеринг в Blender (Файл для теста)
-
Готовые результаты в SPEC 2006
Кроме того, я запускал тесты на языках программирования Java, C#, Python, PHP, Lua. Результаты: https://github.com/EntityFX/EntityFX-Bench/tree/master/results
Теперь сразу перейдём к сводной таблице с результатами.
Результаты
Компилируемые тесты
Тест |
Эльбрус-16C |
Эльбрус-8СВ |
Core i7-2600 |
Dhrystone [DMIPS] (1 поток) |
8652 |
9077 |
22076 |
Whetstone [MWIPS] (1 поток) |
2667 |
2269 |
5729 |
Whetstone MP [MWIPS] |
42467 |
16495 |
31319 |
Linpack 100 [MFLOPS] |
1831 |
1723 |
4302 |
Scimark 2 [Composite score] (1 поток) |
923 |
908 |
2427 |
Coremark (1T;MT) |
6162; 96873 |
5500; 43008 / 61871* (rtc x86-64) |
22692; 119670 |
MP MFLOPS |
1010040 |
381326 |
81745 |
HPL [GFLOPS] (1T;MT) |
39; 561.6 |
32.3; 232.6 |
93.9 (MT) |
7zip (Comp; Decomp; Tot) (MT) |
19070; 33490; 26280 |
8461; 13638; 11049 |
18024; 13363; 18664 |
STREAM (Copy; Scale; Add; Triad) [MB/s] |
17070; 17077;18456;18915 |
23097; 23137; 25578; 25643 (4 modules DDR4) |
20860; 21838; 18512; 20452 |
SPEC 2006 INT |
24 |
18 |
44.6 |
SPEC 2006 FP (1T) |
30 |
22.5 |
|
Blender (RyzenGraphic_27) [min:sec] |
1:08 |
2:32 |
1:18 |
StockFish [nodes/sec] |
6193924 |
3123190 |
10860720 |
SuperPI [sec] (1 поток) (меньше – лучше) |
2.77 |
3.76 |
1.81 |
Minerd [sha256d khash/s] (1T;MT) |
8820; 141104 |
6840; 54714 |
5307; 21226 (Core i5-2500K) |
Minerd [scrypt khash/s] (1T;MT) |
11.52; 183.01 |
8.50; 68.24 |
19.54; 78.26 (Core i5-6500) |
* — В нативном режиме Эльбрус-8СВ в тесте Coremark показывает в 1,5 раза хуже результаты чем в режиме бинарной трансляции x86-64 кода (этот бинарный транслятор называется RTC). На Эльбрус-16С такой проблемы больше нет.
Результаты всех тестов здесь: https://github.com/EntityFX/anybench/tree/master/results
Geekbench 5 в бинарной трансляции RTC
ID |
Name |
Platform |
Architecture |
Single-core Score |
Multi-core Score |
MCST Elbrus 4C (х86 compatibility mode) 4 CPUs Intel Pentium II/III 750 MHz (1 cores) |
Linux 64 |
x86_64 |
74 |
374 |
|
MCST Elbrus 8C (х86 compatibility mode) Intel Pentium II/III 1299 MHz (1 cores) |
Linux 64 |
x86_64 |
140 |
937 |
|
MCST Elbrus 8CB (х86 compatibility mode) Intel Pentium II/III 1549 MHz (1 cores) |
Linux 64 |
x86_64 |
159 |
1100 |
|
MCST Elbrus 16C (х86 compatibility mode) Intel Pentium II/III 2000 MHz (1 cores) |
Linux 64 |
x86_64 |
203 |
2821 |
|
Core i7-2600Intel Core i7-2600 3401 MHz (4 cores) |
Windows 64 |
x86_64 |
720 |
2845 |
Подробнее: https://browser.geekbench.com/user/131917
Разбираем результаты
Логи результатов можете смотреть здесь: https://github.com/EntityFX/anybench/tree/master/results
Dhrystone
Dhrystone достаточно древний тест 80х годов, написан на C. Тестирует целочисленную арифметику и работу со строками. Результаты измеряются в Dhrystone/s и DMIPS. (DMIPS = Dhrystone/s делить на 1757).
Эльбрус-16С немного показал хуже результаты чем Эльбрус-8СВ. Скорее всего, проблема с оптимизациями компилятором LCC, с новой версией будет перепроверяться.
Whetstone
Тестирует арифметику с плавающей/фиксированной запятой, математические функции, ветвления, вызовов функций, присваиваний, работы с числами с фиксированной запятой, ветвлений. Результаты измеряются в MMIPS.
Эльбрус-16С показывает результаты кратные частоте (2000 / 1500).
Coremark
Современный тест, который должен заменить Dhrystone и Whetstone. Написан на C. Считает различные массивы, матрицы, сортировка и т. д. Предназначался для запуска на всём: от микроконтроллеров до мощных процессоров.
Эльбрус-16С показывает гораздо лучшие результаты чем Эльбрус-8СВ. На 8СВ результаты в бинарной трансляции выходили лучше, чем нативные.
MP MFLOPS
Эльбрус-16С значительно обгоняет 8СВ, набирая более 1 ТFlops в числах с плавующей запятой одинарной точности.
HPL
HPL – переносимый высокопроизводительный тест, который используется для суперкомпьютеров. Решает системы линейных уравнений, использует библиотеки BLAS и MPI . Результаты выдаёт в GFLOPS.
Cpu |
Year |
Freq |
Cores |
1 thread (GFLOPS) |
Multithread (GFLOPS) |
Elbrus 2C+ |
2011 |
500 |
2 |
3.8 |
6.8 |
Elbrus 4C |
2014 |
800 |
4 |
6 |
21.6 |
Elbrus 1C+ |
2015 |
1000 |
1 |
10 |
10.0 |
Elbrus 8C |
2016 |
1300 |
8 |
13 |
96.00 |
Elbrus 8C |
2016 |
1200 |
8 |
12 |
82.5 |
Elbrus 8CB |
2018 |
1550 |
8 |
32.3 |
232.6 |
Elbrus 16C |
2021 |
2000 |
16 |
39 |
561.6 |
Elbrus 2C3 |
2021 |
2000 |
2 |
39 |
70.2 |
Результаты HPL: https://gist.github.com/EntityFX/1c61365c426f15baa9fd9f727a0ac484
7zip
Встроенный тест архиватора. Тест особо не параллелится, результаты примерно равные на этих процессорах (частота одинаковая).
Cpu |
Year |
Freq |
Cores |
Total MT |
Comp Avr MT |
Dec Avr MT |
Total ST |
Elbrus 8CB |
2018 |
1500 |
8 |
12164 |
9975 |
14353 |
1894 |
Elbrus 8CB |
2018 |
1550 |
8 |
11049 |
8461 |
13638 |
1651 |
Elbrus 8C |
2016 |
1300 |
8 |
10865 |
8736 |
12994 |
1697 |
Elbrus 8C |
2016 |
1200 |
8 |
9031 |
6619 |
11442 |
1391 |
Elbrus 16C |
2021 |
2000 |
16 |
26280 |
19070 |
33490 |
1813 |
Elbrus 2C3 |
2021 |
2000 |
2 |
3448 |
2499 |
4396 |
1894 |
Elbrus 1C+ |
2015 |
1000 |
1 |
1277.5 |
1301 |
1254 |
1277.5 |
Elbrus 4C |
2014 |
800 |
4 |
2793 |
2065 |
3520 |
849 |
Elbrus 2C+ |
2011 |
500 |
2 |
1077 |
878 |
1276 |
645 |
Elbrus R2000 |
2018 |
2000 |
8 |
8728 |
5896 |
11560 |
1246 |
Elbrus R1000 |
2011 |
1000 |
4 |
2514 |
1959 |
3069 |
692 |
Baikal M1000 |
2019 |
1500 |
8 |
9868 |
8483 |
11252 |
1513 |
Baikal S |
2022 |
2000 |
48 |
90039 |
75097 |
1295732 |
2378 |
Huawei Kunpeng 920 |
2019 |
2600 |
48 |
126143 |
112386 |
139899 |
3177 |
Huawei Kunpeng 920 |
2019 |
2600 |
96 |
204155 |
153863 |
254447 |
3177 |
Apple M1 |
2020 |
3100 |
8 |
33034 |
38166 |
27903 |
4458 |
|
|
|
|
|
|
||
Celeron N3350 * |
2016 |
1100 |
2 |
3966 |
3568 |
4364 |
1961 |
Core i7 2600 |
2011 |
3400 |
8 |
16601 |
16179 |
17024 |
3773 |
Core(TM) i7-7820X ** |
2017 |
3600 |
16 |
47733 |
48501 |
46965 |
4982 |
Результаты 7zip: https://gist.github.com/EntityFX/add6791449796f384a9c63c82a068b39
Больше результатов: https://docs.google.com/spreadsheets/d/1fBPxWAP13WwT-r0oqfseFl3vXRaSUSc4LU3ERzyegwg/edit#gid=1443406194
Blender
Рендеринг сцены http://download.amd.com/demo/RyzenGraphic_27.blend
Cpu |
Freq |
Cores |
Year |
Time (seconds) |
Time |
Core i7 2600 |
3400 |
8 |
2011 |
80 |
0:01:20 |
Elbrus 4C |
750 |
4 |
2014 |
811 |
0:13:31 |
Elbrus 4C x4 |
750 |
4 |
2014 |
223 |
0:03:43 |
Elbrus 4C |
800 |
4 |
2014 |
600 |
0:10:00 |
Elbrus 1C+ |
1000 |
1 |
2015 |
1916 |
0:31:56 |
Elbrus 8C |
1300 |
8 |
2016 |
172 |
0:02:52 |
Elbrus 8C |
1200 |
8 |
2016 |
216 |
0:03:36 |
Elbrus 8C x4 |
1200 |
32 |
2016 |
57 |
0:00:57 |
Baikal M1000 |
1500 |
8 |
2016 |
161 |
0:02:41 |
Elbrus 8CB |
1550 |
8 |
2018 |
152 |
0:02:32 |
Kunpeng 920 x2 |
2600 |
96 |
2019 |
8 |
0:00:08 |
Elbrus 16C |
2000 |
16 |
2021 |
68 |
0:01:08 |
Elbrus 2C3 |
2000 |
2 |
2021 |
544 |
0:09:04 |
Результаты Blender: https://gist.github.com/EntityFX/0715476aa562f4389b98b6dea4290868
SuperPI (1 млн)
1 поток:
Core(TM)2 Duo CPU T9400 @ 2.53GHz: 2.58 sec
Core i7 2600 3.4 GHz: 1.81 sec
Elbrus 2C+ 0.47 GHz: 18.05 sec
Elbrus 4C 0.75 GHz: 10.18 sec
Elbrus 8C 1.2 GHz: 5.20 sec
Elbrus 8CB 1.55 GHz: 3.76 sec
Elbrus 16C 2.0 GHz: 2.77 sec
Stockfish
Cpu |
Freq |
Cores |
Year |
Time (seconds) |
Core i7 2600 |
3400 |
4 (8) |
2011 |
10860720 |
Core(TM)2 Duo CPU T9400 |
2530 |
2 |
2007 |
1254341 |
Elbrus 4C |
750 |
4 |
2014 |
541039 |
Elbrus 8C |
1200 |
8 |
2016 |
1753143 |
Elbrus 8CB |
1550 |
8 |
2018 |
3123190 |
Elbrus 16C |
2000 |
16 |
2021 |
6193924 |
Baikal M1000 |
1500 |
8 |
2016 |
2750526 |
Результаты Stockfish: https://gist.github.com/EntityFX/ea88b00aca1762c8d2d9841c914d7ef6
Minerd (Cpu miner)
./minerd --benchmark -a sha256d
Core i5-2500K:
thread 0: 26798032 hashes, 5307 khash/s
Total: 21226 khash/s
Эльбрус 8С (не оптимизирован):
thread 7: 2900420 hashes, 966.98 khash/s
Total: 7736 khash/s
Эльбрус 8СВ (оптимизирован):
thread 7: 34198012 hashes, 6840 khash/s
Total: 54714 khash/s
Эльбрус 16C (оптимизирован):
thread 7: 44098544 hashes, 8820 khash/s
Total: 141104 khash/s
Байкал-М 8 core 1.5 GHz, Cortex-A57:
thread 7: 4443436 hashes, 888.20 khash/s
Total: 7023 khash/s
Intel(R) Celeron(R) CPU N3350 @ 1.10GHz
thread 0: 2097152 hashes, 2403 khash/s
Total: 4808 khash/s
./minerd --benchmark -a scrypt
Core i5-6500 3.20GHz:
thread: 19.54 khash/s
total 78.26 khash/s
Core i7-9700K:
thread 7: 131280 hashes, 26.26 khash/s
Total: 211.68 khash/s
Эльбрус 8С (не оптимизирован +профиль):
thread 7: 6777 hashes, 2.26 khash/s
Total: 18.08 khash/s
Эльбрус 8СВ (оптимизирован):
thread 0: 4096 hashes, 8.50 khash/s
Total: 68.24 khash/s
Эльбрус 16C (оптимизирован под e2k-v5):
thread 0: 4096 hashes, 11.52 khash/s
Total: 183.01 khash/s
Байкал-М 8 core 1.5 GHz, Cortex-A57:
thread 7: 8875 hashes, 1.77 khash/s
Total: 14.03 khash/s
Intel(R) Celeron(R) CPU N3350 @ 1.10GHz
thread 0: 4104 hashes, 4.63 khash/s
Total: 9.25 khash/s
· Порт с оптимизациями https://github.com/crypto-das/cpuminer-e2kv5-template
· https://github.com/EntityFX/cpuminer-multi
· https://github.com/pooler/cpuminer.git
SPEC 2006 INT/FP
SPEC CPU2006 инструмент исследования производительности систем, который основан на коде реальных приложений, поставляются в виде исходного кода. Тест оценивает не только производительность процессора и памяти, но и показывает то, насколько компиляторы могут оптимизировать код.
Имеется 2 группы тестов:
· SPEC INT 2006, измеряющий производительность целочисленных вычислительных задач (integer);
· SPEC FP 2006, измеряющий производительность вычислительных задач с вещественными числами (числами с плавающей точкой, floating point).
Результаты производительности языков программирования
Логи результатов смотрите тут: https://github.com/EntityFX/EntityFX-Bench/tree/master/results
Java
1 поток:
· Эльбрус 1С+ в 11 раз медленнее на 1 поток чем Core i7 2600
· Эльбрус 4С в 10 раз медленнее на 1 поток чем Core i7 2600
· Эльбрус 8С в 5,5 раз медленнее на 1 поток чем Core i7 2600
· Эльбрус 8СВ в 4,5 раз медленнее на 1 поток чем Core i7 2600
· Эльбрус 16С в 1,7 раз медленнее на 1 поток чем Core i7 2600
На всех потоках:
· Эльбрус 1С+ в 18 раз медленнее чем Core i7 2600 на всех потоках
· Эльбрус 4С в 12,5 раз медленнее чем Core i7 2600 на всех потоках
· Эльбрус 8С в 3 раз медленнее чем Core i7 2600 на всех потоках
· Эльбрус 8СВ в 2,5 раз медленнее чем Core i7 2600 на всех потоках
· Эльбрус 16С равен Core i7 2600 на всех потоках
PHP
1 поток:
· Эльбрус 2С+ в 15,5 раз медленнее чем Core i7 2600
· Эльбрус 1С+ в 8 раз медленнее чем Core i7 2600
· Эльбрус 4С в 4,5 раза медленнее чем Core i7 2600
· Эльбрус 8С в 3 раза медленнее чем Core i7 2600
· Эльбрус 8СВ в 2,5 раза медленнее чем Core i7 2600
· Эльбрус 16С в 2 раза медленнее чем Core i7 2600
Python
1 поток:
· Эльбрус R1000 в 12,5 раз медленнее чем Core i7 2600
· Эльбрус 2С+ в 30 раз медленнее поток чем Core i7 2600 на 1 поток
· Эльбрус 1С+ в 12,5 раз медленнее поток чем Core i7 2600 на 1 поток
· Эльбрус 4С в 15,5 раз медленнее поток чем Core i7 2600 на 1 поток
· Эльбрус 8С в 9 раз медленнее поток чем Core i7 2600 на 1 поток
· Эльбрус 8СВ в 7,8 раз медленнее поток чем Core i7 2600 на 1 поток
· Эльбрус 16С в 7 раз медленнее поток чем Core i7 2600 на 1 поток
На всех потоках:
· Эльбрус 2С+ в 58 раз медленнее поток чем Core i7 2600 на всех потоках
· Эльбрус 1С+ в 25 раз медленнее поток чем Core i7 2600 на всех потоках
· Эльбрус 4С в 13,5 раз медленнее поток чем Core i7 2600 на всех потоках
· Эльбрус 8С в 4,2 раза медленнее поток чем Core i7 2600 на всех потоках
· Эльбрус 8СВ в 3,8 раза медленнее поток чем Core i7 2600 на всех потоках
· Эльбрус 16С в 1,7 раза медленнее поток чем Core i7 2600 на всех потоках
Lua
1 поток:
· Эльбрус 2С+ в 16 раз медленнее чем Core i7 2600
· Эльбрус 1С+ в 6 раз медленнее чем Core i7 2600
· Эльбрус 4С в 10 раз медленнее чем Core i7 2600
· Эльбрус 8С в 6 раз медленнее чем Core i7 2600
· Эльбрус 8СВ в 5 раз медленнее чем Core i7 2600
· Эльбрус 16С в 4 раз медленнее чем Core i7 2600
· Эльбрус R1000 в 9 раз медленнее чем Core i7 2600
C# NetCore (В режиме трансляции RTC)
1 поток:
· Эльбрус 8С в 3,5 раз медленнее на 1 поток чем Core i7 2600
· Эльбрус 8СВ в 3 раз медленнее на 1 поток чем Core i7 2600
· Эльбрус 16С в 2 раз медленнее на 1 поток чем Core i7 2600
На всех потоках:
· Эльбрус 8С в 2 раз медленнее на 1 поток чем Core i7 2600
· Эльбрус 8СВ в 1,5 раз медленнее на 1 поток чем Core i7 2600
· Эльбрус 16С в 1,25 раза быстрее на всех потоках чем Core i7 2600
Выводы
Эльбрус-16С на 33% быстрее Эльбрус-8СВ на 1 поток и имеет в 2 раза больше ядер. Есть задачи, где он очень эффективен, где-то не очень, думаю найдёт свою нишe.
Жду ваши предложения, какие ещё бенчмарки можно прогнать на этих компьютерах (желательно с простой сборкой).
P. S. Принимаю ваши предложения и правки, статья пополняется.