Nvidia autofan script mod2|Автоуправление вентиляторами Nvidia mod 2

так не понятно, стабильность же хорошо? дергается - плохо, не дергается - тоже плохо?)
Стабильность - это хорошо, когда стабильность достигается на заданной температуре, если стабильность будет на 20’ или 90’ - это плохо. Только точно на заданной.

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

теория это хорошо. откуда вы знаете сколько дать, 1% или 8%, есть формула конкретная для ГПУ?

прибор на видео с шаром конечно крутой, но “Данное видео создала группа людей, любящих и умеющих заниматься робототехникой” , т.е. группа, и сколько они этим занимались неизвестно, в рамках какого проекта и кто их спонсировал.

Это был просто пример для наглядности, при чём здесь роботы? Сам принцип ПИД-регуляции заключён в одной формуле. Я этим занимался для регулировки подачи высокого напряжения до 100000V с помощью балансировки двух инверторов с точностью до 10V. Другого простого способа удерживать что-то на заданном значении руководствуясь датчиками обратной связи нет. Но я же говорю, задачу можно упростить до P или P и D, если заморочиться, а сами коэффициенты P, I, D нужно дать дать редактировать в конфиг файле для тех, кому стандартная регулировка не нравится. Точно так же поступают в квадрокоптерах. PID-регулировка позволяет чётко управлять оборотами пропеллеров, а если у пользователя наблюдаются осцилляции или наоборот, ему хочется более быстрого и жёсткого управления, он сам заходит и меняет в конфигах коэффициенты.
нам здесь мгновенная за секунду стабилизация не нужна. Задача проще - ввести коэффициент P и завысить его, тогда обороты медленно, но уверенно будут стабилизированы за несколько коррекций. В примере с машинокй на 1:21 у нас сейчас наблюдается верхний вариант. Он бесконечно корректирует то вверх, то вниз, но никогда не достигнет цели из-за больших “перелётов”.

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

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

На одном риге все норм там bminer, на другом claymore и совсем беда с показаниями. Я выставил 61 градус.

@red4911 клеймор не регулирует? в личку отпиши подробнее плиз, какие карты, настройки.

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

Я ж о чём и говорю, регулирует, но нужно гораздо точнее это делать и деликатнее. Сейчас поставил 59 везде, имею от 53 до 62 и то гудящие, то тихий риг ежеминутно. Погрешность регулировки -11+5%. Это ещё больше раздражает слух, чем просто громкие карты. Нужно полностью переделать алгоритм, и сначала подумать.

подумаем как исправить.
такое положение происходит по причине общего коэффициента для всех карт. т.е. если хотя бы одна из карт не хочет остыть - то имеем то что на последнем скрине.
положение улучшает уменьшение дельты между коэффициентами. но есть ещё один момент в переходных состояниях, который можно исправить.
в случае с @red4911 на первом риге вообще не понятно что, вероятно сбой в массиве, возмоно как у @Bio . проверить не удалось, в багфиксе не хотят участвовать)
баг, если первая карта встроенная или амд - исправлен.
баг с принудительным майнер стартом - исправлен.
чтоб отключить автофан, достаточно не создавать конфиг или поле таргет_темп оставить пустым. автофан висит в скринах, но ничего не регулирует.

самый идеальный вариант - у всех карт одинаковая заданная пользолвателем температура +/- 1’, а когда одни охлаждаются сильнее, то другие нагреваются сильнее и начинается пляска с температурами и оборотами. и сейчас мы наблюдаем то что в одном риге разбег у карт более 7’.

@Deret постараюсь сделать идеальный вариант, спасибо)

@steambot, да, я только хотел сказать, что пронаблюдал, что скрипт ставит всем картам одинаковые обороты в зависимости от температуры согласно какой-то заранее заданной таблице вроде:
55’ -> ставь 45% (не зависимо от мощности СО карты)
56’ -> ставь 52%
57’ -> ставь 55% и т.д.
А так быть не может. Потому что, у одних карт скоростные вентиляторы, и они уже при 40% нехило качают и начинают шуметь, например, Asus Dual, а у других, например, любые inno3D iChill, очень спокойные и тихие вентиляторы. На моём скрине он красный. Они и при 95% тихие, но и обдув слабее. Конечно, нужно каждую карту регулировать независимо от других. Хух, ну, теперь всё выяснили. Надеюсь, автор теперь хорошо поработает ) А то лето уже идёт полным ходом. Разница между днём и ночью достигает 16’.

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

@SammoLove я изменил алгоритм, сейчас на рассмотрении. там такого нет, скрипт старается держать таргет темп. ну и применил правило “чем дальше тем сильнее” ))) на тестах система вышла стабильной.
проблема с красными картами. они живут своей жизнью. когда ставишь принудительно ПВМ он может не измениться, или измениться со значением -2 или ещё как то.
только неизвестно на всех красных или на определенных моделях.
upd: идея с изменением тайм слип тоже там. почти ПИД)))

апдейт на гите
для обновления:
wget -O /hive/sbin/autofan https://raw.githubusercontent.com/minershive/hiveos-linux/master/hive/sbin/autofan
chmod +x /hive/sbin/autofan
прибить старый и запустить новый или перезагрузка.
формат конфига /hive/config/autofan.conf:
TARGET_TEMP=60
MIN_FAN=30
MAX_FAN=100
#temperature of stop miner
CRITICAL_TEMP=85
#AMD fan control (AMD control enable-0/AMD control disable-1)
NO_AMD=0

Стало намного лучше! ±1’ прям, а коррекции всего на 1%, а если не помогло, то ещё на 1% -идеально! Вот мои скрины со старым и новым скриптом.

А временами вообще все по 60:

Умеете! Могёте! Наконец-то HiveOS стал автоматизированной системой в дополнение в веб-морде.

Yeah, the new autofan algo is perfect. AMD needs more work because of a bug with their fan control, but afaik @steambot is working on it.

@steambot, спасибо! работает лучше, аккуратнее. но стремление установить температуру с точностью до градуса приводит к тому, что постоянно регулируется то вверх, то вниз. гистерезис то вообще есть?) разброс два-три градуса просто обязан быть. т.к. изменению в 1% кулера может, например, соответствовать 2 градуса. и обороты никогда не устаканятся

@Bio если окружающая температура стабильна, то устаканиваются, у меня так на риге. пробовал сделать ±1 градус погрешность, тогда потом если темп дальше изменяется, сильнее начнет крутить. можно подкорректировать формулу, чтоб потом не было перерегулировки, я попробую.
@SammoLove спасибо за фидбеки, помогает)