Pages:
Author

Topic: мои форки cgminer и bfgminer для bitfury ASIC - page 32. (Read 53319 times)

legendary
Activity: 1912
Merit: 1020
а почему именно так? я бы наоборот поступил - если чип генерирует много ошибок, снижал бы частоту, если мало - повышал бы её
Все перепутал потому что...
У меня кстати эта сборка недолго работает, через некоторое время хэшрейт по всем чипам в ноль сбрасывается.
legendary
Activity: 1302
Merit: 1008
Через строку (кстати, не знал, что так можно) - не вариант - задолбаешься перезапускать.
пока так нельзя, но можно и нужно реализовать (и будет куда проще, чем через АПИ).
насчет перезапускать, а я вот совсем не уверен что можно вот так просто на ходу клок-биты менять и все будет пучком.
для чистоты эксперимента перезапускать всяко придется...
legendary
Activity: 1302
Merit: 1008
sr. member
Activity: 285
Merit: 250
реализовать саму автоподстройку - не проблема, это за вечер сделать можно. а вот разобраться, кого и куда нужно подстраивать, непросто.

Вот! Золотые слова Smiley Понятно, что вручную много не настроишь (мягко говоря), я хочу вручную потыкать, понять поведение, а уже исходя из этого составить алгоритм АПЧ.
Через строку (кстати, не знал, что так можно) - не вариант - задолбаешься перезапускать.

с авалоновскими чипами процесс разработки давно завершен, а тестовый битфури-блейд молотит сейчас на элигиусе, ссылка парой сообщений выше

Ага, увидел. Короче, нам с метобанковскими двуслойками взрыв хешрейта не светит Sad
Но, все равно, мне кажется четырехслойки не стоили твоих мытарств с китайцами.
Вот, cscape, какую-то ересь четырехслойную замутил за 15 минут. Эту ересь быстро собрали и запустили. Тут главное скорость, а не качество, ИМХО.
hero member
Activity: 742
Merit: 500
BTCDig - mining pool
legkodymov, подскажи откуда эти константы взялись? как вычислял их?

Code:
double shares_to_ghashes(int shares, int seconds) {
return (double)shares / (double)seconds * 4.84387;  //orig: 4.77628
}

Оригинальная формула выглядит примерно так (дает скорость в MHash/s):
speed = (shares * 4294967296) / (time_sec * 1000000)

Где первая константа это 2^32  -  nonce range
Т.к. нахождение шары процесс случайный, скорость все время плавает.
Чем меньше промежуток расчета, тем выше погрешность.  Для 5 минут до 20%.
Если "оптимизировать" вычисления и брать небольшой промежуток, то точность падает, что "компенсируют" задиранием величины константы.
legendary
Activity: 1302
Merit: 1008
Тоже думаю в том направлении, уже начал код апи ковырять, может прикручу подстройку частот чипов и spi.
может лучше все это через параметры командной строки передавать? допустим все чипы имеют клок по умолчанию 54 (стандарт де-факто), а через параметр задавать индивидуальные настройки, например

--bitfury-clockbits="4:53,7:55,12:53"

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

needbmw, понимаю, у тебя время мало, так что заканчивай быстрее со своими авалоноклонами, давно пора в будущее смотреть, мутить с битфури-чипами.
с авалоновскими чипами процесс разработки давно завершен, а тестовый битфури-блейд молотит сейчас на элигиусе, ссылка парой сообщений выше
sr. member
Activity: 285
Merit: 250
выложи программку, красиво получилось  Smiley
положил здесь: https://bitcointalksearch.org/topic/m.3115503

над регулировкой клока через апи надо подумать, хорошая идея кстати.

Тоже думаю в том направлении, уже начал код апи ковырять, может прикручу подстройку частот чипов и spi.
needbmw, понимаю, у тебя время мало, так что заканчивай быстрее со своими авалоноклонами, давно пора в будущее смотреть, мутить с битфури-чипами.
legendary
Activity: 1302
Merit: 1008
Подбирал по счетчику strange_counter, там где малые значения накапливаются для чипа - ставил 53, где большие соответственно 55.
а почему именно так? я бы наоборот поступил - если чип генерирует много ошибок, снижал бы частоту, если мало - повышал бы её
legendary
Activity: 1302
Merit: 1008
legkodymov, подскажи откуда эти константы взялись? как вычислял их?

Code:
double shares_to_ghashes(int shares, int seconds) {
return (double)shares / (double)seconds * 4.84387;  //orig: 4.77628
}
legendary
Activity: 1912
Merit: 1020
Сделал небольшие модификации исходников для своего устройства на 15 плат. Пока это пробная программная подгонка, исходя из небольшого по длительности теста.
Пока вместо файла с настройками, получается тупая копипаста для отличившихся чипов:
Code:
        libbitfury_setChipClk(devices, chip_n, 5, 0, 53);
        libbitfury_setChipClk(devices, chip_n, 5, 1, 53);
        libbitfury_setChipClk(devices, chip_n, 5, 5, 53);

Подбирал по счетчику strange_counter, там где малые значения накапливаются для чипа - ставил 53, где большие соответственно 55.
Вот мне кстати говорили в другой ветке, что радиаторы на чипах не нужны. А тут совпадение или нет, а 8 плата с радиаторами просто самая лучшая по показателям (5 чипов хороших).

legendary
Activity: 1302
Merit: 1008
мои измерения скорости через API (к сожалению не помню где какой вольтаж, но примерно все платы у меня работают в диапазоне 0.88-0.92В):

четырехслойная плата, одна цепочка в 20 чипов:            
[ghash_total] => 50.424687
[ghash_avg] => 2.521234

двухслойная плата, одна цепочка 100 чипов:
[ghash_total] => 225.175370
[ghash_avg] => 2.251754

двухслойная плата, одна цепочка 40 чипов:
[ghash_total] => 89.369402
[ghash_avg] => 2.234235

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

http://eligius.st/~wizkid057/newstats/userstats.php/18R28t8nUCK5iwV4YBoHH5WaNZUoVvJRyg
понаблюдаем...
sr. member
Activity: 363
Merit: 250
Первым делом перенести бы все эти изменения на BFGMiner... А то cgminer как-то кривоват сам по себе, например соединения закрывать "забывает".

Часть изменений уже там в бранче littlefury
sr. member
Activity: 266
Merit: 250
Надо сделать не только регулировку клока по cgminer api, а еще возможность сохранять / загружать эти настройки посредством файла или командной строки на случай перезапуска cgminer'а. Когда ковырял исходники драйвера авалона касательно управления вентиляторной pwm пришел к необходимости строить функцию, даже правильнее сказать, таблицу pwm(delta_temp) дабы полностью избежать самовозбуждения системы - собственно, та же проблема всплыла сразу. Нужно как-то сохранять полученный результат, чтобы потом после перезапуска его снова использовать, а не стучаться по api еще одним костылем вбивающим нужные значения или ждать пока оно автоматом их подберет. Так и не дописал до конца эту часть, в итоге вынес в командную строку и подобрал боле-менее константы имеющегося топорного алгоритма и забил на это. Как появятся чипы или метабанковское железо на них - будет мотивация дописать в новом качестве. Чем и займусь, если к тому времени не будет уже реализовано. Также уже думаю в будущем прикрутить эту статистику (чтоб выглядело не хуже картинки выше) к вебинтерфейсу.
 
legendary
Activity: 1302
Merit: 1008
но (ИМХО) это такой головняк что даже связываться не стоит  Smiley

Я того же мнения, сборка на распи занимает около 15 минут.
это только в первый раз, потом если не трогать хэдеры не больше 30 секунд пересобирается даже когда майнит параллельно, вполне себе терпимо.
legendary
Activity: 1302
Merit: 1008
Доделал вчера программу для работы с API форка needbmw:
выложи программку, красиво получилось  Smiley

Поглядел на статистику, оказалось HW показывает не мух, а вполне конкретные значения. На фото средний HW 3,14% потому что майнит всего 45минут, вчера после 2 часов было около 1,2%.
Как видно, четвертого модуля в устройстве нет (потому 72чипа, а не 80).
needbmw по средней на чип совсем все плохо? Ты писал >2.5Гх - это на самодельных устройствах?
это на 4-слойных платах с медью 70мкм и 3А на чип, вечером посмотрю статистику и выложу более конкретные цифры, в т.ч. и для двухслойных плат.
на самом деле больше всего интересно верно ли измерение ghash_total (соответствует ли показаниям пула), там у Лекгодымова какая-то константа мне непонятная стоит в функции преобразования кол-ва шар в гигахэши, может мы опять в попугаях меряем.
если показания ghash_total верные, то и остальные тоже должны быть верными.

И еще вопрос, почему у некоторых чипов клок отличается? Когда ты успел прикрутить АПЧ?  Shocked OMG
Может, замутишь регулируемый клок-бит с доступом через апи, можно будет прикрутить в прогу и мучать чипы, глядя на их HW и скорость.
автоподстройки пока нет, это я на контрольной плате подбирал оптимальные значения и забыл их убрать перед коммитом.
посмотри в файле driver-bitfury.c функция bitfury_scanHash 93-97 строка.
над регулировкой клока через апи надо подумать, хорошая идея кстати.
sr. member
Activity: 285
Merit: 250
Доделал вчера программу для работы с API форка needbmw:



Поглядел на статистику, оказалось HW показывает не мух, а вполне конкретные значения. На фото средний HW 3,14% потому что майнит всего 45минут, вчера после 2 часов было около 1,2%.
Как видно, четвертого модуля в устройстве нет (потому 72чипа, а не 80).
needbmw по средней на чип совсем все плохо? Ты писал >2.5Гх - это на самодельных устройствах?
И еще вопрос, почему у некоторых чипов клок отличается? Когда ты успел прикрутить АПЧ?  Shocked OMG
Может, замутишь регулируемый клок-бит с доступом через апи, можно будет прикрутить в прогу и мучать чипы, глядя на их HW и скорость.
legendary
Activity: 3108
Merit: 1359
На какой виртуалке можно запустить образ с земляникой для нужд компиляции проекта? Не хочу на добывающем устройстве долго мучаться, после тестовых правок )
Впрочем, сомневаюсь что сейчас есть быстрые ARM эмуляторы...
Qemu. Не быстрый т.к. полностью программная эмуляция, но поддерживает многопроцессорность.
http://habrahabr.ru/post/143808/
http://www.opennet.ru/base/sys/linux_arm_qemu.txt.html

А вообще, я кросс-компиляцией собираю под win32/win64, под ARM аналогично будет.
legendary
Activity: 1912
Merit: 1020
Я того же мнения, сборка на распи занимает около 15 минут.
После привычной мне компиляции в Delphi за 2 секунды, я боюсь быстро плюну на попытки модификации исходников ))
sr. member
Activity: 285
Merit: 250
но (ИМХО) это такой головняк что даже связываться не стоит  Smiley

Я того же мнения, сборка на распи занимает около 15 минут.
legendary
Activity: 1302
Merit: 1008
На какой виртуалке можно запустить образ с земляникой для нужд компиляции проекта? Не хочу на добывающем устройстве долго мучаться, после тестовых правок )
можно настроить кросс-компиляцию (гугли raspberry pi cross compiling)
как пример настройка по Windows http://www.gurucoding.com/en/rpi_cross_compiler/index.php
но (ИМХО) это такой головняк что даже связываться не стоит  Smiley
Pages:
Jump to: