Upozornění pro uživatele Asahi Linuxu: Neaktualizujte macOS na verzi 27 Golden Gate! Apple změnil detekci spouštěcích oddílů. Po aktualizaci oddíl s Asahi Linuxem nevidí. Snad je to jenom chyba.
Na webu konference Den IPv6, která se konala 4. června v Národní technické knihovně v pražských Dejvicích, jsou nyní k dispozici všechny prezentace (v PDF) a jejich videozáznamy. Organizátory konference byly i letos sdružení CESNET, CZ.NIC a NIX.CZ.
Byla vydána nová verze 9.1.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Vypíchnout lze vylepšené vyhledávání nebo podporu Pixel Motion Photos. Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 3. a 4. října na FIT ČVUT v pražských Dejvicích. Příjem témat poběží do konce prázdnin, pak proběhne veřejné hlasování a následně sestavení programu.
Byla vydána nová verze 2.4.68 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 13 zranitelností.
Apple na své vývojářské konferenci WWDC26 (Worldwide Developers Conference, keynote) představil řadu novinek. Vypíchnout lze novou generaci Apple Intelligence a zbrusu novou Siri, která dostala název Siri AI. Kvůli Aktu o digitálních trzích (DMA) však funkce Siri AI nebudou v systémech iOS 27 a iPadOS 27 k dispozici uživatelům v Evropské unii.
Byla vydána nová verze 1.18.0 distribučního frameworku Flatpak (Wikipedie), tj. technologie umožňující distribuovat aplikace v podobě jednoho instalačního souboru na různé linuxové distribuce a jejich různá vydání. Přehled novinek na GitHubu. Vypíchnout lze podporu rozhraní /dev/kfd pro výpočty na kartách AMD (AMDKFD).
aMule (Wikipedie), tj. multiplatformní klient pro peer-to-peer sdílení souborů pro sítě eD2k and Kademlia, byl po více než pěti letech od vydání poslední verze 2.3.3, vydán v nové major verzi 3.0.0 (GitHub). S novou webovou stránkou a dokumentací.
Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 29. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.
Evropská komise předložila evropský balíček pro technologickou suverenitu, tedy soubor opatření, která mají posílit kapacity EU v oblasti polovodičů, umělé inteligence, cloudu a open source. To Evropě pomůže stát se lídrem v oblasti umělé inteligence, posílit její digitální autonomii a vytvářet podmínky pro udržitelnější digitální budoucnost.
Speciální zájmová skupina věnovaná programovacím jazykům (SIGPLAN, Special Interest Group on Programming Languages) Asociace pro výpočetní techniku (ACM, Association for Computing Machinery) vyhlásila na slavnostním ceremoniálu v rámci konference PLDI 2014 vítěze letošní Programming Languages Software Award. Ocenění získal projekt GNU Compiler Collection (GCC).
Tiskni
Sdílej:
Třeba násobení matic přeložené g++ běželo 64 sekund, ale verze kompilovaná icc běžela pouhých 0.85 sekund.Tak tohle vypadá jako problém, který by zasloužil podrobnější diagnózu. ICC má možná (nevím...) o něco lepší autovectorizer, ale tohle zní jako patologický případ, nemyslíte? (Zkoušel jste to disassemblovat?)
ICC by default uses a ‘fast-math’ like mode.
-floop-interchange?
Ve všech banchmarkách je ale gcc za msvc. Intel je zase vždy rychlejší, než msvc, a v krajním případě i dvojnásobně – měřeno průměrnými benchmarky.Pozor, tohle je dost zkreslené použitou sadou benchmarků. O ICC se tuší, že jejich vývojový tým tráví obrovské množství času optimalizováním překladu standardních benchmarků, takže na reálných programech dopadne srovnání překladačů často jinak, zvlášť pokud nekompilujete pro procesor od Intelu, ale od AMD :) Mé osobní testy naznačují, že ICC je sice hodně dobré, ale že GCC ho v mnoha konkrétních případech předhoní. Zejména díky globálním optimalizacím, ve kterých se GCC za posledních pár let výrazně zlepšilo.
By design má clang limitovánu rychlost výsledné binárky.Jak konkretne?
clang++ 3.4.1 : 1.84s g++ 4.7.3 : 2.60s icc 13.1.3 : 4.83sVe všech případech byl kód přeložen s parametry
-O3 -march=native (pro Core i7 3630QM).
Rychlost překladu je nepřímo úměrná kvalitě kódu. Proto defaultně dobré kompilátory moc neoptimalizují.Jinak doufám, že si s touto větou děláte srandu. Jako vtip je to dobré.
-ipo? U icc 14.0.3 to stáhne na nějakých pět sekund. U té starší verze jsem nepozoroval rozdíl.
A pak záleží na vyjadřovací síle toho mezijazyka, jestli vymáčknutelné maximum při optimalizace je o hodně horší, nebo jen mírně nižší, než u kompilátorů, které toto nedělají.LLVM i GCC pouzivaji IR zalozenou na SSA, ergo jejich moznosti optimalizovat jsou +/- stejne. IMHO kvalita vystupniho kodu je spis dana poctem clovekohodin, ktere byly do toho ktereho prekladace vlozeny.
Znovu zopakuji klíčový termín z toho, co jsem napsal: „pevně definovaný mezijazyk“.Uvedomte si, ze vase tvrzeni o nevhodnosti pevne dane IR jsou jen vase domenky, ktere vydavate za fakt. Ve skutecnosti IR LLVM je mnohem expresivnejsi nez v pripade GCC.
nepočítačový člověk jasně chápeTakto to chape asi nepocitacovy clovek. Nicmene realita je malinko jina, protoze i IR v GCC je de facto pevne dana (jen to mozna nevite), takze tady popirate vlastne sam sebe. Pocitacovy clovek vi, ze k ziskani dobreho vysledku jsou dulezite datove struktury a s nimi pracujici algoritmy. Jelikoz v LLVM i GCC se pouziva reprezentace zalozena na SSA, mnozina pouzitelnych optimalizacnich algoritmu je stejna.
clang/llvm má pvně daný mezijazyk přímo jako součást standardu projektu. Když zjistíte jeho nedostatky, vylepšovat ho budete těžko.Kdyz se zjisti nedostatky v pripade IR u LLVM, tak se zmeni IR a vyda se nova verze a budou se muset upravit vsechny front-endy. Kdyz se zjisti nedostatky v pripade IR u GCC, tak se zmeni IR a vyda se nova verze a budou se muset upravit vsechny front-endy. Nejdete deset rozdilu.
Kromě toho, RTL v gcc je zaměřen na to, aby byl blízko strojového kódu, tedy co nejlépe optimalizovatlenýUz jsme doma! Vite, pise se rok 2014 a GCC vypada uplne jinak, nez v minulem stoleti.
Stejně tak stačí mezijazyky porovnat, trváte-li na tom: https://gcc.gnu.org/onlinedocs/gccint/RTL.htmlBylo by dobre podivat se o kapitolu vys: https://gcc.gnu.org/onlinedocs/gccint/Tree-SSA.html#Tree-SSA Ale ja vam to vysvetlim, at se tu priste neztrapnujete: Kod je prolozen do interni reprezentace, ktera se oznacuje jako (GENERIC/GIMPLE), ktera je naprosto nezavisla na jazyku i cilove platforme (stejne jako v pripade LLVM), nad tim se dela spoooousta optimalizaci a pak je prelozena do RTL a az z toho se generuje binarka.
Llvm má v zásadě úplně stejnou konmcepci jako .NET nebo Java.To je fakt hodne prehnane pripodoneni.
llvm má mezijazyk jako standarndí rozhraní a jako jeden jazyk, který můžete používaLLVM ... odpovida back-endu gcc, clang ... front-endu v gcc. V cem je problem?
optimalizace je druhořadá při návrhu toho mezijazyka.Zajimave... a pritom LLVM vzniklo puvodne jako vyzkumny projekt zamereny na optimalizace....
Gcc, bez ohledu na to, co je v něm DNES, nemá pevně daný mezijazyk.Aha, a GENERIC+GIMPLE se mažou na chleba, že...
Ještě by se dalo dodat, že kdyby llvm architektura umožňovala lepší optimalizaci, tak už jí šupito presto začne používat jak Intel, tak Microsoft. Ale oni nemají tendenci se jí inspirovat a dobře vědí proč.Jako by se stalo. :-]] Ve skutecnosti GCC s verzi 4.0 presel na architekturu, ktera odpovida LLVM.
Vidíte, dáváte mi zcela zapravdu.Ne.
Když ho bude chtít změnit, tak jedině tak, že llvm jako projekt zanikne jako celek. A pojede se od nuly jinde.Tohle je falesna dichotomie.
Já sice chápu, že deda.jablko mě osobně nesnáší,To je nesmysl. Ve skutecnosti jste mi uplne lhostejny.
), ale nepoužívá GCC více mezijazyků už teď, čistě proto, že na různých mezijazycích se jednotlivé optimalizace dělají různě efektivně?