Возможно это как-то задаётся в VBIOS.
Вот в этом документе
https://nvidia.github.io/open-gpu-doc/p ... 0-fbpa.txtупоминаются какие-то регистры, которые отвечают за конфигурирование размера памяти и за конфигурирование режима "mixed memory" (когда разные микросхемы разных размеров, точно бывало на Fermi, может и на Kepler)
Цитата:
4) For each bit not set in NV_FUSE_STATUS_OPT_FBIO (0x21C14)
a. Read the partition memory size from
NV_PFB_FBPA[i] + _CSTATUS_RAMAMOUNT (0x20C)
b. Up to the number of possible FBPAs determined in #1
5) Any difference in the per-partition memory size indicates a "mixed memory"
configuration (Fermi & Kepler).
6) Any difference in the per-partition LTC coverage effectively indicates a
"mixed memory" configuration (Maxwell and later).
Возможно значениея в эти регистры прописываются при начальной инициализации VBIOS.
На всякий случай приложу копию файла по ссылке
Вложение:
gp100-fbpa.zip
Вариации кода на тему чтения этой структуры можно найти в альтернативном драйвере в районе функции gf100_ram_ctor
https://elixir.bootlin.com/linux/v5.10. ... 0_ram_ctor