abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 02:44 | IT novinky

    Ve spolupráci společností OpenAI a Work Louder byla představena (𝕏) hardwarová klávesnice Codex Micro pro práci s AI agenty. Cena klávesnice je 230 dolarů.

    Ladislav Hagara | Komentářů: 0
    včera 20:00 | Nová verze

    Byl vydán Mozilla Firefox 153.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 153 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | Bezpečnostní upozornění Ladislav Hagara | Komentářů: 7
    včera 13:11 | Nová verze

    Byla vydána nová verze 5.44 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 71 vývojářů. Změněno bylo přibližně 270 tisíc řádků v 1 300 souborech. Přehled novinek a změn v podrobném seznamu.

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | Pozvánky

    Na 23. září 2026 je do bratislavské Nové Cvernovky naplánovaná jednodenní konference #nobullshit.camp pro tech leadery, DevOps a platform inženýry. Mají tu zaznít upřímné příběhy z praxe o tom, co v produkčních systémech reálně fungovalo, co se pokazilo a co si z toho lidé odnesli. Témata pokrývají tři oblasti – DevOps a platformy (Kubernetes, cloud, provoz systémů), firemní kulturu a leadership. Program běží ve dvou formátech: hlavní

    … více »
    alian | Komentářů: 0
    včera 03:44 | Nová verze

    Byla vydána nová verze 1.58 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Josephine Pfeiffer. Vypíchnout lze možnost nmtui zobrazit nastavení Wi-Fi jako QR kód nebo podporu CLAT (464XLAT) a tunelů GENEVE (Generic Network Virtualization Encapsulation).

    Ladislav Hagara | Komentářů: 0
    20.7. 20:22 | IT novinky

    Zákaz používání mobilních telefonů a dalších elektronických komunikačních zařízení ve školách, jehož uzákonění navrhli jako poslanci premiér Andrej Babiš (ANO) a ministr školství Robert Plaga (za ANO), dnes podle očekávání vláda podpořila. Novinářům to oznámil Babiš, podle Plagy byla podpora kabinetu jednomyslná. Účinnost předkladatelé navrhují od 1. září 2027. Podle opoziční ODS je plošný zákaz líbivé populistické opatření namířené proti digitální gramotnosti dětí.

    Ladislav Hagara | Komentářů: 10
    20.7. 19:33 | Bezpečnostní upozornění

    Vládní CERT upozorňuje (𝕏) na zranitelnost ve WordPress Core: CVE-2026-63030 s přezdívkou wp2shell. Zranitelnost typu vzdálené spuštění kódu (RCE) bez nutnosti autentizace umožňuje útočníkovi spouštět libovolný kód prostřednictvím endpointu WordPress REST API Batch. Ke zneužití není vyžadován platný uživatelský účet ani interakce uživatele. Úspěšné zneužití může vést ke kompletnímu kompromitování webové stránky a souvisejících dat. Zranitelnost postihuje verze WordPress 6.9.0 až 6.9.4 a 7.0.0 až 7.0.1.

    Ladislav Hagara | Komentářů: 0
    20.7. 18:11 | IT novinky

    Evropská komise (EK) vyměřila čínskému internetovému prodejci AliExpress pokutu 550 milionů eur (13,3 miliardy korun) za porušení povinností vyplývajících z nařízení o digitálních službách (DSA). Platforma podle EK řádně neposuzovala a neomezovala rizika související s prodejem nelegálních, nebezpečných nebo padělaných výrobků na svém internetovém tržišti. Komise zároveň firmě nařídila přijmout nápravná opatření. Podle AliExpressu je pokuta nepřiměřená.

    Ladislav Hagara | Komentářů: 18
    20.7. 12:22 | Nová verze

    Ruffle, tj. open source emulátor Flash Playeru napsaný v Rustu, byl vydán ve verzi 0.4.0. Ke stažení je také na Flathubu. Přímo ve webovém prohlížeči lze vyzkoušet online dema nebo vlastní swf soubory.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (7%)
     (2%)
     (17%)
     (30%)
     (5%)
     (6%)
     (2%)
     (15%)
     (24%)
    Celkem 2196 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.

    31.3.2014 20:04 gld17 | skóre: 4 | blog: GLDiuv_blog
    C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Přečteno: 950×
    Zdravim,

    chtel bych se zeptat, zda-li nevite o nejake knihovne, ktera by pocitala sqrt treba s presnosti jen na tri desetinna mista (slo by to napsat ale chci optimalizovanou), potreboval bych udelat takovou jednoduchou analyzu obrazu ktera se bude delat na Raspberry Pi (bude slouzit pro pristani koptery do doku) a premyslim jak to udelat co nejmin narocne aby to vubec stacilo.

    Je to moje diplomka a pouzit jen priblizne hodnoty sqrt mi prijde jako dost dobry napad ktery by usetril dost casu, protoze stejne bych vetsi presnost nevyuzil (math.h vraci normalne double).

    Jinak bych si asi zkusil napsat sam nejaky assemblerovsky kod na to, cimz bych urcite zapusobil na porotu :D

    Řešení dotazu:


    Odpovědi

    Josef Kufner avatar 31.3.2014 21:10 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Podíval jsi se profilerem, že to drhne opravdu tam, kde si myslíš, že to drhne?
    Hello world ! Segmentation fault (core dumped)
    31.3.2014 21:34 gld17 | skóre: 4 | blog: GLDiuv_blog
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Diky za tip, zkusim to udelat, ale zatim tuhle cast jeste nedelam, nejsem tak daleko. Ptam se preventivne a informativne.
    1.4.2014 12:43 jake
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    v tom pripade bych to videl na predcasnou optimalizaci
    1.4.2014 12:57 gld17 | skóre: 4 | blog: GLDiuv_blog
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    nevim jak ty, ale ja, narozdil od tebe, vim diky svemu zalozenemu tematu o tomto vypoctu odmocniny: https://en.wikipedia.org/wiki/Fast_inverse_square_root#Overview_of_the_code

    Takze ses jen dalsi neprihlaseny brblal.
    rADOn avatar 1.4.2014 17:06 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Tim "narozdil" bych si nebyl byt tebou tak jistej, to to co jsi objevil je legendarni a dobre znamej hack. Kdyz budes patrat dal tak se da najit i rozhovor s Carmackem kde (krome popreni otcovstvi) celkem jasne rekl ze dnes uz je blbost takovy vylomeniny delat.

    BTW Jestli te zacaly bavit prekomplikovany optimalizace tak pogoogli termin "duff's device", to se ti bude libit. Zadnej z (nezasvecenych) ceckaru v praci nebyl schopnej rict jestli je to legalni C kod :-)
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    stativ avatar 1.4.2014 18:58 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Nejenom, že je to dobře známé, ale výkonově už je to k ničemu. Tedy většinou. Je to asi tak dva roky zpátky, kdy jsem potřeboval normalizovat hodně vektorů, tak jsem zkoušel různé přístupy a fast inverse square root byla v C několikanásobně pomalejší než knihovní funkce. A o řád pomalejší než SSE intrinsics. Co bylo zajímavé, tak v C# byl, pokud se dobře pamatuji, fast inverse srovnatelný s knihovní funkcí. SSE pak bylo kvůli přepínání do unmanaged módu očekávaně nejpomalejší.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    2.4.2014 23:03 jake
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    brblal? mas nejakej komplex? ... resit rychlost vypoctu odmocniny v tehle fazi vyvoje, ve ktere jsi, je proste nesmysl - az ti to pobezi a vykonove to nebude dostatecny, tak pak teprve hledej, kde tomu pomuzes, do ty dobe je tohle ztrata casu ... ale tak je to tvuj cas, ze jo ... JFYI tenhle "Cormackuv" trik zna fakt asi kazdej, tedy i ja - ale jo, ses borec, ze to znas taky ;-)
    31.3.2014 23:10 axel
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Zdravim, Jinak bych si asi zkusil napsat sam nejaky assemblerovsky kod na to, cimz bych urcite zapusobil na porotu :D
    Nepochybuju o tom, ze tvuj kod v assembleru bude radove vykonnejsi, nez knihovni funkce. Zabyvat se podobnou - podle mne nesmyslnou - uvahou o optimalizci vypoctu odmocniny v kontextu programu na rizeni koptery je ucebnicovy priklad uviznuti v detailu, ktery na porotu jiste zapusobi, mozna ale ne tim zpusobem, ktery ocekavas. Naprogramuj to s knihovni funkci, profiluj, a pak pripadne optimalizuj.
    31.3.2014 23:17 gld17 | skóre: 4 | blog: GLDiuv_blog
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Beru to s rezervou. O vasi schopnosi pochopit moznosti takove knihovny a to nejen v kontextu s moji kopterou, nepochybuji.

    Ocividne jste analyzu obrazu nikdy nedelal a nevite, jak dlouho to trva a na cem to vazne.
    stativ avatar 1.4.2014 13:10 stativ | skóre: 54 | blog: SlaNé roury
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Ocividne jste analyzu obrazu nikdy nedelal a nevite, jak dlouho to trva a na cem to vazne.
    Mě přijde, že vy na tom nejste o moc lépe. Nevím, co konkrétně tam řešíte, ale pokud jde o rychlost výpočtu, tak se spousta věcí dá řešit pomocí lookup tabulek, pro float vstup se pak dá použít lineární interpolace hodnot z tabulky. Ale na samotné sqrt, sin aj. se to skoro určitě nevyplatí, protože HW implementace často nějakou formu LUT používá. Pokud ale výpočet jde sloučit do nějakého black boxu „hodím dovnitř číslo/čísla, vyhodí to výsledek“ a vstup je nějak rozumně omezen, tak je LUT většinou dobrá volba. Tabulka může být i vícerozměrná, ale její velikost je pak mnohem větší a chce si to opravdu dávat pozor na to, jestli její použití kvůli případným cache misses nebude pomalejší než to počítat normálně.

    Další věc je, že jít do assembleru se většinou vyplatí jen v případě, kdy se problém dá dobře řešit pomocí SIMD instrukcí, což je k ničemu, protože RPi nemá NEON. Mnohem víc se získá upravením algoritmu (něco různě ošidit a podobně). Třeba u analýzy obrazu se často dá dobře využít časové koherence a počítat jen změny.
    Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
    Josef Kufner avatar 31.3.2014 23:51 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Nepochybuju o tom, ze tvuj kod v assembleru bude radove vykonnejsi, nez knihovni funkce.
    Jsem si celkem jist, že tomu bude naopak. Leda by využil specifických podmínek daných konkrétním problémem. Ale to je problém spíš matematický, než programovací. Tady je lepší se zamyslet nad nahrazením pomalých operací něčím jiným – předpočítané tabulky, aproximace polynomem, kešování mezivýsledků, …

    Taková předpočítaná tabulka hodnot často používaných vzorečků by mohla hodně pomoct. Pokud má málo významných číslic, je použité množství paměti celkem malé. Například tabulka 11bit int na 16bit int zabere 4KB, což se při troše štěstí vejde do L1 cache.

    Další a mnohem zajímavější možností je použít grafický čip k výpočtům. Nevím jak moc Malina podporuje OpenCL, ale možná by jsi mohl aspoň něco implementovat pomocí shaderů.
    Hello world ! Segmentation fault (core dumped)
    Jendа avatar 1.4.2014 00:41 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Nevím jak moc Malina podporuje OpenCL
    Myslím, že vůbec. A i kdyby, tak než se dočká výsledku z OpenCL, tak mu to spadne :) (musí počítat víc věcí paralelně a je tam laaaaaag)

    Já myslím, že pokud má problém řídit quadcopteru s takto výkonným procesorem, chyba bude jinde než v pomalém počítání odmocnin a trigonometrie. Jsou i elektroniky s 8bit AVR na 24 MHz a funguje to.
    Jendа avatar 1.4.2014 00:43 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Aha, už vidím, jde o analýzu obrazu. Zkusil bych to naprogramovat co nejvíc celočíselně.
    Řešení 1× (stativ)
    Jendа avatar 1.4.2014 00:33 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    RPi má hardwarovou FPU. Pokud nebudeš dělat ve svém algoritmu nějaké šílenosti typu bitslicing (to si u floating-point operací nedokážu představit), myslím, že HW FPU nemáš šanci předehnat.

    Nevím, jak dlouho trvá na FPU v ARMu běžná operace, ale když to porovnáš s takovýmito šílenostmi, ten shift, odečtení a několik násobení asi vyjde hůř.
    1.4.2014 13:01 potato
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Rozdíl mezi elementární operací a speciální funkcí na FPU je pořád asi tak řád, takže šílenosti jsou rychlejší, byť zrovna sqrt patří spíš mezi rychlé speciální funkce. Ostatně, vyzkoušej...
    4.4.2014 12:46 Logik
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Řád? Takže máš na spočítání odmocniny, aby se vůbec vyplatilo ji aproximovat, cca 5 instrukcí....

    Jendа avatar 4.4.2014 13:58 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Tak floatová odmocnina je u mě 10x pomalejší než ten bitshiftový odhad odkazovaný níže. A inverse square root je 2x pomalejší než ten z Quake (nemám pro to instrukci, dělám vsqrt a vdiv).
    2.4.2014 22:00 Ivan
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Kdysi davno jsem prochazel knizku (anebo knihovnu) ktera se jmenova nejak jako "Numerical recipies in C++". Tak se daly najit naprosty silenosti, ktery normalni clovek nevymysli. Neco z toho se urcite pouziva jeste dneska.
    2.4.2014 22:32 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Tak to je naprosto jasné. Algoritmizace, numerická matematika a aproximace, má za sebou desítky let vědeckého vývoje. V současnosti je už pokrok na mnoha místech malý, protože u mnoha algoritmů je dokázáno, že lepší konvergence/optimalizace už být nemůže. Mnoho knihoven zůstalo komerčních jako např. FORTRANská knihovna IMSL, kterou jsem používal někdy koncem 80 let. Právě FORTRAN je příklad jazyka, který skoro nic nekontroluje a provádí jen nezbytné operace. Triviální příklad pro algoritmizaci je aproximace funkce. Matematicky zřejmé je to Taylorovým rozvojem. Hodně nezřejmé, ale místo Taylora z nějakého jednoduchého počátku je aproximace po částech s různými počátky a okolími konvergentní mnohem rychleji. Vymyslet se to samozřejmě dá, ale člověk musí mít silný matematický background.
    DaBler avatar 3.4.2014 09:56 DaBler | skóre: 17 | blog: dabler | Brno
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Pokud potřebuješ odmocninu √x a ne 1/√x, tak doporučuji tento trik:

    http://bits.stephan-brumme.com/squareRoot.html

    Nezkoušel jsem to na Raspberry Pi, ale na mém Intel Core2 je rychlejší než knihovní funkce sqrtf.
    4.4.2014 12:39 TrSek
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Hrozne nepresne. Pisou ze +/- 5% ale co jsem testoval ja tak klidne i 12%.
    Jendа avatar 4.4.2014 14:14 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Přílohy:
    Pro malá čísla se to nehodí, pak to ale začne být docela hezké.
    Jendа avatar 4.4.2014 14:29 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Přílohy:
    Napadlo mě, že by nebyl špatný nápad normalizovat to přes velikost výsledku, ne přes to původní číslo :-). To už vypadá hůř (a realističtěji).
    DaBler avatar 4.4.2014 17:36 DaBler | skóre: 17 | blog: dabler | Brno
    Rozbalit Rozbalit vše Re: C++ Knihovna pro priblizne matematicke vypocty - sqrt, sin, csin apod.
    Pokud jde o přesnost více než o rychlost, můžete k výpočtu odmocniny použít inverzní odmocninu zmíněnou výše:

    1.f/Q_rsqrt(x)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.