Абе това trie колко памет харчи ? Аз се заиграх, но ми заема 2ГБ :(
Абе това trie колко памет харчи ? Аз се заиграх, но ми заема 2ГБ :(
johnfound | johnfound А сега малко зарибявка. Последни резултати на Pentium N3540:
0: Dist: 4, Time: 751 ms 1: Dist: 4, Time: 700 ms 2: Dist: 4, Time: 723 ms 3: Dist: 4, Time: 23 ms 4: Dist: 40, Time: 753 ms 5: Dist: 4, Time: 404 ms 6: Dist: 9, Time: 654 ms 7: Dist: 6, Time: 755 ms 8: Dist: 4, Time: 226 ms 9: Dist: 6, Time: 686 ms
Това според мене е по-бързо от варианта с trie на числотрошачката на Пайпа.
Напомням, че това е процесор с пасивно охлаждане на нетбук Acer.
Дали мога да бия и GPU-то?
Nice. Ако си спомням правилно средното време с GPU-то беше някъде около 60 ms обаче.
Е, на твоята числотрошачка и моята програма ще е по-бърза. А пък на моето "GPU", времето сигурно няма да е 60ms (ако въобще тръгне).
Пък и това, мисля, не е тавана. Имам още някой и друг фокус в ръкава.
Освен това твоят код (предполагам) не е многонишков.
| Освен това твоят код (предполагам) не е многонишков.
Това пък откъде накъде? Съвсем нормално ще си работи с колкото си искаш нишки.
johnfound | Освен това твоят код (предполагам) не е многонишков.
Това пък откъде накъде? Съвсем нормално ще си работи с колкото си искаш нишки.
Казвам, че не е многонишков в момента, и ако се пусне на всички ядра, това ще увеличи производителността му. Защото кода на GPU-то се изпълнява на много нишки и затова е толкова бърз.
От чисто любопитство, не-ММХ версията разбра ли се за колко време минава на Епика и за колко минава Gо версията?
OK, за съжаление имам някакви технически проблеми и затова не мога да синхронизирам репозиторитата по мобилната мрежа.
Така че, сорса ще го атачна тука, а в репозиторито - довечера.
А също, атачвам и текущата компилирана версия.
Времената, последно са (на Pentium N3540):
0: Dist: 4, Time: 562 ms
1: Dist: 4, Time: 526 ms
2: Dist: 4, Time: 544 ms
3: Dist: 4, Time: 20 ms
4: Dist: 40, Time: 561 ms
5: Dist: 4, Time: 306 ms
6: Dist: 9, Time: 476 ms
7: Dist: 6, Time: 564 ms
8: Dist: 4, Time: 172 ms
9: Dist: 6, Time: 504 ms
Както се вижда, малко по-добри са от анонсираните.
synergie От чисто любопитство, не-ММХ версията разбра ли се за колко време минава на Епика и за колко минава Gо версията?
Епик - това процесора на Пайпа ли е? Ако да - то не. Пайпа щеше да компилира и май успя, но не публикува никакви резултати...
Дойде ли време да оптимизираме гпу кода или още не е бито ? :)
johnfound synergie От чисто любопитство, не-ММХ версията разбра ли се за колко време минава на Епика и за колко минава Gо версията?
Епик - това процесора на Пайпа ли е? Ако да - то не. Пайпа щеше да компилира и май успя, но не публикува никакви резултати...
Компилирах, но не поддържа изпълняването на 32-битови програми. Предполагам, че е проблем с ядрото, защото не мисля, че липсват някакви библиотеки от които зависи. Щях да компилирам ново ядро, но в момента нямам достъп до сървъра.
| johnfound synergie От чисто любопитство, не-ММХ версията разбра ли се за колко време минава на Епика и за колко минава Gо версията?
Епик - това процесора на Пайпа ли е? Ако да - то не. Пайпа щеше да компилира и май успя, но не публикува никакви резултати...
Компилирах, но не поддържа изпълняването на 32-битови програми. Предполагам, че е проблем с ядрото, защото не мисля, че липсват някакви библиотеки от които зависи. Щях да компилирам ново ядро, но в момента нямам достъп до сървъра.
Видя ли този пост - ако добавиш MUSL .so файла, ще тръгне, без значение дали имаш поддръжка за 32 битови програми или не.
gat3way Дойде ли време да оптимизираме гпу кода или още не е бито ? :)
Ако предположим, че кода на Джон скалира линейно на 128-ядрения Epyc би трябвало да бие GPU-то. Пък и на 48-ядрения Интел Зион.
johnfound Видя ли този пост - ако добавиш MUSL .so файла, ще тръгне, без значение дали имаш поддръжка за 32 битови програми или не.
Пропуснал съм го. Ако успея да се свържа със сървъра ще пробвам.
Хм, всички са в шок и не пишат.
А аз опитах как ще изглежда с XMM регистрите и 16 стринга наведнъж. Има подобрение, но определено не е двойно, така че вероятно трябва да се види дали спомагателния код не трябва да се пипа още.
На Pentium N3540:
0: Dist: 4, Time: 341 ms
1: Dist: 4, Time: 320 ms
2: Dist: 4, Time: 332 ms
3: Dist: 4, Time: 11 ms
4: Dist: 40, Time: 339 ms
5: Dist: 4, Time: 187 ms
6: Dist: 9, Time: 289 ms
7: Dist: 6, Time: 342 ms
8: Dist: 4, Time: 105 ms
9: Dist: 6, Time: 308 ms
Средното време е 226ms на стринг.
Аз съм в шок. Верно ще излезе, че на ръка се пишат по-бързи програми
johnfound Хм, всички са в шок и не пишат.
А аз опитах как ще изглежда с XMM регистрите и 16 стринга наведнъж. Има подобрение, но определено не е двойно, така че вероятно трябва да се види дали спомагателния код не трябва да се пипа още.
Хмм, нещо не е наред. Това е с кода ти от вчера:
allegro:~/tmp/work/AsmLeven$ ./Levenshtein
Dictionary (SetA) length: 99775
0: Dist: 7, Time: 7602 ms, Index: 97865
1: Dist: 7, Time: 6479 ms, Index: 90390
2: Dist: 7, Time: 6635 ms, Index: 91065
3: Dist: 7, Time: 3736 ms, Index: 1720
4: Dist: 45, Time: 6723 ms, Index: 34233
5: Dist: 7, Time: 5246 ms, Index: 49718
6: Dist: 12, Time: 5567 ms, Index: 52634
7: Dist: 8, Time: 6299 ms, Index: 80663
8: Dist: 7, Time: 4567 ms, Index: 26926
9: Dist: 8, Time: 5616 ms, Index: 60852
10: Dist: 63, Time: 7345 ms, Index: 58761
johnfound Хм, всички са в шок и не пишат.
С кода който пусна тази сутрин (мое време) е наред:
allegro:~/tmp/work/AsmLeven$ ./Levenshtein
Dictionary (SetA) length: 99775
0: Dist: 4, Time: 1150 ms
1: Dist: 4, Time: 897 ms
2: Dist: 4, Time: 608 ms
3: Dist: 4, Time: 19 ms
4: Dist: 40, Time: 607 ms
5: Dist: 4, Time: 330 ms
6: Dist: 9, Time: 515 ms
7: Dist: 6, Time: 610 ms
8: Dist: 4, Time: 185 ms
9: Dist: 6, Time: 545 ms
10: Dist: 58, Time: 665 ms
| johnfound Хм, всички са в шок и не пишат.
А аз опитах как ще изглежда с XMM регистрите и 16 стринга наведнъж. Има подобрение, но определено не е двойно, така че вероятно трябва да се види дали спомагателния код не трябва да се пипа още.
Хмм, нещо не е наред. Това е с кода ти от вчера:
allegro:~/tmp/work/AsmLeven$ ./Levenshtein Dictionary (SetA) length: 99775 0: Dist: 7, Time: 7602 ms, Index: 97865 1: Dist: 7, Time: 6479 ms, Index: 90390 2: Dist: 7, Time: 6635 ms, Index: 91065 3: Dist: 7, Time: 3736 ms, Index: 1720 4: Dist: 45, Time: 6723 ms, Index: 34233 5: Dist: 7, Time: 5246 ms, Index: 49718 6: Dist: 12, Time: 5567 ms, Index: 52634 7: Dist: 8, Time: 6299 ms, Index: 80663 8: Dist: 7, Time: 4567 ms, Index: 26926 9: Dist: 8, Time: 5616 ms, Index: 60852 10: Dist: 63, Time: 7345 ms, Index: 58761
Даже не знам какво да кажа... Не стига, че е бавно, ами и резултатите не са верни... Нещо се е прецакало при компилирането. Или пък има бъг, който се проявява точно на този процесор...
Я опитай с файловете с данните от бинарния пакет, който съм атачвал - да не би нещо четенето на данните да е проблем.
johnfound Даже не знам какво да кажа... Не стига, че е бавно, ами и резултатите не са верни... Нещо се е прецакало при компилирането. Или пък има бъг, който се проявява точно на този процесор...
Я опитай с файловете с данните от бинарния пакет, който съм атачвал - да не би нещо четенето на данните да е проблем.
Явно е имало бъг, който си фикснал без да разбереш в следващата версия.
| johnfound Даже не знам какво да кажа... Не стига, че е бавно, ами и резултатите не са верни... Нещо се е прецакало при компилирането. Или пък има бъг, който се проявява точно на този процесор...
Я опитай с файловете с данните от бинарния пакет, който съм атачвал - да не би нещо четенето на данните да е проблем.
Явно е имало бъг, който си фикснал без да разбереш в следващата версия.
Ще погледна, но няма логика... Обикновено къмитвам в репозиторито само работещ код... Дай файла от който си компилирал.
johnfound | johnfound Даже не знам какво да кажа... Не стига, че е бавно, ами и резултатите не са верни... Нещо се е прецакало при компилирането. Или пък има бъг, който се проявява точно на този процесор...
Я опитай с файловете с данните от бинарния пакет, който съм атачвал - да не би нещо четенето на данните да е проблем.
Явно е имало бъг, който си фикснал без да разбереш в следващата версия.
Ще погледна, но няма логика... Обикновено къмитвам в репозиторито само работещ код... Дай файла от който си компилирал.
Само съм махнал реда с лоудъра.