Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.
Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.
Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.
Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.
Byla vydána nová verze 10.1 sady aplikací pro SSH komunikaci OpenSSH. Uživatel je nově varován, když se nepoužívá postkvantovou výměnu klíčů.
Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2025.
Na konferenci LinuxDays 2025 byl oficiálně představen nový router Turris Omnia NG.
Přímý přenos (YouTube) z konference LinuxDays 2025, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.
V únoru loňského roku Úřad pro ochranu osobních údajů pravomocně uložil společnosti Avast Software pokutu 351 mil. Kč za porušení GDPR. Městský soud v Praze tuto pokutu na úterním jednání zrušil. Potvrdil ale, že společnost Avast porušila zákon, když skrze svůj zdarma dostupný antivirový program sledovala, které weby jeho uživatelé navštěvují, a tyto informace předávala dceřiné společnosti Jumpshot. Úřad pro ochranu osobních údajů
… více »Milá Sally,
ve škole jsem vžycky dával pozor, ale teď se mi stalo něco, s čím si nevím rady.
Při práci na disertaci pracuju s modelem radiativního transferu DART. Pro radu asi není důležité jak model funguje a co uvnitř dělá.
Stručně: model je to program, který dostane na vstupu vstupní data (makety), pak s nimi počítá (je to několik hodin operací s čísly v plovoucí řádové čárce) a nakonec vysype malý snímek - obrázek.
A kde je ten problém: při výpočtech používám kapacit superpočítačového centra CESNETu, a výpočty můžu směřovat na různé stroje. Když jsem poslal výpočty na počítače s Xeonem a s Opteronem, dostal jsem různé výsledky pro stejná vstupní data.
Nenapadá tě, jak se to může stát? Vždycky jsem si myslel, že když pošlu do dvou počítačů stejná data, dostanu stejné výsledky.
S pozdravem
Tvůj věrný čtenář V.
Pro zajímavost přikládám náhled vypočtených dat - data mají vyrovnaný histogram, pro zpracování použití se to nedělá, pro náhled je to pohodlnější.
Tiskni
Sdílej:
Existují na to dokonce řídící registry, kde se to nastavuje.A funkce v glibc.
Many programmers like to believe that they can understand the semantics of a program and prove that it will work correctly without reference to the compiler that compiles it or the computer that runs it. In many ways, supporting this belief is a worthwhile goal for the designers of computer systems and programming languages. Unfortunately, when it comes to floating-point arithmetic, the goal is virtually impossible to achieve. The authors of the IEEE standards knew that, and they didn't attempt to achieve it. As a result, despite nearly universal conformance to (most of) the IEEE 754 standard throughout the computer industry, programmers of portable software will have to continue to cope with unpredictable floating-point arithmetic for the foreseeable future.(zdroj)
Když zkompiluješ Linux (opravdu pouze kernel) s flagem pro Pentium II a spustíš ho na procesoru Cyrix 686, spadné ESP Ghostscript jako domeček z karet kvůli underflow. (=> Pak to vůbec netiskne...) S flagem Pentium-Pro funguje bez potíží. Paradoxní je, že nebylo nutné překompilovat samotný Ghostscript. (Ten byl v obou případech z binárního balíčku s flagem Pentium-Pro.)
Takže můj intuitivní úsudek je: Ano, může se to stát.
temp1 = y*x
temp2 = x*y (ale na pořadí samozřejmě nezáleží)
imag_slozka = temp1-temp2
což by byla skutečně ryzí nula, nýbrž jako
temp1 = y*x
imag_slozka = temp1 - x*y
Z hlediska vnesení zaokrouhlovacích chyb, mezi dvěma výše uvedenými kroky je samozřejmě výrazný rozdíl. V prvním případě jde o tři operace, a tak je zaokrouhlovací chyba vnesena třikrát. Ve druhém (FMA) případě je zaokrouhlování prováděno pouze dvakrát.
Že si nevymýšlím, je možné vidět na následujícím příkladě v Octave
octave:1> A = rand(3,3) + j*rand(3,3)
A =
0.20974 + 0.43455i 0.50108 + 0.38016i 0.24643 + 0.90169i
0.33751 + 0.39598i 0.22127 + 0.58548i 0.58724 + 0.88980i
0.84237 + 0.18959i 0.67795 + 0.99298i 0.33828 + 0.00156i
octave:2> C = rand(3,3) + j*rand(3,3)
C =
0.213787 + 0.961981i 0.469730 + 0.922373i 0.560915 + 0.462651i
0.930401 + 0.763539i 0.146290 + 0.423445i 0.015814 + 0.004987i
0.286520 + 0.579304i 0.581899 + 0.806029i 0.685377 + 0.171148i
octave:3> A = C'*C
A =
2.83744 - 0.00000i 2.08081 - 0.07856i 0.87902 - 0.79612i
2.08081 + 0.07856i 2.26041 + 0.00000i 1.23141 - 0.75886i
0.87902 + 0.79612i 1.23141 + 0.75886i 1.02798 - 0.00000i
octave:4> A - A'
ans =
0.00000 - 0.00000i 0.00000 + 0.00000i 0.00000 + 0.00000i
0.00000 + 0.00000i 0.00000 + 0.00000i 0.00000 + 0.00000i
0.00000 + 0.00000i 0.00000 + 0.00000i 0.00000 - 0.00000i
Na první pohled to možná vypadá, že jsme skutečně dostali nulu, ale nenechte se zmást:
octave:5> format hex
octave:6> A - A'
ans =
Columns 1 and 2:
0000000000000000 bc91200000000000i 0000000000000000 3c90000000000000i
0000000000000000 3c90000000000000i 0000000000000000 3c70800000000000i
0000000000000000 0000000000000000i 0000000000000000 0000000000000000i
Column 3:
0000000000000000 0000000000000000i
0000000000000000 0000000000000000i
0000000000000000 bc8a000000000000i
Shrnutí: při srovnávání výsledků numerických výpočtů na různých platformách je nutné dnes brát i v úvahu přítomnost či absenci, povolení či zakázání některých novějších technologií jako například FMA (a možná i jiné, nevím, nejsem expert).