Byla vydána nová stabilní verze 8.2 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 152. Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána nová stabilní verze 4.0 svobodného multiplatformního softwaru pro editování a nahrávání zvukových souborů Audacity (Wikipedie). S rozhraním přepsaným do Qt. Přehled novinek také na YouTube. Ke stažení je oficiální AppImage. Zatím starší verze Audacity lze instalovat také z Flathubu a Snapcraftu.
NVIDIA kupuje Hugging Face za 12,93 miliardy dolarů.
Předobjednat si lze nový jednodeskový počítač Arduino VENTUNO Q s předinstalovaným Ubuntu. S 16 GB LPDDR5 a 64 GB eMMC. Pro lokální LLM, agentní AI, počítačové vidění, robotiku…
Hexpair není nejlepší HEX editor na světě a ani se o to nesnaží. Zato je k dispozici kdykoliv a kdekoliv – všude tam, kde máte svůj Vim. Vznikl jako hobby projekt před pár měsíci a dospěl do stavu, kdy by mohl být užitečný širší komunitě. Přepnout do HEX režimu se dá i uprostřed rozdělané práce: Soubor, který už máte otevřený běžným vim file.md, jedním příkazem přepnete do HEX editoru a dalším příkazem ho můžete vrátit zpět do textu. Kurzor přitom
CERN dlouhodobě používal vlastní sestavení RHEL, ze kterého přešel na CentOS Stream. Federico Vaga a Nikos Tsipinakis ale nyní v přednášce na MiniDebConf Winterthur 2026 popisují plán probíhajícího přechodu na Debian pro řízení akcelerátorů. Důvodem k opuštění CentOS Stream jsou zachování zpětné kompatibility se starším hardwarem, kterou Red Hat narušuje, když tlačí sestavení balíčků pro novější verze architektury (x86-64), a nedostatečné nástroje pro sestavování vlastních balíčků a repozitářů.
UZDoom (Wikipedie), tj. fork GZDoom, byl vydán ve verzi 5.0.0. Videopředstavení na YouTube. Podrobný přehled novinek v Changelogu.
Příručka Linux From Scratch pro sestavení základního linuxového systému byla aktualizována v pravidelném půlročním termínu. Vydání 13.1 shrnuje přes 40 nových verzí balíčků a několik patchů. Navazující příručka Beyond Linux From Scratch s recepty pro sestavení dalších knihoven a aplikací zatím vydána nebyla, ačkoliv vývojová verze stále dostává aktualizace. Lze je číst online nebo stáhnout v HTML či PDF.
Národní bezpečnostní tým CSIRT.CZ koordinovaný sdružením CZ.NIC přichází se službou Strážci internetu, která má sjednotit způsob hlášení doménových jmen zneužívaných k páchání trestné činnosti. Službu mohou uživatelé využívat také prostřednictvím rozšíření do prohlížeče. Nový nástroj podporuje jak hlášení vyžadující autorizaci, tak anonymní reporting, u kterého však nebude možné zapojit takovou míru automatizace jako u
… více »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: