Обновить
73
Artem (tёmix) Solopiy@EntityFX

Iot Solutions Developer

58
Подписчики
Отправить сообщение
На Байкал-М:

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, но раз он есть, то почему бы не побенчить с ним.

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

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

8С тоже 28 нм.

  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.

Информация

В рейтинге
Не участвует
Откуда
Казань, Татарстан, Россия
Работает в
Дата рождения
Зарегистрирован
Активность

Специализация

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