Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.
3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.
Open source webový aplikační framework Django slaví 20. narozeniny.
V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.
Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.
Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.
Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.
Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.
McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.
Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
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: