Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Программирование Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 31 32 33 34 35 [36] 37 38 39 40 .. 43   вперед  Ctrl
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
Dima T
Member

Откуда:
Сообщений: 13208
clihlt
Да есть же time для этих целей:
time ./card-raytracer-rwolf-cpp.clang

Он используется если этот скрипт запустить run-benchmark2.sh, он еще лог пишет, а в конце создается табличка чтобы сюда скопипастить в тэге CSV
2 июл 18, 19:25    [21537604]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 38872
Dima T
Поднял виртуалку, кое-что поставил. Предварительные результаты:

Ubuntu 18.04 Intel i7 6700K 4 ГГц
LangTime sTime %MSE
cpp0:9.559100.0%
cpp-clang0:7.83782.0%
cpp-opt0:9.37098.0%4.4
cpp-rwolf0:8.99094.0%4.4
d0:9.909103.7%4.3
c-sharp0:34.987366.0%5.7


PS mayton, закоммитил install.sh и run.sh

Спасибо. Я видел пул-реквесты. Сейчас - с планшета но чуть позже посмотрю и замержу.
2 июл 18, 22:47    [21537997]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
Dima T
Member

Откуда:
Сообщений: 13208
В прошлый раз 19539233 лидером был rust (v1.10), но что-то там переиначили и теперь наш исходник не компилируется в rust 1.13

error[E0599]: no function or associated item named `new` found for type `rand::StdRng` in the current scope
   --> src/card-raytracer.rs:149:24
    |
149 |     let mut rng: StdRng = StdRng::new().unwrap();
    |                           ^^^^^^^^^^^ function or associated item not found in `rand::StdRng`

Кто-нибудь знает как поправить?
3 июл 18, 12:21    [21538939]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6042
Dima T,

нафиг эти птичьи языки )

Переписал версию на С - какой то бред. По отдельности примитивы работы с векторами быстрее в версии для AVX/SSE/FMA, но в целом программа получается медленнее...

Разберусь - кину пулл.
3 июл 18, 17:06    [21539946]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 38872
Dima T, merged.

Да я думал об использовании time. Только его результат надо представить таблично.
3 июл 18, 23:19    [21540822]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 38872
Dima T,

по поводу c-sharp/ и dotnet/. У нас похоже образовался беспорядочек в проекте. Ну... по крайней мере
есть дубли. Насколько я помню ты был автором дотнета. Удали плиз один который не нужен.
3 июл 18, 23:25    [21540847]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 38872
Dima T, по поводу install-скриптов. Они - админские. Требуют sudo-привилегий.
Возможно их лучше оформить не как скрипты а как README.md - файл.

В этом случае гитхаб его будет показывать как документ-инструкцию
при заходе в каталог с веба.
3 июл 18, 23:31    [21540867]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 38872
Dima T
Не знаю чем отличается run.aotc.sh, но у меня он пишет Elapsed time : 15 sec

AOT - это опция которая появилась в Java-9 (или анонсирована я уж не помню) которая
позволяет сделать в дополнение к байткоду еще и компилляцию нативного бинарника.

Для серверных платформ - это позволит минимизировать время start-time толстого
приложения. Но в нашем трассировщике луча это настолько незаметно что не оказывает
влияния на режимы АОТ и JIT.
4 июл 18, 00:01    [21540972]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 38872
Siemargl
Переписал версию на С - какой то бред. По отдельности примитивы работы с векторами быстрее в версии для AVX/SSE/FMA, но в целом программа получается медленнее...

Разберусь - кину пулл.

OK. Ждем версию с AVX.
4 июл 18, 00:02    [21540978]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6042
mayton
Siemargl
Переписал версию на С - какой то бред. По отдельности примитивы работы с векторами быстрее в версии для AVX/SSE/FMA, но в целом программа получается медленнее...

Разберусь - кину пулл.

OK. Ждем версию с AVX.

Предварительно - С-версия конечно выигрывает у всех, но недостаточно существенно.

Я бы хотел увидеть решающее преимущество и потом добить изи-параллелизмом =)
4 июл 18, 00:58    [21541094]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 38872
Жги.
4 июл 18, 01:21    [21541107]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
Dima T
Member

Откуда:
Сообщений: 13208
mayton
Dima T,

по поводу c-sharp/ и dotnet/. У нас похоже образовался беспорядочек в проекте. Ну... по крайней мере
есть дубли. Насколько я помню ты был автором дотнета. Удали плиз один который не нужен.

Это разные дотнеты. mono и .net core. Второй компилирует все исходники в папке и затыкается из-за того что два main(), поэтому пришлось вынести в отдельную папку.
Мне уже ответили как это порешать 21537106 переделаю на одну папку.
4 июл 18, 07:26    [21541197]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
Dima T
Member

Откуда:
Сообщений: 13208
mayton
Dima T, merged.

Да я думал об использовании time. Только его результат надо представить таблично.

Я разбор прописал. Папку tools откомпилируй и запускай run-benchmark2.sh он лог пишет, а затем делается разбор лога и табличка выводится для копипасты сюда.
4 июл 18, 07:44    [21541207]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
Dima T
Member

Откуда:
Сообщений: 13208
Сделал замер, отсортировал по скорости

Ubuntu 18.04 Intel i7 6700K 4 ГГц
LangTime sTime %MSE
cpp (g++ 7.3)0:9.428100.0%
cpp (clang 6.0)0:7.74082.1%4.4
cpp-rwolf (g++)0:8.84993.9%
cpp-opt (g++)0:9.22997.9%
java 10.0.10:11.322120.1%4.4
c# .net core 2.10:14.081149.4%5.8
fpc 3.0.40:25.664272.2%4.8
c# mono 5.120:34.502366.0%5.7
nodejs 8.100:54.463577.7%4.4
PyPy 5.10.01:10.057743.1%4.4


java AOT не стал добавлять, т.к. она почему-то 15 сек, хотя должно быть быстрее 21540972
Надо бы еще rust починить. Про другие ЯП не знаю стоит ли запускать? Например PHP, который долгий и печальный?

Предыдущий замер тут 19539233
4 июл 18, 08:57    [21541279]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 38872
Dima T,

Имеет смысл запускать все бинарники на твоем железе чтоб иметь сравнение.

Отчот можно положить в какую нибудь папку с названием конфига. А я сделаю линк с главного readme.md
4 июл 18, 09:20    [21541337]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
Dima T
Member

Откуда:
Сообщений: 13208
mayton
Отчот можно положить в какую нибудь папку с названием конфига. А я сделаю линк с главного readme.md

Для этого уже есть папка results, туда положил
4 июл 18, 09:41    [21541412]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
Siemargl
Member

Откуда: 010100
Сообщений: 6042
mayton
Жги.
права дай. в фолловерах ник этот же
4 июл 18, 10:03    [21541519]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
Dima T
Member

Откуда:
Сообщений: 13208
Siemargl
mayton
Жги.
права дай. в фолловерах ник этот же

Сделай fork к себе, там правь, как готово будет - pull request
4 июл 18, 10:07    [21541531]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9009
Dima T
java AOT не стал добавлять, т.к. она почему-то 15 сек, хотя должно быть быстрее
Не может быть статический компилятор быстрее оптимизирующего динамического.
AOT это время старта для некоторых клиентских сценариев.
4 июл 18, 10:07    [21541535]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
Dima T
Member

Откуда:
Сообщений: 13208
В скрипте замера ошибки были, поправил. Добавил недостающие (d, go, php)

Ubuntu 18.04 Intel i7 6700K 4 ГГц
LangTime sTime %MSE
cpp (g++ 7.3)0:9.428100.0%
c (gcc 7.3)0:7.29777.0%4.4
cpp (clang 6.0)0:7.74082.1%4.4
rust 0.260:8.57989.6%4.4
cpp-rwolf (g++)0:8.84993.9%
cpp-opt (g++)0:9.22997.9%
d 8.00:9.991105.6%4.4
java 10.0.10:11.322120.1%4.4
c# .net core 2.10:14.081149.4%5.8
go 1.100:19.754208.8%4.4
fpc 3.0.40:25.664272.2%4.8
c# mono 5.120:34.502366.0%5.7
nodejs 8.100:54.463577.7%4.4
PyPy 5.10.01:10.057743.1%4.4
PHP 7.2.513:59.6968909%


Предыдущий замер тут 19539233

PS Написал инструкцию по запуску в убунте. Причесал скрипты. Ставится и запускается все почти в один клик.
4 июл 18, 12:03    [21542058]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 38872
Видел ваши пул реквесты. Спасибо. Вечером сделаю merge.
4 июл 18, 13:54    [21542461]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 38872
Basil A. Sidorov
Dima T
java AOT не стал добавлять, т.к. она почему-то 15 сек, хотя должно быть быстрее
Не может быть статический компилятор быстрее оптимизирующего динамического.
AOT это время старта для некоторых клиентских сценариев.

А есть какая-то ссылка на OpenJdk где этот тезис отражен?
4 июл 18, 14:05    [21542509]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9009
mayton
А есть какая-то ссылка на OpenJdk где этот тезис отражен?
А это требует какого-то обоснования?

Как вы собрались делать, например, скаляризацию объекта, которая требует escape-анализа?
Замену "фактически финальных" переменных на константы?
Деоптимизацию?

Что можно сделать при статическом анализе байт-кода для среды с динамической загрузкой классов?
4 июл 18, 15:02    [21542858]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
mayton
Member

Откуда: loopback
Сообщений: 38872
Замержил. Теперь у нас есть чистый C.

Начались бротва!
4 июл 18, 21:23    [21544192]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничный бенчмарк CPU (part-1)  [new]
Dima T
Member

Откуда:
Сообщений: 13208
Затестил:
ФайлВремя сек.
Raytracer_handofdos2.exe7.29
Raytracer_handofdosavx2.exe10.53
Raytracer_handofdosAVX3.exe28.21


В тесты добавил первый. Результат вписал в таблицу 21542058

Еще один тест: добавил те же опции компилятора в cpp (-O3 -march=native -m64 -msse4.2 -ffast-math) и время стало такое же
ФайлВремя сек.
card-raytracer-cpp7.29
card-raytracer-rwolf-cpp7.29
card-raytracer-opt-cpp7.26
card-raytracer-cpp.clang6.65
card-raytracer-rwolf-cpp.clang7.88
card-raytracer-opt-cpp.clang7.52

Исходник на C не компилируется если только -O3 оставить, поэтому не затестил C без опций.

Получается что победили опции компилятора :)

PS Как-то можно githab настроить чтобы все изменения в моем форке отражались? Или хотя бы принудительно как-то подгрузить? А то пришлось грохнуть и заново форк сделать.
5 июл 18, 08:28    [21544716]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 31 32 33 34 35 [36] 37 38 39 40 .. 43   вперед  Ctrl
Все форумы / Программирование Ответить