
Изучение GDDR6-таймингов на видеокартах AMD с помощью amdtimingcopy
Тонкая настройка режимов работы видеокарт никогда не бывает лишней, так как позволяет выжать из них все соки получить от них бесплатный прирост производительности.
Достойное место среди программ, которые позволяют управлять и/или мониторить состояние видеокарт, занимают ohgodatool (wolfamdcontrol), amdmemorytweak, amdcovc, atitool и много других.
Одной из полезных утилит, работающих как в Windows, так и в Linux, является программа amdtimingcopy, созданная программистом под ником OhGodAPet (он же Wolf, Wolf0 и Wolf9466). Она хороша тем, что позволяет получить информацию о типе VRAM, таймингах и вольтаже GDDR6-памяти.
amdtimingcopy поддерживает видекоарты AMD Navi10 (AMD Radeon RX пятитысячной серии) и Navi21 (Radeon RX6000-е модели).
Несмотря на то, что программа имеет пока бета-версию, она может оказаться полезной для изучения возможностей видеокарт AMD, например, не очень обласканной вниманием оверклокеров AMD Radeon RX5500XT.
amdtimingcopy работает с файлом BIOS видеокарты, который можно извлечь из нее программой AMDVBFlash / ATI ATIFlash.
Сохранить Vbios для нулевой по счету видеокарты AMD можно командой:
sudo '/amdvbflash' -s 0 rx5500xt.rom
где rx5500xt.rom — имя сохраняемого файла.
Как пользоваться утилитой amdtimingcopy?
Программу amdtimingcopy можно взять уже в готовом виде в разделе релизов на Github, либо собрать исполняемый файл, используя ее исходный код.
В ubuntu программа очень быстро собирается в исполняемый файл командой make.
Пользоваться программой можно, используя командную строку или скрипт/батник следующими командами (для amdtimingcopy v0.8):
--file | -f - указать файл VBIOS, с которого будет считываться информация; --show | -s - отобразить информацию о видеопамяти из указанного файла BIOS; --verbose | -v - показать дополнительные детали о видеопамяти; --module | -m Select module — выбрать модуль (порядковый номер); --read | -r MemClk — прочитать информацию о частоте VRAM; --write | -w MemClk JSONTimingsFile — записать информацию MemClk в файл JSONTimingsFile.
Примечание: Если не указывать флаг -m/--module flag то при использовании комнад -r/--read или -w/--write, по умолчанию будет использоваться индекс 0. Аргумент -s/--show не может использоаться одновременно с -r/--read или -w/--write. Аргументы -r/--read и -w/--write являются взаимно исключающими. В обязательном порядке нужно использовать аргумент -f/--file. Если использовать команду amdtimingcopy -f rx5500xt.rom -s то можно получить значение таймингов, зашитое в BIOS видеокарты. Например, для файла BIOS видеокарты AMD Radeon RX5500XT программа выдает следующую информацию о VRAM: amdtimingcopy v0.8 by Wolf9466 (aka Wolf0/OhGodAPet) VRAM_Info table format revision 2, content revision 4 VRAM Module 0 (offset 0x00000018): Memory Vendor: Micron Memory Revision: 0 Part Number: MT61K512M32 Memory Size: 8192MB Memory Density: 512Mx16 ... Module 0: 125: 0001000025000000000000003A0900004000000009040301060002000202000208000000050303000400000021040500000001010100010100111800EE0000000A0A00000F0000000F0000008A201602080000000A00040A080300011F2A0C000E000000C2F0130F0E00000000000000 200: 4001000025000000000000003A09000040000000090505010900040002020002080000000503030004000000210405000000010101000101001118007C0100000A0A000018000000180000008A201E020A0000000A00040A080300011F2A0C0016000000C2F0130F1600000000000000 500: 400300002D040000000000003A090000400000000A0D0903150008000202000208000000050404000800000021060500000001010100010100121800B60300000A0A00003C0000003C0000008A202E02190000000A00040A090300011F2A0C003700000082F1130F3700000000000000 750: C004000045080000000000003A090000400000000D130D071F000C000404000208000000050505000C00000021080500000001010100010100151800910500000A0A00005A0000005A0000008A203E02260000000A00040A0C0300011F2A0C005300000042F2130F5300000000000000 875: 800500004D0A0000000000003A090000400000000E160F0924000E000404000208000000050606000E000000210805000000010101000101001618007F0600000A0A000069000000690000008A2046022C0000000A00040A0D0300011F2A0C006100000082F2130F6100000000000000 1000: 400600005D0C0000000000004A090000400000001019110B28000F00040400020C0000000506060010000000218A05000000010101000101001818006C0700000A0A000078000000780000008A204C02320000000A00040A0F0300011F2A0C006E000000C2F2130F6E00000000000000 1250: 000800006D000000000000005A090000400200001220150F33001300060600020C0000000507070014000000210C06000000010101000101001A1800470900000A0A000096000000960000008A205C023F0000000A00040A110300011F2A0C008A00000082F3130F8A00000000000000 1500: 800900007D040000000000006A09000040020000142619133D00170006060002100000000508080018000000218E06000000010101000101001C1800220B00000A0A0000B4000000B40000008A206C024B0000000A00040A130300011F2A0C00A500000002F4130FA500000000000000 1750: 000B00001508000000000000FA09000040030000172C1D1747001B000808000210000000050909001C000000311007000000010101000101001F1800FD0C00000A0A0000D2000000D20000008A207C02580000000A00040A160300011F2A0C00C1000000C2F4130FC100000000000000 1800: 000B00001508000000000000FA09000040030000172C1D1747001B000808000210000000050909001C000000311007000000010101000101001F18005C0D00000A0A0000D2000000D20000008A207C02580000000A00040A160300011F2A0C00C1000000C2F4130FC100000000000000 1875: C00B00001D0A000000000000FA09000040030000182F1F194C001D000808000214000000050A0A001E00000031120700000001010100010100201800EB0D00000A0A0000E1000000E10000008A2084025E0000000A00040A170300011F2A0C00CF00000002F5130FCF00000000000000 2000: 800C00001D0C000000000000FA090000400300001832211B50001E000808000214000000050A0A002000000031120700000001010100010100201800D80E00000A0A0000F0000000F00000008A208A02640000000A00040A170300011F2A0C00DC00000042F5130FDC00000000000000
По команде
amdtimingcopy -f rx5500xt.rom -v
можно получить дполнительные данные по таблице регистров видеопамяти.
Как видно из примера, отображается полная информация по производителю видеопамяти (в данном случае Micron MT61K512M32), таймингах чипов и множество других полезных данных.
Эта информация может быть полезна при тонкой настройке разгона видеокарт и в других случаях.

