Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.
Firma Murena představila /e/OS verze 2.0. Jde o alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).
Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.
HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.
BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.
Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.
Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.
V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.
nedavno jsem resil, ze bysme si mohli poridit prekladac od intelu a jelikoz se pravidelne opakuje, ze gcc je mizerne optimalizuji prekladac, a ze intel je s vyvojem nekde uplne jinde. (prece jen ma tu vyhodu, ze vi naprosto presne, jak ti mravenci v tech procesorech opravdu pobihaji)
a kdyz jsem zjistil, ze icc by mel podporovat automatickou paralelizaci vypoctu, zacalo to pro me byt jeste lakavejsi sousto. udelal jsem si proto par testu na svych ,,obsesivnich'' prikladech s fibonaccihy cisly.
kod jsem pouzil nasledujici (je napsany schvalne tak divne, ale o tom pozdeji, jestli vas to bude zajimat)int fib0(int i) { if (i <= 2) return 1; return fib0(i - 1) + fib0(i - 2); } int fib(int i) { int result; result = fib0(i); return result; } int main() { int i, j; int blah[10]; for (i = 0; i < 10; i++) blah[i] = fib(32 + i); for (i = 0, j = 0; i < 10; i++) j += blah[i]; printf("%i\n", j); return 0; }jelikoz s icc (10.1.008) nemam moc velke zkusenosti, pouzil jsem jenom "-O3 -ipo -parallel" stejne u gcc (4.1.2) pak jenom "-O3", pokud mate nekdo dalsi napady a zkusenosti podelte se s nimi v diskuzi. test jsem delal na svem notebooku s core duo, aby si to prekladac vychutnal ;-]. tak a vysledky:
icc -O3 fib.c | 14.787s |
icc -O3 -ipo fib.c | 14.640s |
icc -O3 -ipo parallel fib.c | 8.935s |
gcc -O3 fib.c | 6.646s |
int fib(int i) { int result; printf("start: %i\n", i); result = fib0(i); printf("end: %i\n", i); return result; }
icc -O3 -ipo fib.c | 14.522s |
icc -O3 -ipo -parallel fib.c | 14.209s |
takze vysledky pro me nejsou moc oslnujici, asi by bylo dobre udelat test i na nejakych "real life" prikladech... ale to uz nechavam na ctenych ctenarich...
Tiskni Sdílej:
gcc -O3: 5.62s icc -O3: 6.07s java: 5.34sParalelizacia icc u mna bola viacmenej bez vysledkov na vykon (vramci statistickej chyby...)
icc -O3 -parallel -axT -xO : 5.99s icc -O3 -parallel -openmp -axT -xO : 6.03s
gcc -O3: 3.18s icc -O3: 6.68s java: 5.34s
icc -O3 -ipo fib.c 14.640s icc -O3 -ipo -parallel fib.c 8.935sje zrychleni o cca 40%, coz je na dvoujadrovem procesoru na hranici praktickych moznosti (kvuli rezii hardwaru i softwaru). a proto pisi: ,,ta paralelizace ma docela hezke vysledky'' v dalsim testu jsem se ji pokusil rozhodit side-effecty, aby se ukazalo, jak to zvladne... a s tim uz si nedokazal poradit, ale to neni rezie -- jinak by to nefungovalo ani v prvnim pripade... navic je zrejme, ze icc zvlada jen paralelizaci smycek a ne volani.
int fib1(int x, int i) { if (i <= 2) return x+1; return fib1(fib1(x, i - 2), i - 1); }tak jsem dostal +- stejný výkon od gcc i icc (= stejný jako gcc a původní program). MMCH, kdo dokáže říct co ten asm pro původní program skompilovaný gcc dělá, je fakt dobrej.
muj paralelizujici interpreter schemu se s tim vyrovnal bez vetsich ztratSmím se zeptat jak? Spoolujete ty side-effecty a třídíte podle času, kdy měly nastat? Nebo je jen vykonáte v nějakém pořadí a tím změníte sémantiku programu? Co děláte, když např. čtete hodnotu, která teprve bude zapsána?
nbench 2.2.2, kod v C, testuje razeni ciselne a retezcove, operace nad bitovymi poli, FFT, huffman, sifru idea, neutonovou sit...
gcc -march=nocona -O3
MEMORY INDEX : 27.356 INTEGER INDEX : 25.623 FLOATING-POINT INDEX: 42.247
icc -O3 -axT -xT
MEMORY INDEX : 22.976 INTEGER INDEX : 32.503 FLOATING-POINT INDEX: 78.696
icc -O3 -axT -xT -parallel
MEMORY INDEX : 23.318 INTEGER INDEX : 32.532 FLOATING-POINT INDEX: 78.393
-ipo vykon vyrazne snizilo...
Prevaha icc v necelociselnych vypoctech je brutalni.
Je pravda, ze spousta veci by se dala vylepsit a nektere techniky v gcc uplne chybi. Take je pravda, ze pro cloveka, ktery problematice rozumi, jsou nedostatky opravdu hodne protivne. Ale vyraz "mizerne optimalizujici" u gcc rozhodne neni na miste.
Pokud jde o zapisek konkretne, tak nevypovida vubec o nicem.