<bgdev />free

| |  


All tags 2023 9may ai algorithm alpha amd american api argon2 arm asm asmbb assembler attachment awareness balgaria bay888 bcrypt bender beta bgdev-next bgdev-next.👍 big.data bitchnigga bitcoin bmw boi borg brexit bug bulgaria business c cad chat cloud computer-names console crossorigin deprivation desktop dna dotnet email eupl falling feature forum foundation fp fresh fun game gcc github goats google gpl gpt gpt.3.5 gypsies happiness harvard hash improvement include investment it java javascript js kleta kleta.maqka.balg lambi language learning leftovers legend level levenshtein.dist libx license linkedlist linux m0 ma mcafee mele microsoft minimag minimalism negro net nginx nigga not.a.bug oop paradigm parler patterns perception persuasion pipe play.station politics populi pornhub pow pro programming protonmail python reba rust sci-fi scripting seks seo server shell sleep smartbeauty soft-skills sqlite srabska sse starship sugerface syntax tablet tailwindcss telegram theme thug troll80lvl tutanota typescript uacme ui uk unix untermensch upload uptime usa utilities ux vb via viber virtual.reality vox vps vulnerable war wasm weapons-grade web windows word x86 xbox xss youtube zig ziglang Übermensch БОКЕБЪЛГАРИН БЪ БЪлгария Белезниците Били Били.Белезниците БялДонор Веган Виста Възраждане ГЛУПАК Гана Глиста ЕС Казарма Копейкин Мода.и.овча.мисъ НЕКАДЪРНИК НРБ ПО-ЗЛЕ.И.ОТ.РАБИ Подкасти Разни Румен СИК СКУМ СетенЧук Скум ТИР Туче Украйна Урсула Яначков авангард аз айфонджия алгоритми амбиции анархизъм антиваксъри армения аудио аутисти бази.данни бакъп без без.пръчове безпросвета бенчмарк биготи биомаса бира боклук борисов ботев брадва булшит бъг бъгове бял ваксина вандал век венерика викинги вицове вишу война вървежен гана ганорник гей гейщина германия герои гешев глупак говеда групировка гюбек данъкоплатец двойни.стандарти дедотия демокрация дизайн дисциплина добитък докери долар донори држава дришльо дрон ебане еврогейски.съюз езици експеримент електроника електроника.s2 емиграция ендпойнт енум ерген ергономия жалкар задача затоплизъм защита здраве златен злато игри идеали идиократ идиократи идиокрация идиот избори избори.рабин изкуство икономика имбецили имейл инвестиране инокулация инструмента интервю ипад искам.да.си.реда казах камшикодържач капитализъм карабах караница картечница кино клавиатура ковид19 колайдер колям.кур комари комплексар комунизъм консолидация конспирации космонавтика кофа кофит-19 краставица криптовалути курви кучелюбци лайно лаладжия лаптоп либерастия литература лоши.практики луд лъжеучени лъжец любов майни майтапи малоумници мафия мениджмънт месо местене метавселена метафизика механика мистика мисъл мода мода.овча.мисъл модерация морал мутра мутри наука национализъм не.it негър некадърник некадърници неон нидерландия овча овчи олигофрени организация офтопик парички партия педал пенджури пенсия пишока плюскане победа погромист поезия политика порно посредствен почивка празници прасе превод предалщина програмиране проект проста простотии против.правилата проф пръч пръч.дришльо пръчка психика психични.болести психология пустиняк путин путката путьо рабин рабин.е.шибан.пе работа радост разврат разни разработка расизъм резерват рейтинг реклама рекламен религия рест ризи ропче ропчета русия руски.език рутина самоковска сасипаха секира село селяндур сериали сериозно.програм сетен сеянин симулация скопяване скръм слушалки сортиране софия софтуер софтуни социализъм спектрометър спринтове сране стандарти стил стуйо стюи сушилня сцена съвет съм сън сървър сърничка таб ташаци телевизия тема територията терминология термояд технологии титли традиция тролинг тръмп туба туче тъпак тъпанари тъпня уиндоус украйна умнокрасивци фалит фантастика фашизъм фейк.акаунти физика филми форум форумни.проекти футбол хазарт хамали харабия хардуер хахаха хомофобия хостинг храна хумор цайко цайси целофан цензура цензурра циганин чалга чалгар чекии чернокраки честота чипове чнг чужбина чук шпация щайга юан яката яко ям 🔨 😂 🪓


Задача НЕ за интервю

  

0 1 2 3 4 ...13 14 15 16 17 ...28 29 30 31 32 33 34 35 36


  Delegate  Създадено на 02.10.2020, видяно: 1835 пъти. #13493

Под Windows, да.



  johnfound  Създадено на 02.10.2020, видяно: 1829 пъти. #13495
Delegate

Под Windows, да.

Всъщност да, мога да го повторя на Windows. Има някакъв проблем точно с Windows-ката версия, интересното е, че във WINE работи нормално. Ще се опитам да дебъгна, но с Windows-a ми е малко сложно...



  Delegate  Последно редактирано на 02.10.2020 от Delegate, видяно: 1821 пъти. #13499

Малко модифицирах С-версията на Пайпа и при мен дава по-добри резултати сега. CPU:G1840/2.8Ghz

Оригинала

ds 99775 ol 100
0: 4 8968.431100 ms
1: 4 8069.468440 ms
2: 4 8980.419330 ms
3: 4 8979.220470 ms
4: 40 8971.888060 ms
5: 4 8069.415440 ms
6: 9 8972.812720 ms
7: 6 8971.225680 ms
8: 4 8969.875560 ms
9: 6 8073.109850 ms

С друга дистанс функция

ds 99775 ol 100
0: 4 4980.765750 ms
1: 4 4982.043070 ms
2: 4 4981.196810 ms
3: 4 4084.879320 ms
4: 40 4988.079010 ms
5: 4 4981.050080 ms
6: 9 4980.811110 ms
7: 6 4981.194600 ms
8: 4 4981.177410 ms
9: 6 4081.528070 ms

Има сорс и ехе за Windows

Attached files:
FileSizeUploadedDownloadsMD5 hash
leven_c.zip3473691 bytes02.10.2020146705d5c682a30489ebbe2f9eb61673bdc


  ФейкПрофил  Създадено на 02.10.2020, видяно: 1798 пъти. #13525

В неговата версия липсват много оптимизации, дай един ръст сега

Attached files:
FileSizeUploadedDownloadsMD5 hash
bender.zip3419182 bytes02.10.20201583b5bb9dcc79573296ea2ec191d98989c


  ФейкПрофил  Създадено на 02.10.2020, видяно: 1796 пъти. #13526
johnfound
Delegate

Под Windows, да.

Всъщност да, мога да го повторя на Windows. Има някакъв проблем точно с Windows-ката версия, интересното е, че във WINE работи нормално. Ще се опитам да дебъгна, но с Windows-a ми е малко сложно...

Не би ли трябвало асмеблера да работи еднакво на всякъде ?



  |  Създадено на 02.10.2020, видяно: 1774 пъти. #13535
Delegate

Малко модифицирах С-версията на Пайпа и при мен дава по-добри резултати сега. CPU:G1840/2.8Ghz

Оригинала

ds 99775 ol 100
0: 4 8968.431100 ms
1: 4 8069.468440 ms
2: 4 8980.419330 ms
3: 4 8979.220470 ms
4: 40 8971.888060 ms
5: 4 8069.415440 ms
6: 9 8972.812720 ms
7: 6 8971.225680 ms
8: 4 8969.875560 ms
9: 6 8073.109850 ms

С друга дистанс функция

ds 99775 ol 100
0: 4 4980.765750 ms
1: 4 4982.043070 ms
2: 4 4981.196810 ms
3: 4 4084.879320 ms
4: 40 4988.079010 ms
5: 4 4981.050080 ms
6: 9 4980.811110 ms
7: 6 4981.194600 ms
8: 4 4981.177410 ms
9: 6 4081.528070 ms

Има сорс и ехе за Windows

В zip-a няма сорс.



  ФейкПрофил  Създадено на 02.10.2020, видяно: 1765 пъти. #13539

Ръст с авх2:

  0|> Elapsed:   247; Distance:   4
  1|> Elapsed:   239; Distance:   4
  2|> Elapsed:   244; Distance:   4
  3|> Elapsed:   157; Distance:   4
  4|> Elapsed:   249; Distance:  40
  5|> Elapsed:   201; Distance:   4
  6|> Elapsed:   203; Distance:   9
  7|> Elapsed:   231; Distance:   6
  8|> Elapsed:   180; Distance:   4
  9|> Elapsed:   211; Distance:   6

Attached files:
FileSizeUploadedDownloadsMD5 hash
rust_avx.zip3419314 bytes02.10.20201670af3d7d92064d8ad6fe8649d5e1b8d22


  |  Създадено на 02.10.2020, видяно: 1755 пъти. #13544
ФейкПрофил

Ръст с авх2:

  0|> Elapsed:   247; Distance:   4
  1|> Elapsed:   239; Distance:   4
  2|> Elapsed:   244; Distance:   4
  3|> Elapsed:   157; Distance:   4
  4|> Elapsed:   249; Distance:  40
  5|> Elapsed:   201; Distance:   4
  6|> Elapsed:   203; Distance:   9
  7|> Elapsed:   231; Distance:   6
  8|> Elapsed:   180; Distance:   4
  9|> Elapsed:   211; Distance:   6

На Epyc-а:

# FASM

0: Dist: 4, Time: 575 ms
1: Dist: 4, Time: 540 ms
2: Dist: 4, Time: 530 ms
3: Dist: 4, Time: 14 ms
4: Dist: 40, Time: 407 ms
5: Dist: 4, Time: 181 ms
6: Dist: 9, Time: 257 ms
7: Dist: 6, Time: 305 ms
8: Dist: 4, Time: 93 ms
9: Dist: 6, Time: 273 ms
10: Dist: 58, Time: 330 ms


# Rust

  0|> Elapsed:   537; Distance:   4
  1|> Elapsed:   528; Distance:   4
  2|> Elapsed:   525; Distance:   4
  3|> Elapsed:   324; Distance:   4
  4|> Elapsed:   372; Distance:  40
  5|> Elapsed:   250; Distance:   4
  6|> Elapsed:   244; Distance:   9
  7|> Elapsed:   270; Distance:   6
  8|> Elapsed:   220; Distance:   4
  9|> Elapsed:   252; Distance:   6
 10|> Elapsed:   288; Distance:  58

Асемблерската версия все още крашва на Интел-а.

Иначе сега се опитвам да направя GPU версията да използва SIMD (защото GPU-то има и такива инструкции :)



  ФейкПрофил  Създадено на 02.10.2020, видяно: 1751 пъти. #13546

Много бавен този епик. Моя 5 годишен лаптоп вади по-малки времена.



  |  Последно редактирано на 02.10.2020 от |, видяно: 1750 пъти. #13547
ФейкПрофил

Много бавен този епик. Моя 5 годишен лаптоп вади по-малки времена.

Има ли 64 ядра? :)

Иначе на моя лаптоп:


  0|> Elapsed:   184; Distance:   4
  1|> Elapsed:   180; Distance:   4
  2|> Elapsed:   179; Distance:   4
  3|> Elapsed:   136; Distance:   4
  4|> Elapsed:   185; Distance:  40
  5|> Elapsed:   159; Distance:   4
  6|> Elapsed:   162; Distance:   9
  7|> Elapsed:   174; Distance:   6
  8|> Elapsed:   143; Distance:   4
  9|> Elapsed:   161; Distance:   6
 10|> Elapsed:   183; Distance:  58


  gat3way  Създадено на 02.10.2020, видяно: 1728 пъти. #13584

Това с векторизацията на теслата доста вероятно ще доведе до противоречив, вероятно по-лош резултат. Аз дори съм учуден че има вектори в кудата, в опенцл-а има защото е за различна железария - от процесори през FPGA до видеокарти, там някои платформи си имат реално хардуерни SIMD регистри отдолу. Нвидията няма (АМД имаха в по-старите архитектури, ма ги махнаха). Тоест от векторни операции няма да намажеш абсолютно нищо, просто защото компилатора ще ги сведе до n на броя скаларни, които ще подкара една след друга. Обаче в един частен случай има файда от това дори при това положение - при достъпването на памет. Това е защото хардуера позволява наведнъж да се чете повече памет, сега колко точно не помня, но определено е повече от един int на workitem. И тогава, от четенето от векторен буфер във векторна променлива има файда. От друга страна, това ще ти вдигне бройката регистри, които ползва кернела и съответно ще имаш по-ниско occupancy. Та като цяло дали ще намажеш или не е въпрос на експерименти.



  johnfound  Създадено на 02.10.2020, видяно: 1720 пъти. #13586
ФейкПрофил

Не би ли трябвало асмеблера да работи еднакво на всякъде ?

Безспорно. Това си е бъг. Но ми е трудно да го дебъгвам, защото нямам Windows, а под Wine всичко работи нормално...



  Евлампи  Създадено на 02.10.2020, видяно: 1714 пъти. #13589
johnfound

защото нямам Windows

Я, колко сме в тоя клуб тука?

Рабин ИМА уиндоус (краден) и го ползва, да мълчи иззад козовръза



  |  Създадено на 02.10.2020, видяно: 1705 пъти. #13595
gat3way

Това с векторизацията на теслата доста вероятно ще доведе до противоречив, вероятно по-лош резултат. Аз дори съм учуден че има вектори в кудата, в опенцл-а има защото е за различна железария - от процесори през FPGA до видеокарти, там някои платформи си имат реално хардуерни SIMD регистри отдолу. Нвидията няма (АМД имаха в по-старите архитектури, ма ги махнаха). Тоест от векторни операции няма да намажеш абсолютно нищо, просто защото компилатора ще ги сведе до n на броя скаларни, които ще подкара една след друга. Обаче в един частен случай има файда от това дори при това положение - при достъпването на памет. Това е защото хардуера позволява наведнъж да се чете повече памет, сега колко точно не помня, но определено е повече от един int на workitem. И тогава, от четенето от векторен буфер във векторна променлива има файда. От друга страна, това ще ти вдигне бройката регистри, които ползва кернела и съответно ще имаш по-ниско occupancy. Та като цяло дали ще намажеш или не е въпрос на експерименти.

Опитвам се да използвам разните intrinsics като vminu4, не знам точно до какъв код ще доведат.



  bvbfan  Създадено на 03.10.2020, видяно: 1683 пъти. #13689
|

Има ли 64 ядра? :)

Пробвал ли си с 60-на нишки?



  bvbfan  Последно редактирано на 03.10.2020 от bvbfan, видяно: 1682 пъти. #13690
ФейкПрофил

Абе това trie колко памет харчи ? Аз се заиграх, но ми заема 2ГБ :(

Харчи (виж prefix/radix trie) също както и непрекъснатото зареждане при всяко пускане на програмата, но Пайп-а не иска да разисква тоя въпрос, защото компенсира със смятането на гпу и неглижира проблема.



  |  Създадено на 03.10.2020, видяно: 1673 пъти. #13692
bvbfan
ФейкПрофил

Абе това trie колко памет харчи ? Аз се заиграх, но ми заема 2ГБ :(

Харчи (виж prefix/radix trie) също както и непрекъснатото зареждане при всяко пускане на програмата, но Пайп-а не иска да разисква тоя въпрос, защото компенсира със смятането на гпу и неглижира проблема.

Какъв е проблема с паметта? Трай за примерния dataset ima 12 милиона nodes и отнема около 512 MB памет. И за какво непрекъснато зареждане става въпрос? Всеки път го изграждам в паметта.



  |  Създадено на 03.10.2020, видяно: 1670 пъти. #13693
bvbfan
|

Има ли 64 ядра? :)

Пробвал ли си с 60-на нишки?

Пробвах програмата на John с 256 (компютъра има 2 процессора * 64 ядра * 2 заради SMT) едновременни изпълнения да видя дали ще има някакво забавяне във времената. И да е имало, не беше забележимо.



  bvbfan  Последно редактирано на 03.10.2020 от bvbfan, видяно: 1666 пъти. #13697
|

Какъв е проблема с паметта? Трай за примерния dataset ima 12 милиона nodes и отнема около 512 MB памет. И за какво непрекъснато зареждане става въпрос? Всеки път го изграждам в паметта.

Всеки път се чете от файл и се зарежда в дърво, при всяко стартиране - това е проблем. Идеята на дб-тата е да се зарежда само нужната информация, евентуално да се кешира. При само 512MB наистина са малко и все още не е проблем. Като стане GiB зареждането ще усетиш и забавяне. Какъв е точно по вид е трая? Валидация правиш ли?



  |  Създадено на 03.10.2020, видяно: 1662 пъти. #13698
bvbfan
|

Какъв е проблема с паметта? Трай за примерния dataset ima 12 милиона nodes и отнема около 512 MB памет. И за какво непрекъснато зареждане става въпрос? Всеки път го изграждам в паметта.

Всеки път се чете от файл и се зарежда в дърво, при всяко стартиране - това е проблем. Идеята на дб-тата е да се зарежда само нужната информация, евентуално да се кешира. Какъв е точно по вид е трая?

ЦЯЛАТА информация е нужна в случая. Колко пъти още трябва да се повтори за да го схванеш?

Trie-а е най-елементарния възможен.


0 1 2 3 4 ...13 14 15 16 17 ...28 29 30 31 32 33 34 35 36


Задача НЕ за интервю

  



AsmBB v3.0 (check-in: 7544654b24928b93); SQLite v3.47.0 (check-in: 03a9703e27c44437);
©2016..2024 John Found; Licensed under EUPL; Powered by Assembly language Created with Fresh IDE