UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-2.0 a 24.04-1.4. Nová verze 24.04-2.0 již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.
Byly zveřejněny informace o kritické zranitelnosti CVE-2026-64600 pojmenované RefluXFS (technické detaily) v XFS. Je tam již od verze Linuxu 4.11, tj. rok 2017. Jedná se o lokální eskalaci práv. Neprivilegovaný uživatel může editovat libovolný soubor, například klidně zrušit rootovské heslo v /etc/passwd. Videoukázka na Vimeo. V upstreamu je zranitelnost opravena.
OpenAI / ChatGPT má dnes výpadky (OpenAI Status, DownDetector).
Poskytovatel hostingu svobodných/open-source projektů Codeberg po hlasování na valné hromadě vydal stanovisko k využívání LLM. Kvůli vytěžování infrastruktury a rostoucím cenám hardwaru, ale také hrozbám pro spolupráci v komunitě se k LLM staví kriticky. Nebude poskytovat hosting projektů vytvářených LLM agenty.
Jack Dorsey představil (𝕏) open source týmovou komunikační platformu Buzz (GitHub) s cílem snížit závislost na Slacku a GitHubu.
Poštovní klient Thunderbird byl vydán v nové verzi 153 s kódovým názvem Meadow. Jedná se o ESR (Extended Support Release) vydání. Přehled novinek v poznámkách k vydání. Vylepšuje OAuth. Thundermail lze používat bez instalace doplňku.
AI tento rok naplno vtrhla do vývoje softwaru a výrazně ovlivňuje také open source projekty. Jiří Eischmann v příspěvku Jak mění AI open source na svém blogu rozebírá několik trendů, které v open source v poslední době v souvislosti s AI pozoruje, a jak tyto trendy svět otevřeného softwaru mění (Inflace projektů, Zahlcení kontroly, Klesající motivace zveřejňovat kód).
Evropská komise (EK) vyměřila americké internetové společnosti Google pokutu 890 milionů eur (21,5 miliardy Kč) za porušení unijního nařízení o digitálních trzích (DMA). Firma se podle unijní exekutivy provinila tím, že ve vyhledávači Google Search upřednostňovala vlastní služby a že podnikům ukládala omezení, která jim bránila nasměrovat spotřebitele k alternativním, často levnějším nákupním kanálům na platformě Google Play.
… více »Samsung na akci Galaxy Unpacked July 2026 (YouTube) představil své nové telefony Galaxy Z Fold8 Ultra, Fold8 a Flip8, hodinky Galaxy Watch Ultra2 a Watch9 a chytré brýle ve spolupráci s Gentle Monster a Warby Parker.
Po pěti letech vývoje vyšla česká počítačová hra Scarlet Deer Inn (ProtonDB). Scarlet Deer Inn je vyšívaná temná středověká pohádka. Zatímco život ve zdánlivě obyčejné vesnici se točí kolem běžných povinností a sousedských drbů, v podzemí se skrývají zlověstná tajemství.
double a[3], b[3], c[3]; [...] c[0]=a[0]*b[0]; c[1]=a[1]*b[1]; c[2]=a[2]*b[2];dokáže to gcc optimalizovat a použít na to vektorový součin (MULPD) místo jednotlivých násobení? Díky.
-mfpmath=sse -msse -msse2 by to mohlo dělat gcc samo, ne?
$ gcc -ggdb3 -O3 -march=pentium4 -mfpmath=sse,387 -msse -msse2 -msse3 sse1.c -o sse1
$ objdump -d -S sse1
[...]
08048354 |main|:
#include|stdio.h|
int main(void){
8048354: 8d 4c 24 04 lea 0x4(%esp),%ecx
8048358: 83 e4 f0 and $0xfffffff0,%esp
804835b: ff 71 fc pushl 0xfffffffc(%ecx)
804835e: 55 push %ebp
804835f: 89 e5 mov %esp,%ebp
8048361: 51 push %ecx
8048362: 83 ec 54 sub $0x54,%esp
volatile double a[3], b[3];
double c[3];
a[0]=.5; a[1]=.5; a[2]=.5;
8048365: f2 0f 10 05 c0 84 04 movsd 0x80484c0,%xmm0
804836c: 08
804836d: f2 0f 11 45 e0 movsd %xmm0,0xffffffe0(%ebp)
8048372: f2 0f 11 45 e8 movsd %xmm0,0xffffffe8(%ebp)
8048377: f2 0f 11 45 f0 movsd %xmm0,0xfffffff0(%ebp)
b[0]=.5; b[1]=.5; b[2]=.5;
804837c: f2 0f 11 45 c8 movsd %xmm0,0xffffffc8(%ebp)
8048381: f2 0f 11 45 d0 movsd %xmm0,0xffffffd0(%ebp)
8048386: f2 0f 11 45 d8 movsd %xmm0,0xffffffd8(%ebp)
c[0]=a[0]*b[0]; c[1]=a[1]*b[1]; c[2]=a[2]*b[2];
804838b: f2 0f 10 5d e0 movsd 0xffffffe0(%ebp),%xmm3
8048390: f2 0f 10 6d c8 movsd 0xffffffc8(%ebp),%xmm5
8048395: f2 0f 10 55 e8 movsd 0xffffffe8(%ebp),%xmm2
804839a: f2 0f 10 65 d0 movsd 0xffffffd0(%ebp),%xmm4
804839f: f2 0f 10 45 f0 movsd 0xfffffff0(%ebp),%xmm0
80483a4: f2 0f 10 4d d8 movsd 0xffffffd8(%ebp),%xmm1
printf("c=%g,%g,%g\n",c[0],c[1],c[2]);
80483a9: f2 0f 59 c1 mulsd %xmm1,%xmm0
80483ad: f2 0f 11 44 24 14 movsd %xmm0,0x14(%esp)
80483b3: f2 0f 59 d4 mulsd %xmm4,%xmm2
80483b7: f2 0f 11 54 24 0c movsd %xmm2,0xc(%esp)
80483bd: f2 0f 59 dd mulsd %xmm5,%xmm3
80483c1: f2 0f 11 5c 24 04 movsd %xmm3,0x4(%esp)
80483c7: c7 04 24 b0 84 04 08 movl $0x80484b0,(%esp)
80483ce: e8 bd fe ff ff call 8048290 |printf@plt|
return 0;
}
[...]
-O2 -ftree-vectorize -ftree-vectorizer-verbose=3 -march=pentium4):
c[0]=a[0]*b[0]; c[1]=a[1]*b[1]; c[2]=a[2]*b[2]; se nezvektorizuje (fuj, to je hnusný slovo...), ale
for(int i=0; i<3; i++) c[i]=a[i]*b[i]; ano.
for udělá stejně něco podobné tomu prvnímu. Zřejmě ne úplně.)
Jak autor zmíněného článku píše, podobné optimalizace mohou vést k nestabilnímu kódu.
Tiskni
Sdílej: