Bitcoin Forum
April 20, 2024, 04:18:31 PM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 »
  Print  
Author Topic: мои форки cgminer и bfgminer для bitfury ASIC  (Read 53269 times)
alexxy
Sr. Member
****
Offline Offline

Activity: 363
Merit: 250


View Profile
September 09, 2013, 02:46:57 PM
 #41

Первым делом перенести бы все эти изменения на BFGMiner... А то cgminer как-то кривоват сам по себе, например соединения закрывать "забывает".

Часть изменений уже там в бранче littlefury
1713629911
Hero Member
*
Offline Offline

Posts: 1713629911

View Profile Personal Message (Offline)

Ignore
1713629911
Reply with quote  #2

1713629911
Report to moderator
If you see garbage posts (off-topic, trolling, spam, no point, etc.), use the "report to moderator" links. All reports are investigated, though you will rarely be contacted about your reports.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
needbmw (OP)
Legendary
*
Offline Offline

Activity: 1302
Merit: 1008



View Profile
September 09, 2013, 04:27:50 PM
Last edit: September 09, 2013, 04:44:11 PM by needbmw
 #42

мои измерения скорости через 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
понаблюдаем...

NO PSAKING!
alpet
Legendary
*
Offline Offline

Activity: 1912
Merit: 1020


View Profile WWW
September 09, 2013, 04:46:46 PM
 #43

Сделал небольшие модификации исходников для своего устройства на 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 чипов хороших).


Novacoin we trust!
https://svcpool.io - PoS стейкинг и обменник NVC/BTC.
needbmw (OP)
Legendary
*
Offline Offline

Activity: 1302
Merit: 1008



View Profile
September 09, 2013, 05:12:40 PM
Last edit: September 09, 2013, 05:23:36 PM by needbmw
 #44

legkodymov, подскажи откуда эти константы взялись? как вычислял их?

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

NO PSAKING!
needbmw (OP)
Legendary
*
Offline Offline

Activity: 1302
Merit: 1008



View Profile
September 09, 2013, 05:15:19 PM
 #45

Подбирал по счетчику strange_counter, там где малые значения накапливаются для чипа - ставил 53, где большие соответственно 55.
а почему именно так? я бы наоборот поступил - если чип генерирует много ошибок, снижал бы частоту, если мало - повышал бы её

NO PSAKING!
ProtonEvil
Sr. Member
****
Offline Offline

Activity: 285
Merit: 250


View Profile
September 09, 2013, 06:41:52 PM
 #46

выложи программку, красиво получилось  Smiley
положил здесь: https://bitcointalk.org/index.php?topic=287147.msg3115503#msg3115503

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

Тоже думаю в том направлении, уже начал код апи ковырять, может прикручу подстройку частот чипов и spi.
needbmw, понимаю, у тебя время мало, так что заканчивай быстрее со своими авалоноклонами, давно пора в будущее смотреть, мутить с битфури-чипами.
needbmw (OP)
Legendary
*
Offline Offline

Activity: 1302
Merit: 1008



View Profile
September 09, 2013, 06:50:13 PM
 #47

Тоже думаю в том направлении, уже начал код апи ковырять, может прикручу подстройку частот чипов и spi.
может лучше все это через параметры командной строки передавать? допустим все чипы имеют клок по умолчанию 54 (стандарт де-факто), а через параметр задавать индивидуальные настройки, например

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

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

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

NO PSAKING!
dbitcoin
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500

BTCDig - mining pool


View Profile WWW
September 09, 2013, 06:55:30 PM
 #48

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%.
Если "оптимизировать" вычисления и брать небольшой промежуток, то точность падает, что "компенсируют" задиранием величины константы.

BTCDig - mining pool (Stratum, VarDiff, DGM, SSL, JSON API)
ProtonEvil
Sr. Member
****
Offline Offline

Activity: 285
Merit: 250


View Profile
September 09, 2013, 07:00:40 PM
 #49

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

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

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

Ага, увидел. Короче, нам с метобанковскими двуслойками взрыв хешрейта не светит Sad
Но, все равно, мне кажется четырехслойки не стоили твоих мытарств с китайцами.
Вот, cscape, какую-то ересь четырехслойную замутил за 15 минут. Эту ересь быстро собрали и запустили. Тут главное скорость, а не качество, ИМХО.
needbmw (OP)
Legendary
*
Offline Offline

Activity: 1302
Merit: 1008



View Profile
September 09, 2013, 07:01:07 PM
 #50


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

Где первая константа это 2^32  -  nonce range
Т.к. нахождение шары процесс случайный, скорость все время плавает.
Чем меньше промежуток расчета, тем выше погрешность.  Для 5 минут до 20%.
Если "оптимизировать" вычисления и брать небольшой промежуток, то точность падает, что "компенсируют" задиранием величины константы.

ну, с оригинальной формулой я хорошо знаком, и если бы увидел 4.294967 в коде, совсем не удивился бы.
а вот остальное объяснение просто в голове не укладывается, релятивистские сдвиги какие-то, однако  Grin
хотелось бы услышать комментарий Легкодымова

NO PSAKING!
needbmw (OP)
Legendary
*
Offline Offline

Activity: 1302
Merit: 1008



View Profile
September 09, 2013, 07:03:41 PM
 #51

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

NO PSAKING!
alpet
Legendary
*
Offline Offline

Activity: 1912
Merit: 1020


View Profile WWW
September 09, 2013, 07:05:27 PM
 #52

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

Novacoin we trust!
https://svcpool.io - PoS стейкинг и обменник NVC/BTC.
rPman
Legendary
*
Offline Offline

Activity: 1120
Merit: 1069


View Profile WWW
September 09, 2013, 07:05:51 PM
 #53

Во время перезапуска чипам посылается последовательность реиннициализации. Логично вместо перезапуска всего майнера дождаться нового задания и перед ним послать конкретному чипу команду реиннициализации с новыми параметрами.

Здесь не может находиться ваша реклама Smiley
Protect a future of bitcoin, use p2pool
Donation in BTC: 19fv5yYtfWZ9jQNjx2ncmu1TTrvg5CczZe
ProtonEvil
Sr. Member
****
Offline Offline

Activity: 285
Merit: 250


View Profile
September 09, 2013, 07:08:39 PM
 #54

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

Стоп, если нельзя на ходу, как тогда АПЧ мутить? Составлять карту клоков во время работы, а потом загружать при старте?
alpet уже начал регулировать на ходу - может остановить его, пока не поздно.  Smiley
ProtonEvil
Sr. Member
****
Offline Offline

Activity: 285
Merit: 250


View Profile
September 09, 2013, 07:09:57 PM
 #55

Логично вместо перезапуска всего майнера дождаться нового задания и перед ним послать конкретному чипу команду реиннициализации с новыми параметрами.

Все становится сложнее...
needbmw (OP)
Legendary
*
Offline Offline

Activity: 1302
Merit: 1008



View Profile
September 09, 2013, 07:17:16 PM
 #56

Стоп, если нельзя на ходу, как тогда АПЧ мутить?
я имел ввиду для чистоты эксперимента по изучению влияния клок-битов на суммарный хэшрейт перезапустить майнер после изменения не помешает.
принципиально клок на ходу менять можно (chainminer же меняет).

NO PSAKING!
alexxy
Sr. Member
****
Offline Offline

Activity: 363
Merit: 250


View Profile
September 09, 2013, 07:59:12 PM
 #57

legkodymov, подскажи откуда эти константы взялись? как вычислял их?

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

Это битфури где то писал (в ветке про предзаказ от метабанка), что одна шара это 4.84387Gh/s по этому чип на 3Gh/s должен давать примерно 0.619 шары в секунду
needbmw (OP)
Legendary
*
Offline Offline

Activity: 1302
Merit: 1008



View Profile
September 09, 2013, 08:06:33 PM
 #58

Это битфури где то писал (в ветке про предзаказ от метабанка), что одна шара это 4.84387Gh/s по этому чип на 3Gh/s должен давать примерно 0.619 шары в секунду
вот мне интересно откуда эти цифры?

итого сейчас имеем на контрольной плате три разных хэшрейта:

54.45Гх/c среднее(avg) в шапке cgminer
52.73Гх/c трехчасовое среднее на элигиусе
~50.5Гх/c среднее по API (оно вообще говоря не чисто среднее за все время, а за последние 10 минут, но болтается в диапазоне 49-51)

что-то здесь не так...  Huh

NO PSAKING!
alexxy
Sr. Member
****
Offline Offline

Activity: 363
Merit: 250


View Profile
September 09, 2013, 08:10:26 PM
 #59

вот мне интересно откуда эти цифры?

итого сейчас имеем на контрольной плате три разных хэшрейта:

54.45Гх/c среднее(avg) в шапке cgminer
52.73Гх/c трехчасовое среднее на элигиусе
~50.5Гх/c среднее по API (оно вообще говоря не чисто среднее за все время, а за последние 10 минут, но болтается в диапазоне 49-51)

что-то здесь не так...  Huh

Кстати по поводу форка, вроде как у luke-jr в littlefury бранче реализован контроль ошибок в bfgminer для чипов, может вам стоит скооперироваться?
needbmw (OP)
Legendary
*
Offline Offline

Activity: 1302
Merit: 1008



View Profile
September 09, 2013, 10:57:03 PM
Last edit: September 10, 2013, 04:05:57 AM by needbmw
 #60

Более-менее разобрался со статистикой.
а константу-то похоже подгоняли под хэшрейт, отображаемый на пуле, другого объяснения я не нахожу  Roll Eyes

Changelog:

- абсолютно честная константа 4.294967296 при пересчете шары->Гх/c
- гигахэши в шапке cgminer-a теперь неплохо совпадают с гигахэшами по API (хотя считаются внутри по-разному) и совпадают со средним на элигиусе
- полностью избавился от duplicate-шар, стало в разы меньше реджектов
- вернул на место счетчик HW ошибок (хотя меня все еще терзают сомнения а ошибки ли это)
- изменились некоторые имена параметров в API на более вменяемые (ProtonEvil, придется это учесть в твоей проге).

NO PSAKING!
Pages: « 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!