Pull to refresh
73
Artem (tёmix) Solopiy@EntityFX

Iot Solutions Developer

58
Subscribers
Send message
На Байкал-М:

gcc -g -Wall -O3 test-tlb.c -o test-tlb -lm -D FREQ="1.5"
for i in 4k 8k 16k 32k 64k 128k 256k 512k 1M 2M 4M 6M 8M 16M 32M 64M 128M 256M ; do echo "$i:"; ./test-tlb -H $i 64; ./test-tlb $i 64 ; ./test-tlb -Hr $i 64; ./test-tlb -r $i 64; done
4k:
  3.38ns (~5.1 cycles)
  3.38ns (~5.1 cycles)
  3.38ns (~5.1 cycles)
  3.38ns (~5.1 cycles)
8k:
  3.37ns (~5.1 cycles)
  3.37ns (~5.1 cycles)
  3.37ns (~5.1 cycles)
  3.38ns (~5.1 cycles)
16k:
  3.37ns (~5.1 cycles)
  5.65ns (~8.5 cycles)
  3.37ns (~5.1 cycles)
 12.84ns (~19.3 cycles)
32k:
  3.43ns (~5.1 cycles)
  4.60ns (~6.9 cycles)
  3.45ns (~5.2 cycles)
 11.42ns (~17.1 cycles)
64k:
  5.94ns (~8.9 cycles)
  6.02ns (~9.0 cycles)
 16.24ns (~24.4 cycles)
 16.22ns (~24.3 cycles)
128k:
  5.96ns (~8.9 cycles)
  6.59ns (~9.9 cycles)
 16.24ns (~24.4 cycles)
 16.38ns (~24.6 cycles)
256k:
  5.95ns (~8.9 cycles)
  6.66ns (~10.0 cycles)
 16.24ns (~24.4 cycles)
 18.65ns (~28.0 cycles)
512k:
  5.96ns (~8.9 cycles)
  6.65ns (~10.0 cycles)
 16.48ns (~24.7 cycles)
 19.81ns (~29.7 cycles)
1M:
  9.91ns (~14.9 cycles)
 11.20ns (~16.8 cycles)
 22.74ns (~34.1 cycles)
 33.13ns (~49.7 cycles)
2M:
 10.14ns (~15.2 cycles)
 11.88ns (~17.8 cycles)
 60.86ns (~91.3 cycles)
 64.48ns (~96.7 cycles)
4M:
 10.84ns (~16.3 cycles)
 12.67ns (~19.0 cycles)
 71.07ns (~106.6 cycles)
 78.54ns (~117.8 cycles)
6M:
 13.06ns (~19.6 cycles)
 16.53ns (~24.8 cycles)
 99.53ns (~149.3 cycles)
112.87ns (~169.3 cycles)
8M:
 17.26ns (~25.9 cycles)
 19.99ns (~30.0 cycles)
144.49ns (~216.7 cycles)
182.61ns (~273.9 cycles)
16M:
 21.79ns (~32.7 cycles)
 25.37ns (~38.1 cycles)
212.50ns (~318.7 cycles)
228.44ns (~342.7 cycles)
32M:
 22.04ns (~33.1 cycles)
 26.04ns (~39.1 cycles)
216.38ns (~324.6 cycles)
244.64ns (~367.0 cycles)
64M:
 22.06ns (~33.1 cycles)
 25.75ns (~38.6 cycles)
219.83ns (~329.7 cycles)
255.81ns (~383.7 cycles)
128M:
 21.97ns (~33.0 cycles)
 25.89ns (~38.8 cycles)
218.52ns (~327.8 cycles)
265.81ns (~398.7 cycles)
265.81ns (~398.7 cycles)
256M:
 21.95ns (~32.9 cycles)
 25.88ns (~38.8 cycles)
218.85ns (~328.3 cycles)
218.85ns (~328.3 cycles)
Попросили замерить задержки ОЗУ на Эльбрусе-8СВ:
Test-Tlb

 $ make run freq=1.5
gcc -g -Wall -O3 test-tlb.c -o test-tlb -lm -D FREQ="1.5"
for i in 4k 8k 16k 32k 64k 128k 256k 512k 1M 2M 4M 6M 8M 16M 32M 64M 128M 256M ; do echo "$i:"; ./test-tlb -H $i 64; ./test-tlb $i 64 ; ./test-tlb -Hr $i 64; ./test-tlb -r $i 64; done
4k:
  2.01ns (~3.0 cycles)
  2.01ns (~3.0 cycles)
  2.01ns (~3.0 cycles)
  2.01ns (~3.0 cycles)
8k:
  2.01ns (~3.0 cycles)
  2.01ns (~3.0 cycles)
  2.01ns (~3.0 cycles)
  2.01ns (~3.0 cycles)
16k:
  2.01ns (~3.0 cycles)
  2.01ns (~3.0 cycles)
  2.01ns (~3.0 cycles)
  2.01ns (~3.0 cycles)
32k:
  2.01ns (~3.0 cycles)
  2.01ns (~3.0 cycles)
  2.01ns (~3.0 cycles)
  2.01ns (~3.0 cycles)
64k:
  2.02ns (~3.0 cycles)
  2.02ns (~3.0 cycles)
  2.02ns (~3.0 cycles)
  2.02ns (~3.0 cycles)
128k:
  7.40ns (~11.1 cycles)
  7.43ns (~11.1 cycles)
  7.39ns (~11.1 cycles)
  7.45ns (~11.2 cycles)
256k:
  7.41ns (~11.1 cycles)
 10.98ns (~16.5 cycles)
  7.41ns (~11.1 cycles)
 10.00ns (~15.0 cycles)
512k:
  7.89ns (~11.8 cycles)
 16.36ns (~24.5 cycles)
  7.78ns (~11.7 cycles)
 16.29ns (~24.4 cycles)
1M:
 22.19ns (~33.3 cycles)
 21.36ns (~32.0 cycles)
 22.18ns (~33.3 cycles)
 21.46ns (~32.2 cycles)
2M:
 22.18ns (~33.3 cycles)
 22.19ns (~33.3 cycles)
 22.18ns (~33.3 cycles)
 22.20ns (~33.3 cycles)
4M:
 22.19ns (~33.3 cycles)
 24.19ns (~36.3 cycles)
 22.18ns (~33.3 cycles)
 27.09ns (~40.6 cycles)
6M:
 22.21ns (~33.3 cycles)
 28.77ns (~43.2 cycles)
 22.18ns (~33.3 cycles)
 35.63ns (~53.4 cycles)
8M:
 22.18ns (~33.3 cycles)
 31.61ns (~47.4 cycles)
 22.19ns (~33.3 cycles)
 39.64ns (~59.5 cycles)
16M:
 29.33ns (~44.0 cycles)
 69.35ns (~104.0 cycles)
 28.78ns (~43.2 cycles)
 86.74ns (~130.1 cycles)
32M:
108.36ns (~162.5 cycles)
 97.97ns (~147.0 cycles)
124.15ns (~186.2 cycles)
122.47ns (~183.7 cycles)
64M:
108.33ns (~162.5 cycles)
106.03ns (~159.0 cycles)
124.32ns (~186.5 cycles)
136.67ns (~205.0 cycles)
128M:
108.45ns (~162.7 cycles)
108.53ns (~162.8 cycles)
124.69ns (~187.0 cycles)
141.88ns (~212.8 cycles)
256M:
108.42ns (~162.6 cycles)
108.57ns (~162.9 cycles)
125.08ns (~187.6 cycles)
146.06ns (~219.1 cycles)

Да, спасибо. Скорее всего доп. флаги помогли. Да, у меня YouTube 1920p @30 тянул спокойно. Ускорение 3D с Panfrost появилось недавно.
image

Более подробные детали ядра Эльбруса.

Это не HPL, а древний Linpack, но раз он есть, то почему бы не побенчить с ним.

Да, вы правы. На самом деле я советовался с людьми из МЦСТ чтобы правильно собрать бенчи. Эльбрусы любит параллельные программы, но он всё-равно процессор общего назначения.

Тесты собирались под Эльбрусы с разными флагами и запускались с профилем, выбирались лучшие результаты.

  1. Это как раз числодробильный бенчмарк. Там умножения, сложения, работа с массивами. С Этим Эльбрус очень быстро справляется.

  2. В других случаях он на уровне с Байкалом (не числодробильные задачи). Где много переходов, ветвлений и т. д.

Php, Python я бенчил в прошлой статье.

Про цены сложно, серии малые, значит пока дорого.

Делал с Atom Z8350 1.44 GHz 4 core. Есть в большой картинке в конце статьи.

На сколько мне известно, ее довольно глубоко меняли и она лучше других языков/сред показывает себя (С конечно же лучше).

Сделаю как-нибудь. Apple M1? А так Байкал М как две малины 4.

Да, на Хромиуме куча всего, ждем... Говорят, там немного сложно из-за зависимостей и JS движка. Вот для Firefox пришлось Rust запиливать.

Почини! Давай помогу!
Так, интересно. С чем это связано? У Net CF 3.5 есть свои API? Т. е. это не подмножество .NETF 3.5? Жаль, что тогда не было NetStandard.

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Works in
Date of birth
Registered
Activity

Specialization

Фулстек разработчик, IoT
Старший
C#
.NET Core
.NET
SQL
Linux
Docker
JavaScript
Проектирование архитектуры приложений