<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 5 6 7 8 ...11 12 13 14 15 ...23 24 25 26 27 ...32 33 34 35 36


  |  Създадено на 25.09.2020, видяно: 1758 пъти. #12527

На една от теслите на работа (V100) 32K стринга се сравняват за 2300 секунди, или нещо като 0.07 секунди на стринг. Трябва да си поиграя малко повече, струва ми се бавно...

Това е със сравнение на всеки стринг от колекция А с всеки стринг от колекция Б. Все още не съм подкарал дъ трай на GPU...



  gat3way  Създадено на 25.09.2020, видяно: 1746 пъти. #12544

Много зависи колко са дълги тея стрингове. Ако са къси и могат да се набухат в локалната памет (у кудата това му викаха "споделена" памет май) или дори ако могат да се нашият в регистри, ще хвърчи и кърти. Обаче ако не става и са у глобалната като нищо накрая ще се окаже че CPU-то ги прави по-добре тея работи. Голема педерастия е достъпа до паметта у видеокартите, аз за global като чуя се изприщвам деба, ако патърна на достъп до паметта е подмолна работа при CPU-тата, при GPU-тата е поне с няколко порядъка по-подмолна работа.



  |  Създадено на 25.09.2020, видяно: 1739 пъти. #12545
gat3way

Много зависи колко са дълги тея стрингове. Ако са къси и могат да се набухат в локалната памет (у кудата това му викаха "споделена" памет май) или дори ако могат да се нашият в регистри, ще хвърчи и кърти. Обаче ако не става и са у глобалната като нищо накрая ще се окаже че CPU-то ги прави по-добре тея работи. Голема педерастия е достъпа до паметта у видеокартите, аз за global като чуя се изприщвам деба, ако патърна на достъп до паметта е подмолна работа при CPU-тата, при GPU-тата е поне с няколко порядъка по-подмолна работа.

Да, нещата май са доста по-дивашки отколкото си мислех. Досега тествах с всичко в глобалната памет. Функцията за ЛевенщЕйн разстояние й трябва буфер и той вероятно е в локалната памет (статичен масив деклариран в глобалната функция).

Сега ще пробвам да пусна всички тредове в локстеп (със syncthreads), да местя всеки от стринговете от колекция А в споделената памет, да пускам тредовете да сравняват с него всеки неговия си стринг от колекция Б, syncthreads, rinse, repeat...



  gat3way  Създадено на 25.09.2020, видяно: 1734 пъти. #12546

Е аз не знам, GPU kernel не съм писал от сигурно две години че и повече, те нещата там бързо се променят. Абе у кудата може ли като викаш кернел функцията, да й зададеш първоначално състояние на локалната памет? По същият начин по който и даваш аргументи или както примерно копираш памет от хоста в глобалната? Това в опенцл-а го нямаше и супер много ме дразнеше че не може да става.



  |  Създадено на 25.09.2020, видяно: 1731 пъти. #12547
gat3way

Е аз не знам, GPU kernel не съм писал от сигурно две години че и повече, те нещата там бързо се променят. Абе у кудата може ли като викаш кернел функцията, да й зададеш първоначално състояние на локалната памет? По същият начин по който и даваш аргументи или както примерно копираш памет от хоста в глобалната? Това в опенцл-а го нямаше и супер много ме дразнеше че не може да става.

Мисля, че го няма, но аз не съм писал КУДА от повече от 10 години и всичко или се е променило или съм забравил. :)



  gat3way  Създадено на 25.09.2020, видяно: 1730 пъти. #12548

Явно си е некакво хардуерно ограничение сигурно, жалко.



  Дърти Хари  Създадено на 25.09.2020, видяно: 1729 пъти. #12549

Аз не съм спец за точно такъв проблем, но ми се струва че може да се опита с NoSQL,

примерно

https://blog.couchbase.com/fuzzy-matching/

ili

https://www.mongodb.com/blog/post/how-to-perform-fuzzy-matching-with-mongo-connector



  Унуфри  Създадено на 25.09.2020, видяно: 1715 пъти. #12552
Дърти Хари

Аз не съм спец за точно такъв проблем, но ми се струва че може да се опита с NoSQL,

примерно

https://blog.couchbase.com/fuzzy-matching/

ili

https://www.mongodb.com/blog/post/how-to-perform-fuzzy-matching-with-mongo-connector

С монго ли се занимаваш?



  Дърти Хари  Създадено на 26.09.2020, видяно: 1709 пъти. #12554
Унуфри
Дърти Хари

Аз не съм спец за точно такъв проблем, но ми се струва че може да се опита с NoSQL,

примерно

https://blog.couchbase.com/fuzzy-matching/

ili

https://www.mongodb.com/blog/post/how-to-perform-fuzzy-matching-with-mongo-connector

С монго ли се занимаваш?

Не, Андроид и iOS, бакенд C# и MSSQL, жаба скрипт за някои фронт-енд и цялата архитектура на фирмата минава през мен.

Сравнително малка фирмичка за северно-американските мащаби, но засега плащат горе долу добре.

За NoSQL само съм чел.



  |  Последно редактирано на 26.09.2020 от |, видяно: 1701 пъти. #12555

200 хиляди стринга за 1905 секунди, което е под 0.01 секунди за стринг. Getting there...



  johnfound  Създадено на 26.09.2020, видяно: 1680 пъти. #12559
|

200 хиляди стринга за 1905 секунди, което е под 0.01 секунди за стринг. Getting there...

Това са си 10мс или 10000мкс. Една препоръка от мене - мери времето в "мс" или даже "мкс". Веднага осъзнаваш колко ти са бавни програмите.



  Delegate  Последно редактирано на 26.09.2020 от Delegate, видяно: 1673 пъти. #12560

На прав път ли съм ?



  johnfound  Последно редактирано на 26.09.2020 от johnfound, видяно: 1669 пъти. #12561
Delegate

На прав път ли съм ?

Не. Трябва на всеки Б-стринг да изчисляваш дистанцията до всеки стринг от А и да намираш минималната дистанция.



  Delegate  Създадено на 26.09.2020, видяно: 1662 пъти. #12562

Мда, ще трябва да се пишат някакви по-засукани SQL кодове..



  |  Създадено на 26.09.2020, видяно: 1643 пъти. #12591
johnfound
|

200 хиляди стринга за 1905 секунди, което е под 0.01 секунди за стринг. Getting there...

Това са си 10мс или 10000мкс. Една препоръка от мене - мери времето в "мс" или даже "мкс". Веднага осъзнаваш колко ти са бавни програмите.

Хехехе, това е изказването на деня. Не е ли по-добре да меря в пикосекунди? :)

Ако меря в години няма ли да осъзная колко са ми бавни програмите? :)



  johnfound  Създадено на 26.09.2020, видяно: 1640 пъти. #12597
|

Хехехе, това е изказването на деня. Не е ли по-добре да меря в пикосекунди? :)

Съвременните процесори имат машинен цикъл от порядъка на 250..300пс. Така че, не, няма смисъл. За програмите, които ти можеш да напишеш микросекундите са добре. Даже и леко излишни – но все пак ще смятаме, че постепенно ще се научиш да пишеш и по-бързи програми.



  |  Последно редактирано на 26.09.2020 от |, видяно: 1638 пъти. #12598
johnfound
|

Хехехе, това е изказването на деня. Не е ли по-добре да меря в пикосекунди? :)

Съвременните процесори имат машинен цикъл от порядъка на 250..300пс. Така че, не, няма смисъл. За програмите, които ти можеш да напишеш микросекундите са добре. Даже и леко излишни – но все пак ще смятаме, че постепенно ще се научиш да пишеш и по-бързи програми.

Абе, смешник, пак ли се опитваш да ме учиш как да програмирам? :) Вчера ме учи на английски, днес на програмиране, а? :)

Хайде да ти ги видим твоите програми колко са бързи. Нещо се покри, а? :)



  johnfound  Създадено на 26.09.2020, видяно: 1627 пъти. #12605
|

Хайде да ти ги видим твоите програми колко са бързи. Нещо се покри, а? :)

Ъ? В смисъл, покрих? Някъде да съм казал, че ще ти пиша програмата? Смятам, че достатъчно често съм доказвал, че пиша бързи програми. Точно сега нямам време за още един уъркшоп.

А виж, ти си който пише програми дето се изпълняват по една седмица на топ машина. За което е и тази тема.

Мислех си, че си тук за съвет как да си усъвършенстваш програмистките скилове. Затова се опитвам да помогна. Ако една седмица те устройва – ОК, айм файн ...



  |  Последно редактирано на 26.09.2020 от |, видяно: 1621 пъти. #12606
johnfound
|

Хайде да ти ги видим твоите програми колко са бързи. Нещо се покри, а? :)

Ъ? В смисъл, покрих? Някъде да съм казал, че ще ти пиша програмата? Смятам, че достатъчно често съм доказвал, че пиша бързи програми. Точно сега нямам време за още един уъркшоп.

А виж, ти си който пише програми дето се изпълняват по една седмица на топ машина. За което е и тази тема.

Мислех си, че си тук за съвет как да си усъвършенстваш програмистките скилове. Затова се опитвам да помогна. Ако една седмица те устройва – ОК, айм файн ...

Виж сега, ти може да можеш да си пишеш разни смешни играчки които се изпълняват за милисекунди, но реалните програми работят седмици. Знам, ти като изключителен програмист, никога не си виждал такава, и кой знае защо не програмираш професионално. :)

Съветът, който видях от теб е "използвай sqlite", който е толкова невероятно смешен, че дори и Рабин не посмя да каже нещо подобно.

Та, по-леко с жалката си арогантност, особено когато НЕ МОЖЕШ да я подкрепиш с ФАКТИ. :)



  Delegate  Създадено на 26.09.2020, видяно: 1609 пъти. #12612
johnfound
Delegate

На прав път ли съм ?

Не. Трябва на всеки Б-стринг да изчисляваш дистанцията до всеки стринг от А и да намираш минималната дистанция.

Ако това върши работа, рънва на средния ми лаптоп за 26 минути на postgreSQL 13 за 100К срещу 100 стринга без индекси, докато си слушам музичка и си браузвам. Някой спец да избаца по-оптимален вариант да го тествам.


SELECT "Bstring", MIN("dist") FROM
(
SELECT n1."Bstring",n2."Astring", levenshtein_less_equal(n1."Bstring",n2."Astring",100) as dist
FROM (SELECT "Bstring" FROM public."Leven")  n1  ,
public."Leven" n2 
 ) n3 GROUP BY "Bstring"

Successfully run. Total query runtime: 26 min 7 secs. 101 rows affected.


0 1 2 3 4 5 6 7 8 ...11 12 13 14 15 ...23 24 25 26 27 ...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