Je 31. března a tedy Světový den zálohování (World Backup Day). Co by se stalo, kdyby Vám právě teď odešel počítač, tablet nebo telefon, který používáte?
Digitální a informační agentura (DIA) přistupuje ke změně formátu důvěryhodného seznamu České republiky z verze TLv5 na verzi TLv6, která nastane 29. dubna 2026 v 00:00 (CET). Ke změně formátu důvěryhodných seznamů členských států (tzv. Trusted Lists) dochází na základě změn příslušné unijní legislativy. Důvěryhodné seznamy se používají v rámci informačních systémů a aplikací zejména pro účely ověřování platnosti elektronických
… více »Rspamd (Wikipedie), tj. open source systému pro filtrování nevyžádané pošty, byl vydán v nové major verzi 4.0.0. Přehled novinek v Changelogu.
SolveSpace (Wikipedie), tj. multiplatformní open source parametrický 2D/3D CAD, byl vydán v nové verzi 3.2. Přehled novinek v Changelogu na GitHubu. Vyzkoušet lze novou oficiální webovou verzi.
Organizátoři Dne IPv6, tradiční akce věnované tématům spojeným s tímto protokolem, vyhlásili Call for Abstracts. Na webu konference mohou zájemci přihlašovat příspěvky o délce 20 nebo 40 minut či 10minutové lighting talky a to až do 30. dubna. Tvůrci programu uvítají návrhy přednášek z akademického i komerčního sektoru, které mohou být technického i netechnického zaměření. Den IPv6 se letos uskuteční 4. června a místem konání bude i
… více »Euro-Office (Wikipedie) je evropský fork open source kancelářského balíku OnlyOffice. Za forkem stojí koalice firem IONOS, Nextcloud, Eurostack, XWiki, OpenProject, Soverin, Abilian a BTactic. Cílem je zajistit digitální suverenitu Evropy a snížit závislost na neevropských platformách. Projekt vznikl mimo jiné v reakci na nedávné uzavření cloudové služby OnlyOffice. OnlyOffice obviňuje Euro-Office z porušení licenčních podmínek. Na možné problémy upozorňuje i Collabora Online. Jednostranná změna licence není v pořádku.
Byly zpracovány a na YouTube zveřejněny videozáznamy jednotlivých přednášek z letošního Installfestu.
Během akce Arduino Days 2026 byl publikován Arduino Open Source Report 2025 (pdf) a oznámeno 7 nových produktů kompatibilních s deskou UNO Q (Arduino USB-C Power Supply, USB-C Cable, USB-C Hub, UNO Media Carrier, UNO Breakout Carrier, Bug Hopper, Modulino LED Matrix).
Google v pátek spustil v Česku Vyhledávání Live. Tato novinka umožňuje lidem vést plynulou konverzaci s vyhledávačem v češtině. A to prostřednictvím hlasu, nebo prostřednictvím toho, na co ukážou svým fotoaparátem či kamerou v mobilu. Rozšíření této multimodální funkce je možné díky nasazení Gemini 3.1 Flash Live, nového hlasového a audio modelu, který je od základu vícejazyčný, takže umožňuje lidem po celém světě mluvit na vyhledávač přirozeně a v jazyce, který je jim nejbližší.
Jsongrep je open-source nástroj, který efektivně prohledává JSON dokumenty (editovat je neumí). Kompiluje regulérní jazyk dotazu do podoby deterministického konečného automatu (DFA), díky čemuž prochází strom JSON dokumentu pouze jednou a je v tom tedy rychlejší než jiné nástroje jako jsou například jq, JMESPath nebo jql. Jsongrep je napsaný v programovacím jazyce Rust, zdrojový kód je dostupný na GitHubu.
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: