LINUX.ORG.RU
ФорумTalks

Почему линуксовые «информаторы о железе» стесняются выводить количество VRAM?

 


0

1

Вот не первый раз замечаю, в каждом дистре, в каждой софтине, в каждой DE - зачем-то выводится какая-то чушь в графе про видеоадаптер, и не выводится самое главное - количество видеопамяти на борту этого устройства.

Это какие-то предрассудки, или просто васяноподелки парсят очередной lspci?

Примеры:

KDE. Graphics processor: Radeon RX 460/560D

***fetch. GPU: AMD Radeon RX 460 Graphics (polaris11, LLVM 15.0.6, DRM 3.49, 6.1.0-41-amd64). Как ни искал на видеокарте надписей LLVM, так и не нашел - напуркуа это писать, ума не приложу

Hardinfo. То же самое, AMD Radeon RX 460 Graphics (polaris11, LLVM 15.0.6, DRM 3.49, 6.1.0-41-amd64). Сразу видно васяны парсят инфу из одного источника. А вот во времена моей молодости, всякие Sandra таскали за собой БД из VID

lshw. product: Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X], vendor: Advanced Micro Devices, Inc. [AMD/ATI], width: 64 bits, clock: 33MHz, capabilities: pm pciexpress msi bus_master cap_list. Короче высрал кучу всякой ненужной ерунды, а вот объем видеопамяти видно разработчики считают инфой, не заслуживающей внимания

Gnome\Cinnamon. Graphics: Radeon RX 460/560D

Единственные кто показал количество VRAM - это glxinfo и nvtop, но было бы странно если бы её еще и собственные утилиты не показывали.

Как по мне, это очевидный пример тяп-ляпства и хай-так-технологий.

★★★★★
Ответ на: комментарий от etwrq

radeon[_?]top? or similar?
ССЗБ.

Ты наверное не понял. Я могу и в бивис ребутнуться посмотреть, и на карте почитать. Вопрос - зачем информеры выводят кучу бесполезной дичи, и не выводят главное.

windows10 ★★★★★
() автор топика
Ответ на: комментарий от windows10

Объем видеопамяти никогда не был _главным. Более того, сколько себя помню, в пределах видеокарт одной серии, не влиял ни на что _вообще. Исключение помню только одно — майнинг эфириума на видеокартах средней категории. Задача ради задачи, высосана из пальца абсолютно и полностью.

lenin386 ★★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)

Хороший вопрос.

Потому что сделано для галочки, а не для реального применения.

wandrien ★★★
()

Потому что:

  1. те кто делает эти утилиты сами плохо понимают зачем они это делают.

  2. они до сих пор не понимают, что карточек может быть больше.

  3. в линуксе… Внезапно… Нет единого способа посмотреть память видяхи. И в случае iGPU она ещё и динамическая. Тоесть, вместо того, чтобы написать куллхакерский однострочник тут надо читать ещё кучу всего и… Знать как это делается.

PcheloBiaka
()

nvtop выводит, работает и с амд и интелом вроде.

Вообще каждой задаче свой инструмент.

einhander ★★★★★
()
Ответ на: комментарий от madcore

Кучей разных способов и показывает общее количество доступной памяти, а не сколько в видяхе её встроено. Сейчас почти все тырят надо-ненадо ещё и системную память. Ответ не железный. И разными способами для каждого производителя.

PcheloBiaka
()

Всё просто: в линуксе нет стандартного интерфейса чтобы выяснить, сколько памяти на видеокарте. Есть только несколько вендор-специфичных способов, которые работают даже не для всех моделей.
Более-менее стандартный способ - через vulkan, который поддерживается не везде и вообще может быть не установлен.

Khnazile ★★★★★
()
Ответ на: комментарий от lenin386

Объем видеопамяти никогда не был _главным.

Был и есть. Потому что это ВТОРАЯ характеристика, которую пишут на ценнике в магазине.

не влиял ни на что _вообще

Вот на ценник и влияет.

Соответственно, продолжим мысль: пришли мы в магазин, а там продаются ноуты на вендекапце. Ноут с дискреткой на 2 гига стоит 800 баксов, ноут с дискреткой на 4 гига стоит 900 баксов. Т.е. из-за не главной характеристики, я переплачу или не переплачу 100 долларов.

Штатного способа узнать, не подсунули ли мне 2 гиговый ноут вместо 4 гигового - нет. Никакие соснольные утилиты в магазине мне никто не даст ставить.

Соответственно придя домой, вскрыв ноут, поставив на него что-нибудь - я уже лишусь права безусловного возврата денег, это будет гарантийный случай, ну типа «ой, это наверное поломка видеокарты, оставляйте, за 14 дней поменяем».

И это - если я линуксятник. А если я - девочка-припевочка? И о том что меня надурили с видеокартой я узнаю через год, случайно, поставив какого нибудь игоря?

- - -

Никогда кстати не видели, КАК продают ноуты и железо на вторичках типа авито или олх? Что там выставляют на фото?

Там выставляют именно системный ABOUT, как самое простое подтверждение конфигурации, написанной в объявлении.

windows10 ★★★★★
() автор топика
Ответ на: комментарий от wandrien

Потому что есть соотношение RAM/производительность, наиболее эффективно раскрывающее возможности ядра. Если приделать 32 гига к nvidia 1030, не измениться вообще ничего.

lenin386 ★★★★★
()
Ответ на: комментарий от windows10

Ноут с дискреткой на 2 гига стоит 800 баксов, ноут с дискреткой на 4 гига стоит 900 баксов.

Примеры - в студию. Фантазии - не надо раскрывать тут.

lenin386 ★★★★★
()
Ответ на: комментарий от lenin386

Кринж.

Зато если половину чипов памяти снять - сразу изменится.

wandrien ★★★
()

https://postimg.cc/B817QKSP

cat ~/.config/fastfetch/config.jsonc 
{
  "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
  "modules": [
    "os",
    "host",
    "kernel",
    "uptime",
    "packages",
    "shell",
    "display",
    "de",
    "wm",
    "wmtheme",
    "theme",
    "icons",
    "font",
    "cursor",
    "terminal",
    "terminalfont",
    "cpu",
    {
        "type": "gpu",
        "detectionMethod": "auto",
        "driverSpecific": true,
        "format": "{name} ({core-count}) @ {frequency} [{dedicated-used} / {dedicated-total} ({dedicated-percentage-num})]"
    },
    "memory",
    "swap",
    "locale",
    "break",
    "colors"
  ]
}
CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от lenin386

Примеры - в студию. Фантазии - не надо раскрывать тут.

Lenovo IdeaPad Gaming 3 - RTX 3050 4 Гб \ 6 Гб

HP Victus 15 - RTX 3050 4 ГБ \ 6 Гб

ASUS TUF Gaming F15 - RTX 3050 4 ГБ \ 6 Гб

- - -

Вангуя ваш контраргумент, прошу воздержаться от советов поиска отличающейся буквы на заднице моделей ноутбука - их ДЕСЯТКИ.

windows10 ★★★★★
() автор топика
Ответ на: комментарий от lenin386

Потому что есть соотношение RAM/производительность, наиболее эффективно раскрывающее возможности ядра. Если приделать 32 гига к nvidia 1030, не измениться вообще ничего.

Вас обманули.

Если приделать 32 гига к nVidia 1030 изменится половина, потому что минимизируется обмен данными между очень быстрой VRAM и очень медленной RAM - соответственно GPU перестанет в IOWAIT пока эти данные переносятся туда\сюда, что напрямую отразится как на ее энергопотреблении, так и на ее частоте.

Я так понимаю, как к программисту к вам обращаться не стоит, раз вы такое утверждаете, поэтому приведу пример из жизни: Serious Sam 4. Когда у вас выставлены текстуры высокого разрешения, но объем на видеокарте мал - при появлении новой сцены, она сначала отображается расплывчато, затем по мере подгрузки новых текстур изображение детализируется. Когда объема видеопамяти достаточно - сцена сразу детализирована.

windows10 ★★★★★
() автор топика
Последнее исправление: windows10 (всего исправлений: 1)
Ответ на: комментарий от lenin386

Это ноутбуки с одинаковой памятью. Где с разной?

С какой нафиг одинаковой памятью? Дедушка, вы вообще читать разучились?

https://rozetka.com.ua/ua/459624329/p459624329/ - вот вам ноутбук с 6 гб видеокартой.

https://rozetka.com.ua/ua/443037998/p443037998/ - вот вам такой же самый ноутбук, с 4 гб видеокартой.

Оба ноутбука - Lenovo IdeaPad Gaming 3, 15.6"/IPS/FHD/120Hz - внешне неотличимы, более того с неотличимой серией.

windows10 ★★★★★
() автор топика
Ответ на: комментарий от lenin386

Ещё для нейросетей и моделирования структур белков важно. А вот для молекулярной динамики уже важнее чисто вычислительные умения видяхи. Факт, что во всех этих случаях важен ещё и тип памяти. GDDR на таком всухую проигрывает HBM.

Dorif ★★★
()
Ответ на: комментарий от windows10

Ещё ширина шины памяти важна. 64 бит DDR3 в удьтрабюджете, 384 бит GDDR7 в нормальном потребительском и 4096 бит HBM3/HBM3 покажут очень разные результаты на одной частоте и объёме. И да, ширина шины может ограничить пользу большого объёма памяти, ибо с узкой шиной видяха не будет успевать грузить данные.

Dorif ★★★
()
Ответ на: комментарий от Dorif

Ещё ширина шины памяти важна. 64 бит DDR3 в удьтрабюджете, 384 бит GDDR7 в нормальном потребительском и 4096 бит HBM3/HBM3 покажут очень разные результаты на одной частоте и объёме. И да, ширина шины может ограничить пользу большого объёма памяти, ибо с узкой шиной видяха не будет успевать грузить данные.

Это все называется одним словом - производительность.

Впрочем мы сравниваем равные условия, будь то DDR3 или HBM :)

Однако:

Даже если собственная память на видеокарте 64 битная - если ее будет достаточное количество, то общая производительность видеоадаптера будет все равно быстрее, чем если ее недостаточно.

Я с этим феноменом столкнулся изучая SSDшники, где NVME потребляя в пике в полтора раза больше чем SATA - к концу дня умудряется намотать на сотню ватт меньше, просто за счет того что находится в пике в пять раз меньше чем SATA.

Операция копирования из памяти в видеопамять - занимает процессорное время, поскольку несмотря на DMA, он подготавливает данные, а учитывая что последнее время все происходит через API - то еще и драйвер дергает.

И процессорное время видеокарты занимает тоже, поскольку один из его блоков непрерывно опрашивает шину, складируя полученные данные в видеопамять.

Вы правильно упомянули за нейросети - здесь это очень хорошо прослеживается.

Во-первых, для достаточно приемлемой работы, достаточно ширины x1, чуть ли не через слот для WiFi. Во-вторых, у меня есть относительно старая видеокарта с достаточным объемом ОЗУ, находящегося по скорости чуть выше двухканальной DDR4. Так вот, несмотря на чуть выше скорость - моя встройка Vega 11 делает эту видеокарту в области нейросеток за счет unified memory - где данные между DDR и GDDR не копируются. Разница конечно в пол-секунды, однако R7-ка - 70W, а проц с Vega 11 - 35W.

Резюмируя сказанное - 8Gb GDDR5 лучше, чем 4Gb GDDR5, что бы там дядя ленин не рассказывал =)

windows10 ★★★★★
() автор топика
Ответ на: комментарий от windows10

Большую память с медленной шиной имело бы смысл иметь при повсеместной распространённости упреждающей загрузки данных. А в пользовательском софте это мало распространенно. Таким образом, если б у той же 1030 было бы 32 Гб памяти DDR3, эффективно она бы использовала от силы четыре, просто потому что данные софтом грузятся в память не заранее, а ровно когда надо или чуть раньше. По этой же причине для меня неинтересна Tesla P40 при сравнимой цене и большем объёме памяти - там она медленнее, чем на P100 (и хреновая производительность в FP64) и ждал бы я моделирования полимеразы не 16 минут, а 200…

Про нормально использование опять же, зависит от того, что считать нормальным использованием. Для отрисовки пятых кед на рабочей станции мне хватает встроенной Matrox с 8Мб памяти. Для такого использования х1 даже избыточна. А вот если необходимо постоянно грузить тяжёлые текстуры и считать физику, как в современных играх - нужно минимум х8 и таки GDDR память. Если как у меня научные приложения или деплой ИИ облачного - х16 или вообще специализированные решения с SXM модулями и NVLink, иначе одиночный GPU может захлебнуться нафиг, проверяли уже.

Dorif ★★★
()
Последнее исправление: Dorif (всего исправлений: 1)

Как по мне, это очевидный пример тяп-ляпства и хай-так-технологий.

Ну и откуда брать эту информацию, из баз данных? Если от устройства ее не получить, только от фирменных утилит.

dmitry237 ★★★★★
()
Ответ на: комментарий от dmitry237

Ну и откуда брать эту информацию, из баз данных? Если от устройства ее не получить, только от фирменных утилит.

Очевидно оттуда же, откуда и берут программисты под взрослые ОС.

Кроме того, PCIе протокол обмена никто не отменял, устройства охотно возвращают свою конфигурацию. Вон выше CrX показал что даже fastfetch это умеет.

Я просто идеалист, и меня с детства раздражают полумеры. Назвался груздем - вперед. Никто не требует в окне «О системе» показывать видеокарту, и прочее железо. Но раз уж показываете - значит показывайте информацию, более менее соответствующую реальному описанию той или иной железки, а не просто парсите выхлоп lspci.

Кстати, виндовые утилиты, хотя и специализированные - определяют даже вендора платы. То есть не просто «Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X] (rev cf)», а именно «ASUSTeK Computer Inc. Radeon RX 460».

windows10 ★★★★★
() автор топика
Ответ на: комментарий от amd_amd

работает только с проприетарной дровиной

Какая мне разница с чем она работает? ОС (моя) должна выполнять возложенные на нее обязанности.

как?

ntfs@b550:~$ glxinfo | grep 'Video memory'
    Video memory: 4096MB
ntfs@b550:~$ 
windows10 ★★★★★
() автор топика
Ответ на: комментарий от lenin386

Сейчас в эпоху ИИ объём видеопамяти влияет на то какую модельку ты можешь локально запустить

KivApple ★★★★★
()
Ответ на: комментарий от windows10

какое ОС дело до твоей видеопамяти?
это дрова железяки и соответствующие прослойки с апи решают, сколько и чего тебе показать

madcore ★★★★★
()
Ответ на: комментарий от windows10

приведи пример функции, syscall или чего там, из взрослых ОС, возвращающую конфигурацию видеоадаптера

madcore ★★★★★
()
Ответ на: комментарий от madcore

какое ОС дело до твоей видеопамяти?

Ну например в зависимости от количества видеопамяти, ОС может что-то делать, или не делать.

это дрова железяки

Дрова железяки - это абстрактное понятие. Дровом может быть как часть системы, так и сторонний драйвер.

приведи пример функции, syscall или чего там, из взрослых ОС, возвращающую конфигурацию видеоадаптера

https://learn.microsoft.com/en-us/windows/win32/api/setupapi/nf-setupapi-setu...

windows10 ★★★★★
() автор топика
Ответ на: комментарий от windows10

даже fastfetch это умеет.

Не поленился, поставил и что я увидел:

# без лого

$ fastfetch -s GPU
GPU 1: NVIDIA GeForce MX150 [Discrete]
GPU 2: Intel UHD Graphics 620 @ 1.10 GHz [Integrated]

# Это все, как lspci

Наверное фастфетчу тоже нужна прокладка для nvidia

$ fastfetch --list-modules | grep 28
28) GPU           : Print GPU names, graphic memory size, type, etc
dmitry237 ★★★★★
()
Последнее исправление: dmitry237 (всего исправлений: 1)
Ответ на: комментарий от windows10

Ну например в зависимости от количества видеопамяти, ОС может что-то делать, или не делать.

например, что?
скажет что-то не делать directx, opengl?

Дрова железяки - это абстрактное понятие.

память видяхи - тоже абстрактное понятие, в общем случае неопределённое
её может не быть, может быть разделённой буфер экрана и текстур, может ещё как организована

https://learn.microsoft.com/en-us/windows/win32/api/setupapi/nf-setupapi-setu...

сам-то почитал?

madcore ★★★★★
()
Ответ на: комментарий от dmitry237

Не поленился, поставил и что я увидел:

Прежде чем не полениться и поставить, вам нужно было не полениться, и вчитаться в то, что я написал.

Тогда бы увидели не только fastfetch, а и упоминание про CrX выше. После этого вы бы поднялись выше, увидели что написал CrX, и сделали бы все так, чтобы было https://ibb.co/LdyT6MhX =)

windows10 ★★★★★
() автор топика
Ответ на: комментарий от dmitry237

lspci может показать только диапазоны мэпинга, они не обязательно равны объёму видеопамяти, или могут мапиться не в одно место итп
а какая область туда отображается - перещёлкивает видеодрайвер

madcore ★★★★★
()
Ответ на: комментарий от madcore

например, что?

Например отключить блюр или использовать софтовый рендеринг.

память видяхи - тоже абстрактное понятие

Это понятие - абсолютное, оно написано на видеокарте и на чипах ее памяти, вне зависимости от того чем она использована и как организована.

сам-то почитал?

Более того, я даже тестовый код наваял и получил производителя всех устройств на шине PCI.

Эммм, а вы что не знали как работает PnP ?))

windows10 ★★★★★
() автор топика
Ответ на: комментарий от windows10

Тогда бы увидели не только fastfetch, а и упоминание про CrX выше

Я так и сделал. В чем претензии? Без дров нвидии фастфетч не показывает сколько памяти у GPU. Но если драйвер nvidia есть, то и фастфетч не нужен, есть nvidia-settings и nvidia-utils (или как-то так). А вот с nouveau увы.

dmitry237 ★★★★★
()
Ответ на: комментарий от windows10

Более того, я даже тестовый код наваял и получил производителя всех устройств на шине PCI.

такую же херню тебе выдаст и lspci

Эммм, а вы что не знали как работает PnP ?))

тут кто-то другой не понимает, как оно работает

madcore ★★★★★
()
Ответ на: комментарий от dmitry237

Я так и сделал. В чем претензии? Без дров нвидии фастфетч не показывает сколько памяти у GPU. Но если драйвер nvidia есть, то и фастфетч не нужен, есть nvidia-settings и nvidia-utils (или как-то так). А вот с nouveau увы.

А как вы работаете без дров?

windows10 ★★★★★
() автор топика
Ответ на: комментарий от madcore

такую же херню тебе выдаст и lspci

При чем здесь lspci? Вы спросили пример функции, я вам дал пример функции.

тут кто-то другой не понимает, как оно работает

Вы правы, не понимаю. Разработчики КЕДо-ГНОМов понимают. Именно поэтому Винда и Мак умеют писать сколько видеопамяти на видюхе, а КЕДо-ГНОМы нет.

windows10 ★★★★★
() автор топика
Ответ на: комментарий от windows10

А как вы работаете без дров?

  1. Я не работаю вообще, на пенсии с 2007
  2. Лень ставить dkms, а новее просто не поддерживают GPU
  3. Когда были дрова я не получил ничего хорошего, с нуво все объективно лучше.
dmitry237 ★★★★★
()
Ответ на: комментарий от windows10

Например отключить блюр или использовать софтовый рендеринг.

ты троллируешь?
может, ОС ещё и уровень сложности в игре для тебя выбирать, изи или найтмаре?
хотя, возрастной рейтинг уже выбирает

madcore ★★★★★
()
Ответ на: комментарий от windows10

При чем здесь lspci? Вы спросили пример функции, я вам дал пример функции.

эта функция ничего не ведает о количестве памяти или чего-то ещё на устройствах

madcore ★★★★★
()

В общем-то согласен, но я вижу количество видеопамяти когда мне нужно, в mangohud.

unixnik ★★★★★
()
Ответ на: комментарий от windows10

А я вот как-то выяснял, как под линуксом opengl программе получить количество видеопамяти кросс-вендорно, без строительства костылей. Оказалось, что никак. Есть несколько расширений для этого, но они не охватывают 100% возможных конфигураций. Какие-то работают с nvidia и amd, но не с intel и другими редкоземельными драйверами, какие-то работают только с GLX, но не с EGL. В самом линуксе тоже нет стандартный способов забрать эту инфу. Можно попытаться сунуться в opencl, но опять же, не все системы в принципе его поддерживают.

Khnazile ★★★★★
()
Ответ на: комментарий от madcore

может, ОС ещё и уровень сложности в игре для тебя выбирать, изи или найтмаре?

Что делать ОС в зависимости от количества видеопамяти - ей виднее. Может ничего. Может включать спецэффекты как Windows 7, или включать софтверный рендеринг, как это делал Cinnamon. Может значок ставить «Compatible with games». Или выбирать GPU для ИИ, если их несколько.

эта функция ничего не ведает о количестве памяти или чего-то ещё на устройствах

А ей и не надо ничего ведать, это низкоуровневая функция, ее задача запросить вшитые свойства устройства на шине, а что с ними делать дальше - думает программа, получившая эти свойства.

windows10 ★★★★★
() автор топика
Ответ на: комментарий от unixnik

В общем-то согласен, но я вижу количество видеопамяти когда мне нужно, в mangohud.

Та это понятно, но как вы видите - тут речь не о видеопамяти, и не о том как получить ее размер, а о красоте вывода информации =)

windows10 ★★★★★
() автор топика
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)