У меня есть несколько современных графических процессоров, как ATI (давайте возьмем Polaris 480), так и Nvidia (давайте возьмем 1080) моделей. Я использую их для различных целей, таких как майнинг, рендеринг видео, физическая обработка. Каждая задача является стабильной и быстрой при определенных значениях четырех основных параметров - напряжений ядра и памяти, а также тактовых импульсов.
Я использовал Windows и MSI Afterburner, чтобы настроить упомянутые параметры. Также я знал такие утилиты, как OverdriveNTool.exe, который имеет интерфейс командной строки. Что утверждает возможность такого контроля в Windows.
Кроме того, я отметил, что GPU - это отдельный компьютер, почти способный работать независимо от ПК. Он имеет свой собственный BIOS, RAM и основной чип. И ОС не связана с работой графического процессора, потому что ОС - это просто "прошивка", которая работает на процессоре, пытаясь "попросить" графический процессор сделать что-то по протоколам, не связанным с ОС. Это утверждает, что протокол управления GPU не зависит от ОС.
Объединив два упомянутых утверждения, я могу заключить, что определенно возможно изменять тактовые частоты и напряжения на GPU в любой ОС во время выполнения (программно).
Я хочу сделать это в Linux (я имею в виду не какой-то конкретный дистрибутив, такой как Ubuntu, а сам linux - некоторую минималистичную среду: kernel+glibc+busybox
). Я обнаружил, что пока
С amdgpu
я нашел 2 вещи:
во-первых, это какое-то странное ремесло (больше похоже на детскую игрушку - кто и зачем его туда положил? :), это называется файловая система powerplay и живет в
/sys/class/drm/card?/ mclk_od
и позволяет установить 0-20% надбавки (он даже имеет типint
в исходниках ядра amdgpu !!!). Он никогда не работал на моей сборке busybox и не позволял устанавливать точные параметры.Такие вещи , как это , что используемые AMD ADL, но я не смог найти , где скачать / построить эту ADL библиотеки, и даже слышали , что он устарел и не работает .. Официальный драйвер amdgpu для linux не имеет такой библиотеки, idk где его взять.
С nvidia
мне не удалось найти какой-либо способ управления параметрами GPU в минимальной среде, такой как kernel+glibc+busybox
Пока я жестко прошивал нужные частоты и напряжения прямо в биосе. Но это напрасно тратит время, требует перезагрузки и ускоряет циклы записи BIOS. Таким образом, я прошу простой способ настроить часы и напряжения.
Как я могу установить частоту ядра и напряжение в raw linux(без xorg, очень мало сторонних библиотек) для видеокарт ATI RX 480 и NVidia 1080?