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 05:55 | IT novinky

    Společnost OpenAI představila GPT-5 (YouTube).

    Ladislav Hagara | Komentářů: 0
    dnes 05:00 | Nová verze

    Byla vydána (𝕏) červencová aktualizace aneb nová verze 1.103 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.103 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 17:33 | IT novinky

    Americký prezident Donald Trump vyzval nového generálního ředitele firmy na výrobu čipů Intel, aby odstoupil. Prezident to zdůvodnil vazbami nového šéfa Lip-Bu Tana na čínské firmy.

    Ladislav Hagara | Komentářů: 6
    včera 16:55 | Nová verze

    Bylo vydáno Ubuntu 24.04.3 LTS, tj. třetí opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    včera 16:44 | Nová verze

    Byla vydána verze 1.89.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | IT novinky

    Americká technologická společnost Apple uskuteční v USA další investice ve výši sta miliard dolarů (2,1 bilionu korun). Oznámil to ve středu šéf firmy Tim Cook při setkání v Bílém domě s americkým prezidentem Donaldem Trumpem. Trump zároveň oznámil záměr zavést stoprocentní clo na polovodiče z dovozu.

    Ladislav Hagara | Komentářů: 4
    včera 04:55 | Nová verze

    Zálohovací server Proxmox Backup Server byl vydán v nové stabilní verzi 4.0. Založen je na Debianu 13 Trixie.

    Ladislav Hagara | Komentářů: 0
    6.8. 16:33 | Nová verze

    Byla vydána nová verze 1.54.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Jan Václav.

    Ladislav Hagara | Komentářů: 0
    6.8. 14:11 | IT novinky

    Knižní edice správce české národní domény přináší novou knihu zkušeného programátora Pavla Tišnovského s názvem Programovací jazyk Go. Publikace nabízí srozumitelný a prakticky zaměřený pohled na programování v tomto moderním jazyce. Nejedná se však o klasickou učebnici, ale spíše o průvodce pro vývojáře, kteří s Go začínají, nebo pro ty, kdo hledají odpovědi na konkrétní otázky či inspiraci k dalšímu objevování. Tištěná i digitální verze knihy je již nyní k dispozici u většiny knihkupců.

    Ladislav Hagara | Komentářů: 2
    6.8. 13:11 | IT novinky

    OpenAI zpřístupnila (en) nové nenáročné otevřené jazykové modely gpt-oss (gpt-oss-120b a gpt-oss-20b). Přístupné jsou pod licencí Apache 2.0.

    Ladislav Hagara | Komentářů: 5
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (43%)
     (22%)
     (4%)
     (6%)
     (3%)
     (1%)
     (1%)
     (19%)
    Celkem 289 hlasů
     Komentářů: 23, poslední 4.8. 13:01
    Rozcestník
    Štítky: není přiřazen žádný štítek


    Vložit další komentář
    wamba avatar 19.7. 12:23 wamba | skóre: 38 | blog: wamba
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Dá se s ní opravdu vyhrát, navíc Julia disponuje výkonnou knihovnou pro matematické programování JuMP, která výrazně usnadňuje formulaci a řešení optimalizačních úloh.
    using JuMP
    using HiGHS
    
    M = [0 8 2; 1 0 5; 1 4 0;;; 0 4 3; 9 0 4; 3 7 0;;; 0 1 2; 5 0 8; 2 2 0]
    
    model = Model( HiGHS.Optimizer)
    
    x= @variable(model, x[1:3,1:3,1:3] ≥ 0)
    @constraint(model, diagonal[i=1:3], sum(x[i,i,1:3]) == 0)
    from_c = @constraint(model, sum(x,dims=1) .== sum(M,dims=1))
    to_c   = @constraint(model, sum(x,dims=2) .== sum(M,dims=2))
    time   = @constraint(model, sum(x,dims=3) .== sum(M,dims=3))
    @objective(model, Min, sum(x .^2 ))
    
    optimize!(model)
    @show solution_summary(model)
    
    This would have been so hard to fix when you don't know that there is in fact an easy fix.
    20.7. 05:48 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Když už jsi zmínil ten Chapel, jak se na něho díváš?

    Já jsem kdysi koketoval s jeho předchůdcem, jazykem ZPL, na kterém si vyzkoušeli hlavní koncepty - regiony polí a další. Pak ty chlápky najal Cray, a začali vymýšlet nástupce ZPL - jazyk Chapel.

    ZPL: (https://en.wikipedia.org/wiki/Z-level_programming_language)

    Mám dojem, že by měli především udělat standard jazyka Chapel. Přestat ten jazyk neustále měnit.

    ---

    Jinak po světě je hodně exotických jazyků, a některé mi pro svou oblast použití nepřipadají úpně pitomé. Třeba jazyk ballerina. (https://ballerina.io/)
    21.7. 10:30 rad
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Faktom ale je, že práca s jednotkou je prirodzenejšia a hlavne nám to skracuje kód.
    Jestli je indexování pole od jedničky přirozenější je asi subjektivní, ale o tom, že to zkracuje kód bych dost pochyboval. Implementoval jsem relativně dost algoritmů pro práci s vícerozměrnými poli paralelně v Matlabu a Pythonu a v Matlabu furt někde honím jedničku.
    21.7. 14:09 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Zmiňovaný jazyk Chapel také zvolil, že bude indexovat pole od jedničky. Ale nedávno jim došlo, že je to idiotské, a tak udělali změnu - pole se defaultně indexuje od nuly.

    Chapel ale umožňuje explicitně zvolit jakoukoli dolní mez pole.
    21.7. 17:03 ...
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Jest-li to nebude tím že -

    Fortran - speciál na práci s maticemi - indexuje od 1 a nikdo s tím nemá problém.

    C-éčko - speciál na sepsání operačního systému (UNIX) - indexuje od nuly a nikdo s tím nemá problém.

    A s trochou rouhání - všechny ty nové jazyky jsou variací na C-éčko.

    22.7. 00:08 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Jestli to nebude tím, že buď se na pole díváte jako na počítačovou datovou strukturu - a pak se volí nula, a nebo jako na matematický tenzor - pak se volí jednička. Poměrně je dobře vidět, jestli autor programu byl spíše programátor nebo matematik.

    Jednou kecl jakýsi Dijkstra, že goto by mělo být zakázáno - a programovací jazyky se tím dost řídily. Než někoho napadlo, že když Dijkstra řekne skoč z okna, tak se nemusí poslechnout.

    Jednou kecl Dijkstra, že pole by se měla indexovat od nuly - a začalo se to šířit.

    Já bych neřekl, že nové jazyky jsou variací na Céčko. Hodně renesance zažívá algolská/pascalská syntaxe, a hodně se objevuje pythonovská syntaxe. Ovšem pokud lovíte pouze ve třech nejznámějších jazycích, pak máte pravdu.

    Reálně je pole obdoba podprogramu/funkce. Je to mapování n-tice hodnot na výslednou hodnotu. Funkce to dělá algoritmem, pole to dělá tabulkou hodnot - jinak je to to samé. Sám jsem používal pole jako mapovače hodnot snad miliardkrát.
    22.7. 07:28 plostenka | blog: plstnk
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Já bych neřekl, že nové jazyky jsou variací na Céčko.
    Ale jsou. Bud je to assembler s trochou syntaktickeho cukru (proc asi je "unsafe" v Rustu), nebo n-ta varianta LISPu. Ostatni inovativni pristupy se moc neuchytily, nebo je odval cas (treba Algol, nebo "pictures" v COBOLu a PL/1)...
    22.7. 09:15 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Mohu jen zopakovat to co jsem napsal: Pokud hledáte mezi třemi nejznámějšími programovacími jazyky, pak máte pravdu. Pokud byste dosáhl trochu dále, tak pravdu nemáte.

    Problém C/C++ jazyků je, že jsou debilní. Ano, jde v nich napsat vše, ale vždy se drbete pravou rukou za levým uchem. Všechno je neuvěřitelně ukecané, složité, neintuitivní. Například v těch jazycích de facto neexistuje ani pole, jen imitace pole slepovaná z ukazatelové aritmetiky, případně navíc jemně neuměle pozakrytá do šablon. Není tam ani slušná práce s textovými řetězci. Všechno je to jak od parního stroje za krále klacka, kdy máte dojem, že jste ve středověku, a uděláte 100 x víc práce než je nutné.

    My starší jsme zvyklí. Postupně jsme si zvykli na fakt, že C je debilní, ale cokoli adoptuje unix se uchytí bez ohleda na to, jak nekvalitní to je. C++ byl pokus udělat z toho lepší jazyk, ale chaotičností a ukecaností Stroustrupa se to moc nepovedlo. Jak šel čas, naše generace se učila postupně C a C++ věci jak přihcázely. Umíme v C/C++.

    Ale mladá generace není zatížená ani historií ani předsudky. Nechce, a já ji naprosto chápu, mít s C/C++ nic společného. Vidí ten chaos, vidí neefektivitu vývoje, vidí že ty jazyky programátorovi moc nepomáhají spíše mu překážejí, a chtějí lepší jazyk. Starší generace se pokusila o D, ale ten se logicky neujal. Mladí se pokusili o Rust, což je v podstatě symbol odporu. Můj názor je, že Rust je rozhodně krok dopředu, ale není to seriózní jazyk. Už jen to, že nemá standard ani ve "stabilní" verzi, neustále se mění - tak na něho nelze nic seriózního nakládat.

    Musí vymřít generace, která za svůj etalon považuje unix. Protože unix přinesl dobré, ale i velice špatné věci. Jako třeba jazyky C/C++. Dokud tady bude významné procento lidí s názorem, že "co unix dělá, dobře dělá" - bude situace ve známých programovacích jazycích špatná.
    24.7. 11:15 Miloslav Ponkrác
    Rozbalit Rozbalit vše C3
    Mimochodem, významně vylepšené C je zde
    21.7. 17:17 rad
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Chapel ale umožňuje explicitně zvolit jakoukoli dolní mez pole.
    To umí i Fortran, ale nijak extrémně užitečné mi to nepřijde. Napadá mě třeba symetrický index kolem nuly (nějaké FFT třeba) nebo snaha sladit zápis matematiky (např. při použití nějakých konkrétních polynomů). Ale spíš je v tom pak akorát bordel. Zas si ale člověk může změnit výchozí spodní mez z jedničky na nulu, takže je to vlastně fajn...
    22.7. 00:13 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Zrovna včera jsem si psal výpis float čísla ve dvojkové až šestnáctkové soustavě. Použil jsem toto pole pro použité konstanty:

    array[2..16] -> pár přesných konstant (log2(n), -logn(2));

    Nedávno zase normy pro dospělé lidi podle věku:

    array[18..120] -> ...
    22.7. 07:36 plostenka | blog: plstnk
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    array[18..120]
    Uzasny. Takze ti to rozbijou lidi soudem uznani za zletile, podobne az se nejaka baba dozije 120 (coz s rostouci delkou doziti muze klidne nastat, rekord je neco okolo 115).
    22.7. 09:18 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Chápu vaše myšlení sociálního inženýra, a snahy zbořit jakékoli limity.

    Toto byly lékařské tabulky dané věkem a fyziologií vývoje. Tam můžete pořádat demonstrace do alelůjá, ale protože nejste stvořitelem člověka ani ředitelem vesmíru, tak fyziologii člověka nezměníte.

    Můžete klidně kojence prohlásit za zletilého třeba mezinárodním soudem, ale pořád pro něho budou platit fyziologické tabulky pro kojence, nikoli pro 18leté.
    22.7. 11:42 plostenka | blog: plstnk
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Toto byly lékařské tabulky dané věkem a fyziologií vývoje.
    Tim spis se priroda nepta na papirove 18+.
    22.7. 09:26 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Nikdo se ještě nikdy 120 let nedožil, pokud se nefixlovalo.

    Každopádně protáhnout pole o 10 dalších prvků je to nejmenší. Je to ale k ničemu, protože na takový věk neseženete dostatek lidí, abyste vytvořil normu pro jejich věk. Reálně stejně děláte extrapolaci.

    Podstatou ovšem byla demonstrace užitečnosti volby dolní meze polí. Pole pak slouží jako přímé mapování věku (nebo číselné soustavy) na výslednou hodnotu. Takový kód je přehlednější. Mapovací funkci pole dělá kompilátor, a ne idiotsky programátor suplující špatně udělaný jazyk / kompilátor.
    22.7. 10:15 rad
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Takový kód je přehlednější.
    To je asi otázka názoru. Hlavně bude záležet na tom kdo a jak ten kód píše. A protože znám své kolegy, mám raději jazyky, které neumožňují být příliš kreativní...

    Tu motivaci ale pochopitelně chápu, ale jak píšete víše:
    ...Je to mapování n-tice hodnot na výslednou hodnotu. Funkce to dělá algoritmem, pole to dělá tabulkou hodnot - jinak je to to samé...
    Pro mě je indexování pole jakási low-level operace, pokud potřebuji nestandardní index, volím raději funkci. Ono u možnosti měnit spodní mez nemusíte chtít skončit. Třeba byste rád index, který se neinkrementuje o jedničku, či není lineární, motivace by se asi našla.

    Ale nemám pochopitelně nic proti tomu, aby to jazyk podporoval, zejména pokud to jeho uživatelé využívají.
    22.7. 10:45 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    V tom, že je potřeba špatným programátorům přistřihnout křídla, máte samozřejmě pravdu. Je třeba se přizpůsobit té které situaci.

    ***

    a) Já pole vnímám jako abstraktní datovou strukturu. Její síla je v tom, že 1) pole lze v dobrém jazyce používat jako zobrazení, 2) pole je vynikající nástroj pro paralelizaci a masivně-paralelní provádění kódu a výpočtů.

    b) Indexování jako low-level operace existuje. To je to, čemu se říká pointerová aritmetika. To není de facto pole, ale jen ukazatel na první prvek, a pak se posunujete pomocí offsetů. Není to pole, ale lze v případě nouze skrze pointerovou aritmetiku pole imitovat.

    Spravedlivě je třeba říci, že programovací jazyky s plnohodnotnými poli občas řeší, jak dosáhnout ad b). Tedy něco jako pointerové aritmetiky, ale s plnou kontrolou na poli včetně hlídání mezí a hromadný operací s hejnem prvků naráz. Většinou se na to vymýšlí něco jako "řezy polí".

    ***

    Index pole, který neinkrementuje o jedničku, je běžný.

    Třeba výše zmíněný jazyk Chapel umožňuje pole, jehož indexy je nějaká sekvence čísel. Třeba pole, které používá za indexy jen sudá čísla.

    Řada jazyků umožňuje děravé (sparse) pole. V matematice jsou sparse matice také běžné, je mnoho numerických a jiných algoritmů, které vytvářejí velmi řídké matice / tenzory. To jest samé nuly, a zřidkakde nějaké číslo.

    Podle toho, jak je jazyk schopný, může do indexu polí klidně zahrnout i neordinální typy - například pole, jejichž klíčem / indexem je textový řetězec nebo množinu prvků. I když u low level jazyků se taková pole nazývá asociativní nebo zobrazení nebo slovníky.

    22.7. 12:22 rad
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    V tom, že je potřeba špatným programátorům přistřihnout křídla, máte samozřejmě pravdu. Je třeba se přizpůsobit té které situaci.
    To se bohužel snadněji řekne, než udělá...

    Se zbytkem pochopitelně souhlasím snad jen s poznámkou, že řídká pole sice obsahují hromady nul, ale obsahují je, tzn. není to ekvivalentní poli, které ten index nemá vůbec (viz ten příklad sudých indexů). Sice netuším, jak jsou interně implementována, ale nějaký overhead tam bude muset být.

    Pokud jde o ta asociativní pole, tak přesně ta jsou podle mého názoru vhodná pro zobrazení/mapování netriviálních indexů. Pole jako taková mají podle mě uplatnění především tam, kde provádíte nějaké náročné operace na větším množství dat, kde – přesně, jak píšete – využijete s výhodou možnosti paralelizace. Alespoň tak to mám já. Pole je hromada dat, kterou je třeba zpracovat a index je více méně podružný, pro data, kde má index nějaký význam používám asociativní datové typy.
    23.7. 13:36 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Implementace běžných, řídkých a asociativních polí je / měla by být věcí kompilátoru programovacího jazyka. Liší se od sebe jen algoritmem mapovací funkce. Jinak jsou to zcela stejná pole hodnot, v paměti mapovaná většinou (nemusí být) jako lineární vektor.

    Programovací jazyk má mnohem více prostředků a informací, jak to udělat efektivně - pokud je to dobře navržený programovací jazyk. Bohužel moderní koncepce "programovací jazyk jako vykuchaná slepice bez drůbků, a vše dohánět knihovnami" nemumožňuje nic než low level strojové programování.

    Právě schopnost masivní paralelizace polních operací dala vzniknout tzv. array jazykům. Tam ale na mapovací funkci příliš nezáleží, pokud se to udělá dobře. (https://en.wikipedia.org/wiki/Array_programming)

    To byl právě důvod vzniku jazyků jako je autorem zmíněný Chapel. Možnost rozdělit pole do regionů, a každý region nechat zpracovávat třeba i na jiném počítače - aniž by se tím musel programátor zabývat a řešit to. Nebo předepsat takovou reprezentaci pole, jaká se pro paralelení výpočty hodila nejvíce. To je gró a podstata, proč vznikl jazyk Chapel.

    Nemám co rozporovat z toho co jste napsal. Souhlasíme spolu. Jen zdůrazňuji, že je rozdíl mezi "vektorem hodnot s pointerovou aritmetikou" a plnohodnotným polem.

    25.7. 15:23 Radovan
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Chapel ale umožňuje explicitně zvolit jakoukoli dolní mez pole.
    Pascal také, ale lidé se do něj moc nehrnou. To je škoda, odnaučili by se dělat spoustu blbostí ;-)

    A co se C týče: int array[201]={0}, *teplota=&array[100];
    26.7. 12:13 Miloslav Ponkrác
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Pascal byl stvořen jako učební jazyk. Pro praktické použití mu pár maličkostí schází. Ale jinak to byl geniálně navržený jazyk s mnoha abstraktními datovými strukturami, a programovalo se v něm velice dobře.

    Jeho autor, Niklaus Wirth, dokonce vydal verzi Pascalu chodící nad virtuálním strojem. Tedy udělal Pascal snadno široce přenositelný na mnoho různých platforem a operačních systémů. Tím se mu podařilo dosáhnout fenomenálního rozšíření Pascalu. (K dohledání přenositelný P4 Pascal běžící nad p-kódem třeba zde.)

    Pro praxi Wirth udělal jazyky Modula-3 (generické programování, objektové programování, thready, výjimky, garbage collector) a Oberon. Oba jazyky jsou také pro systémové programování, a v obou jazycích byly napsány i celé operační systémy. Operační systém Oberon napsaný v programovacím jazyce Oberon měl dokonce velice kvalitní a pěkné GUI (knihovna pro GUI se jmenovala BlueBottle).

    Po jazyce Oberon udělal Wirth jeho následníka - Component Pascal. Ten navíc uměl komponenty, což jsou sdílené knihovny objektů a modulů, ale nikoli hloupé DLL nebo SO, ale plnohodnotné objekty s celým rozhraním. Dnes by se řeklo, že jde o object request broker, něco jako CORBA nebo COM/DCOM na Windows. V podstatě se schopností distribuovaného systému schopného běžet na více počítačích v síti a běžících jako jeden program.

    4.8. 13:51 Erlang Developer
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    Pascal pro praxi byl Delphi (Object Pascal) ne? Urcitou dobu byl velmi oblibeny pro GUI Windows aplikace...
    6.8. 14:01 Ondřej J | skóre: 3
    Rozbalit Rozbalit vše Re: Jazyk Julia pre HPC
    V Delphi se dokonce vyvíjí dodnes.

    A úspěšná česká hra HROT je taky napsána v Pascalu koplet, včetně engine.

    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.