Скрипт для автоперебора частот в bfgminer
Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
Скрипт, показанный ниже, перебирает частоты ядра и/или памяти для указанной карты в bfgminer или cgminer. Будет полезен при поиске максимального хэшрейта на майнинге scrypt-криптовалют. Для управления используется Python-скрипт для доступа к API. Для его работы необходимо в конфиге майнера включить следующие опции:
"api-port" : "4028", "api-allow" : "W:127.0.0.1", "api-listen" : true,
Все параметры задаются несколькими переменными в начале скрипта. Для отключения перебора по одному из параметров (например, перебирать только частоты ядра при фиксированной частоте памяти) указывайте одно значение, а не диапазон. Переменные *shift задают инкремент для соответствующего параметра.
#!/bin/bash
api='./api-example.py'
timeout='20'
cardnum='0'
core='800-805'
coreshift='1'
mem='1000'
memshift='5'
startcore="${core/-*/}" ; [[ "${core}" =~ '-' ]] && stopcore="${core/*-/}" || stopcore="${startcore}"
startmem="${mem/-*/}" ; [[ "${mem}" =~ '-' ]] && stopmem="${mem/*-/}" || stopmem="${startmem}"
core="${startcore}"
mem="${startmem}"
while :
do
$api devs | sed 's/,/,\n/g' | sed -n "/u'GPU': "$cardnum"/,/Memory/p" |
awk '
/GPU Clock/{
c=$3
gsub(/,/, "", c)
}
/Memory Clock/{
m=$3
gsub(/,/, "", m)
}
/MHS 5s/{
h=$3
gsub(/,/, "", h)
} END {
print "C:"c, "M:"m , "S:"h
}'
[ "${core}" -ge "${stopcore}" ] && {
[ "${mem}" -ge "${stopmem}" ] && break || {
core="${startcore}"
mem=$(($mem+$memshift))
}
} || let core+="${coreshift}"
$api gpuengine $cardnum,$core 1>/dev/null
$api gpumem $cardnum,$mem 1>/dev/null
sleep "${timeout}"
done