Byly vyhlášeny výsledky The Game Awards 2024 (YouTube). Hrou roku se stal Astro Bot (YouTube) běžící pouze na PlayStation 5.
Na GOG.COM probíhá Winter Sale 2024. Při té příležitosti lze každý den do konce roku získat zdarma jinou počítačovou hru, viz kalendář uprostřed stránky Winter Sale 2024. Otevření balíčku se hrou vždy ve tři odpoledne. První hrou je The Whispered World: Special Edition.
Nezisková organizace Internet Security Research Group (ISRG) vydala Výroční zprávu za rok 2024 (pdf). Organizace stojí za certifikační autoritou Let's Encrypt, projektem Prossimo, jehož cílem je používání paměťově bezpečného kódu v kritické internetové infrastruktuře a službou Divvi Up řešící telemetrii respektující soukromí uživatelů.
Vývojáři PeerTube, tj. svobodné alternativy k videoplatformám velkých technologických společností, představili mobilní aplikaci PeerTube (Google Play, App Store). Zdrojové kódy jsou k dispozici na Framagitu.
Google představil Gemini 2.0, tj. novou verzi svého modelu umělé inteligence (YouTube).
Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.12. Přehled novinek i s náhledy a videi v oficiálním oznámení.
Byla vydána nová verze 3.27 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.6 souvisejícího programovacího jazyka Dart (Wikipedie).
Byla vydána (𝕏) listopadová aktualizace aneb nová verze 1.96 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.96 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
OpenMandriva ROME, tj. průběžně aktualizovaná (rolling) edice linuxové distribuce OpenMandriva, byla vydána ve verzi 24.12.
Navic mi jeden obchodnik vysvetloval, ze jadro u AMD odpovida hyper threadovanemu jadru od intelu.
Marketing AMD by si zasloužil pár facek. Zatímco Intel čím dál tím víc prosazuje HT jádro = jádro (takže pro některé lidi je i7 najednou osmijádro), tak AMD má skutečné osmijádro (8x všechny věci co dělají procesor procesorem - sada registrů, ALU apod.), a jen některé věci jsou sdílené (jako třeba FPU) mezi dvě jádra. Díky tomu, někteří říkají, že AMD osmijádro je vlastně čtyřjádro. Takže v paralelnosti vyhrává AMD.
Tolik jen pro vysvětlení.
Tobě byl pokles výkonu byl právě na tom, že jednu FPU plnily dvě CPU požadavky, ze floating SSE2 instrukci.To by vysvětlilo nezvýšení, ovšem ne pokles. Tohle vypadá na úlohu která visí na přístupech do paměti a spuštění dalších threadů způsobilo vypadávání dat ze sdílené cache.
V tomto případě se nejedná o typický paralelizovaný výpočet, ale o sadu několika set jednovláknových nezávislých výpočtů na více strojích. Pro účely benchmarku je výpočet s týmiž vstupními parametry spuštěn na jednom či více jádrech. Pro zajímavost přikládám tabulku:
+=========================+===========+=======+=======+=========+ | CPU | kmitočet | jader | užito | čas [s] | +=========================+===========+=======+=======+=========+ | Intel Core 2 Quad Q9550 | 2.83 GHz | 4 | 1 | 102 | | Intel Core i7 965 | 3.20 GHz | 4 | 1 | 77 | | | | | 4 | 79 | | AMD FX 8350 | 4.00 GHz | 8 | 1 | 74 | | Intel Core i5 4670K | 3.40 GHz | 4 | 1 | 56 | | | | 4 | 4 | 56 | +=========================+===========+=======+=======+=========+ | Intel Celeron 847 | 1.10 GHz | 2 | 1 | 222 | | | | | 2 | 223 | | Intel Celeron 1037 | 1.80 GHz | 2 | 1 | 123 | | | | | 2 | 157 | | Intel Atom D2500 | 1.86 GHz | 2 | 1 | 471 | | | | | 2 | 474 | +=========================+===========+=======+=======+=========+
Program je přeložen s 64bitovými instrukcemi a SSE2, což se jeví jako nejvýkonnější varianta z možností 32/64-bit a SSE2/387. Program nezpracovává velké objemy dat, velkou část operací tvoří výpočty v plovoucí desetinné čárce (integrace, maticové operace). Časy jsou hodnoty user
z příkazu time
. Program využívá rovněž disk, ale v malé míře.
Některé testy jsem nedělal, nebo se ztratily. Intel Core 2 Quad vykazuje přibližně stejné časy při zatížení jednoho či všech jader, nemá HT. Core i7 má HT, ale zatížení všech 8 virtuálních jader prodlouží dobu na přibližně dvojnásobek oproti využití jen 4 jader. AMD FX8350 při zatížení čtyř jader počítá téměř stejně dlouho jako při zatížení jen jediného, naproti při zatížení všech osmi jader se propadne někam na úroveň Core 2 Quad (odtud těch 30 až 40 % výše).
Podstatné pro mě je, že SSE instrukce vykonává stejná jednotka jako x87 instrukce, tj. FPU, což vysvětluje onen dramatický propad výkonu. Předpokládám, že při celočíselných operacích by byl rozdíl v časech zanedbatelný.
AMD FX8350 při zatížení čtyř jader počítá téměř stejně dlouho jako při zatížení jen jedinéhoCož je zvláštní samo o sobě, protože 4x je v tom procesoru opravdu všechno včetně FPU. Chyba bude někde jinde (možná se procesy hádají o cache, nebo jsou náročné na datovou propustnost apod.). Na druhou stranu i ten convert je v mém případě často rychlejší než disk, takže intenzivní proud mezi CPU a RAM probíhá též a i tak, když to má data v RAM, tak to jede výrazně rychleji než 1x nebo 4x.
FX 8350 125W, i5 4670K 84W.Obě hodnoty jsou teoretickým maximem, minimálně u FX8150 žere 125 W celý počítač (při zátěži), ne jen procesor.
std::set
na pole (pro OpenMP) se mi zatím nechtělo, natož pak jej převádět na Cudu…
Plánovač v Linuxu (v hostiteli) málokdy nechá jedno vlákno běžet na jednom CPU
Dá se nastavit affinita. (Stejně by mě zajímalo, zda to v normálním provozu přinese nějaký měřitelný přínos.)
Dá se nastavit affinitaTeď si nejsem jistej, jestli to KVM (QEMU) umí. Samozřejmě jde nastavit "zvenku" pomocí taskset, ale to je AFAIK jenom pro celý proces, ne pro jednotlivá vlákna. Jinak viz poslední větu v mém předchozím příspěvku.
také nelze tvrdit ... funguje tam částečné sdíleníKdyž to bereš takto, tak se můžeme bavit o tom, že každé multijádro je vlastně jednojádro, protože některé věci, které jsou sdílené, jsou tam jen jednou Multijádro je něco jiného než více procesorů, multijádro z principu bude něco sdílet napříč jádry. To ale nic neubírá na "multijádrovosti". Naopak i jednojádro může počítat více věcí současně (staré athlony uměly za určitých okolností (velikost operandu) počítat 4x integer současně, když jsem se díval na architekturu Zenu, tak tam je dokonce 6x integer per core (i když ty informace jsou zatím dost zmatené)). Dělá to z 32jádra (AMD Zen v plné polní) snad 192 jádro? Navíc každý procesor od 486 umí out of order execution, takže si ty instrukce přeskládá tak, aby se maximálně využily všechny interní jednotky. Takže ten cpu přirozeně počítá více instrukcí paralelně. (Jinak, pokud se rozhoří flame, tak to tady klidně usekni do vedlejší diskuse.)
Člověk si sice připlatí, ale má vyšší výkonMůžu si koupit šestnáctijádro od AMD, nebo si připlatím a dostanu šestijádro od Intelu... no, opravdu nevěřim tomu, že tím dostanu vyšší výkon.
Vyšší výkon a v burnu nižší spotřebu.Tvrdit můžete cokoliv, ale uvěřím tomu, až uvidím čísla.
Se podívej třeba na Intel Xeon E7 řadu, 18core CPU na 2,5GHz a k tomu HT a jsi na 36 logických CPU. Proti tomu máš AMD s 6300 serie, které je 16core = 16 logických. Stejné TDP, stejná frekvence, ale Intel bude ještě na jádro výkonnější.Za cenu toho CPU od Intelu můžu mít dvanáct šestnáctijádrových Opteronů. Opravdu nevěřím, že bych tím od Intelu dostal víc výkonu za stejné peníze, i když započítám místo v racku a spol. A výpočty wedosu jako argument fakt neberu.
Tiskni Sdílej: