Intel vydal 41 upozornění na bezpečnostní chyby ve svých produktech. Současně vydal verzi 20240514 mikrokódů pro své procesory řešící INTEL-SA-01051, INTEL-SA-01052 a INTEL-SA-01036.
Společnost Raspberry Pi patřící nadaci Raspberry Pi chystá IPO a vstup na Londýnskou burzu.
Google na své vývojářské konferenci Google I/O 2024 představil řadu novinek. Keynote byl věnován umělé inteligenci (DeepMind, Gemini, Responsible AI).
V Gitu bylo nalezeno 5 zranitelností. Opraveny jsou ve verzích 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 a 2.39.4. Útočník může připravit repozitář tak, že při jeho klonování (git clone) může dojít ke spuštění libovolného kódu.
Virtualizační softwary VMware Workstation Pro a VMware Fusion Pro jsou nově pro osobní použití zdarma. Softwary VMware Workstation Player a VMware Fusion Player končí.
Linuxová distribuce Endless OS (Wikipedie) byla vydána ve verzi 6.0.0. Přehled novinek i s náhledy v příspěvku na blogu, poznámkách k vydání a také na YouTube.
Byl vydán Mozilla Firefox 126.0. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Vylepšena byla funkce "Zkopírovat odkaz bez sledovacích prvků". Přidána byla podpora zstd (Zstandard). Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 126 je již k dispozici také na Flathubu a Snapcraftu.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 11.0. Přehled novinek v aktualizované dokumentaci.
Byla vydána nová verze 24.0 linuxové distribuce Manjaro (Wikipedie). Její kódové jméno je Wynsdey. Ke stažení je v edicích GNOME, KDE PLASMA a XFCE.
Byla představena oficiální rozšiřující deska Raspberry Pi M.2 HAT+ pro připojování M.2 periferii jako jsou NVMe disky a AI akcelerátory k Raspberry Pi 5. Cena je 12 dolarů.
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.