Diit.cz - Novinky a informace o hardware, software a internetu

Diskuse k Asus aktivoval podporu Resizable BAR (SAM) na deskách Intel Z490 / H470 / B460

resizable BAR funguje na Linuxe a AMD pomohlo

Steam On Linux Marketshare Remained Flat For November
on 2 December 2020
AMD with now just 67% of Linux gaming systems according to Steam being powered by an Intel processor. Under Windows, Intel still has a 73.5% CPU marketshare.
https://www.phoronix.com/scan.php?page=news_item&px=Steam-Linux-November...

+1
-4
-1
Je komentář přínosný?

A proč k příspěvku s jednou větou přidáváš další 4 řádky nesouvisejícího anglického textu s odkazem, který je také naprosto irelevantní? Když už chceš "ozdrojovat" svá tvrzení, musí být relevantní, jinak dostáváš Nevyhověl. Mohl by sis dát předsevzetí a vkládat příspěvky, které mají minimálně polovičku textu psaného pouze tebou.

+1
+7
-1
Je komentář přínosný?

mne tam vzpadlo slovo to,. "AMD to pomohlo" namiesto "AMD pomohlo" dáva relevanciu môjmu tomu tvrdeniu. Lebo tam ,kde funguje resizable BAR tam je AMD na trhu lepšie, ako na thu, kde resizable BAR nefunguje

+1
-3
-1
Je komentář přínosný?

A nebo to taky s Resizable BAR-em vubec nesouvisi a na Linuxu ma AMD vetsi podil treba kvuli lepsim ovladacum (netusim), nebo treba kvuli tomu, ze uzivatele Linuxu jsou tecnicky zbehlejsi a uz si vsimli, ze existuje neco jako Ryzen a stoji za to si ho poridit.

+1
+3
-1
Je komentář přínosný?

Open source ovládač má už dlhodobo AMD lepší ako nVidia, ale do 5.9.2007 bol otrasnejší ako pokazený closed source ovládač fglrx.

Dnes už open source ovládač AMD je lepší aj ako Open source ovládač Intel-u a rádovo lepší ako closed source ovládač AMD(nástupca fglrx). A Valve(čo je zaujímavé) robí časť open source ovládača AMD

https://www.phoronix.com/scan.php?page=news_item&px=RADV-ACO-NN-Win

https://www.phoronix.com/scan.php?page=news_item&px=RADV-ACO-Mesa-Merge-...

a ACO je default ale iude prepnúť aj na iný shader kompilátor
https://www.phoronix.com/scan.php?page=news_item&px=Mesa-20.2-RADV-ACO-E...

+1
-1
-1
Je komentář přínosný?

Jen ste si pane zapomel vygooglovat takovou jednu dulezitou vec. Ta podpora sice na linuxu uz par let je (a na windows vlastne taky i kdyz o par let min), ale tak nejak chybela podpora v biosech. Tu teprv ted pridavaji... takze realne na vetsine hw nefungovalo.

+1
0
-1
Je komentář přínosný?

a vy ste zabudli, že BIOS-y už dávno nie sú a aj UEFI class 0 prakticky neexistuje a aj to, že mikrokód a iný firmware sa GNU/Linux nemusí nahrávať len cez UEFI pri boote, ale vie si nahrať jadro samo ( vie to aj MS Windows ale pomerne nespoľahlivo). Takjže vôbece ntreba EFI s podporou resizable BAR, aby fungovalo.

+1
0
-1
Je komentář přínosný?

Takze tim vlastne chcete rict, ze komentujete pod clankem ktery je cely nesmysl. Asus zbytecne pridaval do biosu (ano v clanku je napsano bios a na webu asusu je to ke stahnuti pod odkazem bios) neco, co vlastne vubec nebylo potreba. A ste si jisty, ze to na tom linuxu opravdu fungovalo ? Realne to mate odzkousene na danem hardware ? Ja si myslim, ze ste jen teoterik co si maximalne neco vygoogli. A vetsinou ani tomu co si vygooglil nerozumi... Coz je videt na vetsine vasich prispevku.

+1
0
-1
Je komentář přínosný?

pre svet MS Windows je to potrebné,aby to bolo na doske. A keďž je to dominantný systém, tak holt sa veci musia byť podľa neho,

+1
-2
-1
Je komentář přínosný?

Tak sem to vygooglil za vas https://docs.microsoft.com/en-us/windows-hardware/drivers/display/resiza...
Na windows je ta podpora post firmware. Cili az po tom co bylo gpu inicializovano firmwarem (uefi/bios) se v ramci driveru grafiky da remapovat bar na zadanou velikost. Dostupne ve windows od jara 2017.
Rozdil proti linuxu je ten, ze na linuxu to resize delaji na urovni pci host bridge https://patchwork.kernel.org/project/linux-pci/patch/5662C61F.50303@amd.... od prosince 2015.

+1
0
-1
Je komentář přínosný?

U Gigabyte
https://www.amd3d.com/tech-news/gigabyte-releases-resizable-bar-support/
se pro AMD nastavuje ještě parametr "CSM Support":
https://www.amd3d.com/wp-content/uploads/2020/12/gigabyte-resizeable-bar...

Nevíte co ten parametr znamená?

+1
0
-1
Je komentář přínosný?

"CSM or Compatibility Support Module is something that allows booting in legacy BIOS mode on UEFI systems."
Zjednodušeně asi emulace BIOSu na UEFI systémech (umožnující Legacy Boot).

+1
+1
-1
Je komentář přínosný?

Díky, pak je to jasnější, proč je třeba to mít vypnuté.

+1
0
-1
Je komentář přínosný?

Autor clanku se tradicne zapomnel zminit, ze aktivovany SAM na RX 6800XT prinesl v nekterych hrach snizeni FPS az o 5%!!!

Bud ma AMD tradicne chybu v ovladacich nebo, pokud hra se SAM nepocita muze mit nejakou implementaci, pri ktere je nasledne s aktivaci SAM vykon brzden.

(zdroj nizsiho vykonu napriklad testy na GamersNexus)

+1
-10
-1
Je komentář přínosný?

RedMaX je vůl.

(zdroj např. DuckDuckGo)

+1
+7
-1
Je komentář přínosný?
+1
-3
-1
Je komentář přínosný?

Můžete nás poctít přímým odkazem, kde gamersnexus ukazuje 5% ztrátu výkonu kvůli zapnutému SAM?

+1
+6
-1
Je komentář přínosný?

Dovolim si neobtazovat sa studovanim toho, ako ta vec funguje a tipnem si, ze je to stary dobry bank-switching, ktorym sa riesia problemy s velkostou adresneho priestoru uz dobrych 40 rokov.

Ak je to tak, potom to zrejme bude implementovane ako specialny riadiaci signal na PCIe (preto nutna podpora na strane procesora, ktory musi vediet taky signal vygenerovat).

No a tieto riadiace signaly zeru cas zbernice, takze ak je aplikacia zrovna napisana tak "nestastne", ze k datam pristupuje tak hodne zosiroka a nahodne skrz cely adresny priestor a nie pekne linearne, tak sa moze stat, ze tie commandy na prepnutie banku su posielane prilis casto a tym sa znizuje efektivna kapacita PCIe kanala. Podpornym faktorom moze byt aj to, ze okolo takehoto commandu treba mat memory barrier a to tiez zrovna vykonu nepridava.

Mna akurat fascinuje, ze toto tu realne niekto potrebuje. PAE samo o sebe je performance killer a je to tym vacsi spomalovac, cim viac RAMky PAE obsluhuje. Izolacia kernelu od userspacu tomu asi tiez nepridava. Na 32bitovom OS aj tak najskor proces bez nejakych silenych machinacii viac ako nejakych 3,5GB RAM naraz nepouzije. A dalo by sa pokracovat dalej, napriklad tym, ze samotne jadro x86 je v 32bitovom rezime, kedy sa nedaju vyuzit dodatocne general purpose registre, celkom slusne neefektivna vec a pamat-nepamat, performance ide dole.

+1
+3
-1
Je komentář přínosný?

Mě přijde, že údajné zpomalení vlivem "resizeable BAR" je pitomost, nebo nějaký poměrně nepřímý vedlejší efekt (v té rovině, že podporuje lenost programátorů). Ta "technologie" jde v principu přesně opačným směrem: zjednodušit přístup do videoRAM diskrétní grafiky pro software běžící na CPU hostitelského počítače.

https://docs.microsoft.com/en-us/windows-hardware/drivers/display/resiza...

Přiznám se, že jsem musel zagooglit hlavně ohledně toho, že si zkratku BAR vykládám správně - a ano, je to skutečně tak primitivní. Starý dobrý BAR = Base Address Register. Jakékoli periferní PCI zařízení má od počátků věků ve svém PCI Config Space 6 registrů, pomocí kterých deklaruje svoji potřebu oken v adresních prostorech "port IO" a MMIO - a při inicializaci sběrnice (BIOSem nebo vyšším OS) se tato okna usadí do úhrnného/globálního adresního prostoru. Port IO (IO space) je oddělený prostor specifický pro Intelovo x86 dědictví, MMIO (memory space) je prostor soudělný s RAMkou. Spousta ne-x86 architektur má jenom memory space. Prostě konkrétní BAR říká "já periferie dávám tímto BARem k dispozici toto okno, se kterým mohou ostatní uzly na PCI sběrnici pracovat jako s kusem paměti". BAR definuje velikost okna a po inicializaci sběrnice také počáteční adresu - tuším snad o velikosti a zarovnáno na mocniny dvou. Jedním z uzlů na PCI sběrnici je mimochodem host bridge / root complex, který zajišťuje překlad sběrnicových adres PCI na nativní fyzický adresní prostor hostitelského procesoru (do kterého jinak patří fyzická RAM, a případné další ne-PCI sběrnice).

Bývaly doby, a dodnes je to zřejmě tradiční uspořádání, kdy se sběrnice při startu jednou inicializuje, okna jednotlivých BARů pro všechny periferie se projdou / přidělí / oadresují, a pak už se na tu mapu za jízdy NEŠAHÁ - jenom se skrz ta okna rutinně funguje. Drivery jsou nastartované, periferie inicializované, IRQ naroutované, DMA nalinkované, celý ten složitý blázinec nějakým zázrakem funguje jak hodinky. Obecně se nepočítá s tím, že do toho někdo šáhne jak hanuš do vorloje a změní někde velikost BARu, případně ho kvůli tomu bude muset přemapovat jinam apod. To znamená přerušit práci, přinejmenším pro dotčený driver, ruce pryč od hardwaru, provést změnu, a pak si nějak posbírat potřebné změny v softwaru a pokračovat.

On vlastně existuje způsob, generický na PCI (spíš PCI-e), jak může dojít ke změně na sběrnici: u konkrétních periferií může být podporován hot swap. To znamená, že se celá periferie odpojí, sběrnice včetně SW obsluhy na ni zapomene, nebo se nová sběrnice připojí, a je třeba ji inicializovat / zařadit do mapy adresních oken, zavést driver atd. (Nejsem si jistý, zda je nějak zajištěn surprise removal, možná ani ne = je třeba napřed odládovat driver.) Takže tu změnu velikosti BARu by šlo teoreticky zařídit fingovaným hot-swapem. Za tu cenu, že se odláduje a naláduje driver. Což u grafické karty může znamenat zajímavé vizuální efekty - možná včetně toho, že spadne celý desktop / relace přihlášeného uživatele, popadá spousta softu který na to není připravený apod. A přesně tomuhle se resizeable BAR snaží vyhnout.

K čemu vlastně celý ten cirkus? Ona grafická karta nemá do MMIO okna vystavenou celou svoji RAMku? No, nemá. Kdysi dávno snad, když bylo RAMky pár MB. V dnešní době mají grafické karty běžně víc než 4 GB, tzn. víc, než zvládne nativně naadresovat 32b CPU. A asi hlavně kvůli startu v 32b režimu je potřeba, aby namapované okno bylo zpočátku menší - ten článek od Microsoftu tvrdí, že běžně 256 MB. Takže v driverech pro 32b OS musí toto okno fungovat v režimu nějakého mailboxu nebo stránkování nebo prostě nějakou takovou nepřímou cestou. Jaké by to bylo hezké, kdyby se celá dedicated videoRAM dala hostiteli namapovat nastojato! Teoretický fyzický adresní prostor 64b CPU to samozřejmě s přehledem pobere, skutečný fyzický adresní prostor dnes už taky (před pár lety desktopové CPU měly třeba jenom 36 fyzických adresních drátů v patici=FSB, přestože jádro už umělo AMD64/EM64T). Jak to ale udělat, aby po startu s malým oknem bylo možno okno rozšířit, pokud možno aniž by obrazovka viditelně mrkla? On by si o to vlastně mohl říct grafický driver při svém startu, takže by se nic moc nedělo z hlediska nějakého pádu přihlášeného desktopu apod. - ale, ó hrůzo, my přece nemůžeme dopustit, aby obrazovka viditelně mrkala na předělech BIOS / bootloader / startovní animovaný splash screen / winlogon / desktop!? Takže si pro letmou změnu velikosti BARu zařídíme podporu přímo v normě pro PCI sběrnici. Driver s tím bude muset umět pracovat (dát na chvilku ruce pryč od práce s oknem a postřehnout změnu velikosti), hardwarově v grafice to bude muset ustát kontinuální vykreslování obrazu na stínítko - ale to je tak všechno. Není potřeba kompletní "výstup a nástup" jako při PCI-e hot-swapu. Hurá, hotovo! :-)

Takže grafický driver už vidí celou videoRAM hezky v řadě za sebou od A do Z. Otázkou je, jak s tím naloží tvůrci HW API a driveru dané grafiky. Asi nikdo není tak blbý, aby to namapované okno používal nastojato jako běžnou DRAM - bylo by to přes PCI-e sběrnici přece jen pomalejší, než přímý přístup do DRAM, taky mi není jasné, zda je to okno cacheable a prefetchable (nejspíš není) atd. Čili otázka zní, zda se dá z programátorské lenosti něco pokazit v rovině krmení shaderů, uploadování geometrie, dotahování textur do VRAM pro práci "3D enginu offloadovaného na kartu" apod.

+1
+3
-1
Je komentář přínosný?

Hahaha, nadavate mi, ze nedavam zdroj. Kdyz ho dam, tak si zase neco vymyslite. Dobre mi tak, podam prst a snedli byste mi celou ruku.

+1
-7
-1
Je komentář přínosný?

e?

+1
+5
-1
Je komentář přínosný?

Já vás jen prosím o konkrétní odkaz. Na gamersnexus jsem se díval a nikde jsem to tam nenašel. Asi jsem špatně hledal. Máte prosím ten odkaz?

+1
0
-1
Je komentář přínosný?

Mali uz sem ten odkaz dal a opravdu me nezajimaji AVG FPS, ale LOW FPS, protoze prumer je super matematicka hodnota. V hre me vsak zajimaji dropy a to je prave to low FPS.

+1
-4
-1
Je komentář přínosný?

GamerNexus review, link na to kdyz testuji specificky SAM:
https://www.youtube.com/watch?v=jLVGL7aAYgY&t=363s

Vysledek? Vzdy je to bonus, ne vzdy velky ;)

Mas tam neco dalsiho Rede? :D

+1
+3
-1
Je komentář přínosný?

No, vždy ne. Díval jsem se na to a někde jsou v 0.1% LOW a 1% LOW poklesy FPS.
Např. Red Dead Redemption v 1080p je 0.1% LOW se SAM ON 74,1 FPS a se SAM OFF to vychází na 80,6 FPS. A to je 8% dolů při SAM ON.
No a pak tam jsou zase výkyvy na opačnou stranu, kdy v Total War: Three Kingdoms jsou FPS se SAM ON v 0.1% LOW o 8% lepší, než se SAM OFF.

Takže opravdu ne vždy je SAM přínosné, někdy se vyplatí ho vypnout.

+1
0
-1
Je komentář přínosný?

Mimochodem když uvádíte zdroje, buďte prosím konkrétnější. Že to je někde na gamersnexus, nebo "odkaz jsem poslal Malimu", to je mi s prominutím na prd.

Jo a nebuďte takovej cíťa - dotaz na zdroj informací přece není nadávání ne?

+1
+1
-1
Je komentář přínosný?

Hlavně a to je nejdůležitější u desek bez procesoru flashujte z Usb flešky standardu 2.0. Že máte mít flešku s formátem fat32 ro se dočtete v každém manuálu, ale že proces havaruje s většinou nových flesek USB3 to jaksi zamlčí. Asrock 570X Creator moc zlá noc než jsem přišel na to, že se deska s falešnou jen tváří, že něco dělají..

+1
-1
-1
Je komentář přínosný?

Pro psaní komentářů se, prosím, přihlaste nebo registrujte.