Bitcoin Forum
November 23, 2017, 09:44:48 AM *
News: Latest stable version of Bitcoin Core: 0.15.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 [2] 3 4 5 6 »  All
  Print  
Author Topic: *gminers forks by alpet  (Read 8081 times)
bason
Member
**
Offline Offline

Activity: 61


View Profile
September 27, 2013, 10:51:07 AM
 #21

так,это понял, а дефайны можно самому исправить, если да то где ?
No Gods or Kings. Only Bitcoin
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
alpet
Legendary
*
Offline Offline

Activity: 1745


View Profile WWW
September 27, 2013, 10:52:28 AM
 #22

так,это понял, а дефайны можно самому исправить, если да то где ?
nano bitfury-config.h

Novacoin we trust!
Плавайте поездами Аэрофлота.
bason
Member
**
Offline Offline

Activity: 61


View Profile
September 27, 2013, 03:58:53 PM
 #23

закомментировал и открыл строку с // #define BITFURY_NEEDBMW_NOMUX 1
запустил билд.сш, запустил сгмайнер, идет очень долгий очень долгий поиск чипа и на 9 слоте он его находит.
Пока что ошибок очень много и скорость всего 400 мхешей
invader
Sr. Member
****
Offline Offline

Activity: 262



View Profile
September 27, 2013, 04:09:20 PM
 #24

Ковыряю driver-bitfury.c, точнее пытаюсь в нем разобраться для начала. Так и не понял, что именно сломалось в текущей версии автоподбора, но уже возникает стойкое желание понять текущую реализацию алгоритма и переписать его, ибо функция freq_bruteforce() мне пока напоминает какую-то черную магию.

определяем переменную, вроде как гхэши
float best = 3; // extremum Ghz for 54 clk

следующей строчкой тут же присваиваем значение этих гхэшей из статистики объекта "чип" (dev) .. а предыдущая строчка зачем тогда, проинициализировать переменную? relative_bits_index() возвращает номера [0..3] считывая текущую частоту из dev?
best = dev->rbc_stat[ridx];

определяем еще одну переменную
int test_count = 4;

складываем количество "раз" выбора различных частот
for (i = 0; i < 4; i ++) csum += dev->cch_stat[ i ];

вот здесь уже начинается непонятно, почему 2 ...
    if ( csum > 2 )
         test_count = 2;

... или почему 4
if ( csum > 4 ) optimal = dev->cch_stat[ridx]; // probably best choice

И так далее. Изучаю. Конечно, код говорит сам за себя и его надо только осознать со временем, но если автора не сильно затруднит и он хотя бы попытается описать на словах алгоритм - дело пойдет несколько быстрее. Как уже говорил, как только разберусь боле-менее в коде, попробую переписать эту функцию и вынести некоторые параметры в виде опций.
alpet
Legendary
*
Offline Offline

Activity: 1745


View Profile WWW
September 27, 2013, 04:56:17 PM
 #25

закомментировал и открыл строку с // #define BITFURY_NEEDBMW_NOMUX 1
запустил билд.сш, запустил сгмайнер, идет очень долгий очень долгий поиск чипа и на 9 слоте он его находит.
Пока что ошибок очень много и скорость всего 400 мхешей
Если честно, у меня нет возможности тестировать альтернативные устройства, кроме как от Метабанка. Наверное этот форк только с ними и будет работать...

invader
Самая большая проблема этого подбора на сейчас, не сложность алгоритма отбора. Слишком маленькие периоды для тестов, при том что в них включается период "холодного хэширования".
Что-же до логики, попытаюсь описать насколько помню.
1. В массиве rbc_stat собираются четыре значения хэшрейта, за четыре раунда брутфорса. У каждого раунда выбирается соответственно своя частота осциллятора, в этом суть брутфорса.
2. Что касается csum, если было три соревнования, то наверняка определится две наилучших частоты, между которыми потом будет сравнение происходить. Для двух вариантов вроде как нет смысла делать четыре раунда.

[edited]
Сейчас несколько другая идея по оптимизации. Программа научилась собирать статистику по чипам в гистограммы, и записывать в отдельные файлы.
Так что вольтмодим, гоняем день на 54, день на 53 (сохраняем файлы отдельно). Потом из таблицы в консоли выбираем те чипы, у которых прям замечательные результаты на 54 и сверяем для них файлы. Несколько больше ручной работы, но надежность наверняка выше будет.
Чтобы файлы начали дампиться в /var/log/bitfury необходимо раскомментировать #define BITFURY_CHIP_STAT.
Кстати стоит сделать скрипт их архивации/бэкапа, поскольку в полночь они превращаются в тыквы затираются.


Novacoin we trust!
Плавайте поездами Аэрофлота.
alpet
Legendary
*
Offline Offline

Activity: 1745


View Profile WWW
September 30, 2013, 05:55:34 AM
 #26

Сегодня было обновление bfgminer до версии что дает у меня наиболее высокую производительность: 315-320Гх для строенного устройства. Можно экспериментировать теперь с разными параметрами )

Novacoin we trust!
Плавайте поездами Аэрофлота.
invader
Sr. Member
****
Offline Offline

Activity: 262



View Profile
September 30, 2013, 12:17:02 PM
 #27

Есть мнение, что автоподбор неэффективен по причине накопления лишних hw_errors в слотах 0..7. Причина их возникновения кроется, вероятно, в реализации шины SPI - отключение второй платы помогает ( https://bitcointalk.org/index.php?topic=287147.msg3267249#msg3267249 ). Нужно научиться их как-то фильтровать чтобы собирать реальные значения.
alpet
Legendary
*
Offline Offline

Activity: 1745


View Profile WWW
September 30, 2013, 03:12:30 PM
 #28

Есть мнение, что автоподбор неэффективен по причине накопления лишних hw_errors в слотах 0..7. Причина их возникновения кроется, вероятно, в реализации шины SPI - отключение второй платы помогает ( https://bitcointalk.org/index.php?topic=287147.msg3267249#msg3267249 ). Нужно научиться их как-то фильтровать чтобы собирать реальные значения.
Там не вторая плата виновата, а скорее всего резисторы терминаторы на ней. Они либо подобраны неправильно по номиналу (волновому сопротивлению линии не соответствуют), либо с ними ещё какая-то проблема. У меня сегодня была ситуация, когда кулером слегка их погнул, даже не допуская замыкания: так перестали чипы определяться сходу некоторые. Пока не догадался выпрямить, ничто другое не помогало (жаль не впаяли изначально SMD). Думаю надо будет проверить что с фронтами сигналов, особенно на конце линии. Отключать вторую плату на устройствах с 15-платами, это мягко говоря "не вариант" )

Novacoin we trust!
Плавайте поездами Аэрофлота.
Integ
Legendary
*
Offline Offline

Activity: 910


!


View Profile
September 30, 2013, 04:07:08 PM
 #29

Там не вторая плата виновата, а скорее всего резисторы терминаторы на ней. Они либо подобраны неправильно по номиналу (волновому сопротивлению линии не соответствуют), либо с ними ещё какая-то проблема. У меня сегодня была ситуация, когда кулером слегка их погнул, даже не допуская замыкания: так перестали чипы определяться сходу некоторые. Пока не догадался выпрямить, ничто другое не помогало (жаль не впаяли изначально SMD). Думаю надо будет проверить что с фронтами сигналов, особенно на конце линии. Отключать вторую плату на устройствах с 15-платами, это мягко говоря "не вариант" )
Я собственно из-за них и отключал.
Проверить с твоим оборудованием будет проще, у меня осцил доисторический Roll Eyes
На конце линии, как ни парадоксально, все работает без hw Undecided

Если Вы давно собирались отправить мне деньги, но боялись предложить - у Вас есть шанс сделать это! - гокс кинул меня на 31248 сатоши!
1NiWhDiKGfyWj4EoJXDLm1J3SXsZSjUCjB (получено, спасибо! )))
Мой аккаунт был угнан 22 февраля https://bitcointalk.org/index.php?topic=1844703.0, продан и 17 апреля возвращен добросовестным покупателем.
Модераторы форума, способные принимать решения, полностью проигнорировали мой запрос на восстановление. Делайте выводы.
invader
Sr. Member
****
Offline Offline

Activity: 262



View Profile
September 30, 2013, 07:34:40 PM
 #30

Проблема скорее всего в плохом согласовании линии и отражении сигнала. Почитал немного, есть как минимум два способа терминирования SPI линии, причем резисторы в конце - самый плохой. Советуют ставить в начале. Достаточно развернутое описание по этой теме. Нужно попробовать переделать согласование линии и посмотреть к чему это приведет.
alpet
Legendary
*
Offline Offline

Activity: 1745


View Profile WWW
October 01, 2013, 07:01:37 AM
 #31

Проблема скорее всего в плохом согласовании линии и отражении сигнала. Почитал немного, есть как минимум два способа терминирования SPI линии, причем резисторы в конце - самый плохой. Советуют ставить в начале. Достаточно развернутое описание по этой теме. Нужно попробовать переделать согласование линии и посмотреть к чему это приведет.
Тут ещё и земляная петля в наличии, при том что земля на основной плате ещё и под мощным перегрузом (греется при вольтмоде).

Занимаюсь ещё одним явлением, более неприятным чем обилие HW: отваливание чипов. На одной платке стабильно отваливался один чип, и кажется удалось с этим справиться, вставив паузы 85 микросекунд, до и после вызова tm_i2c_set_oe(slot). Делаю промежуточный вывод, что микросхемы мультиплексоров на некоторых платах тормознутые, вот только как-бы задержку теперь подобрать поменьше.

Novacoin we trust!
Плавайте поездами Аэрофлота.
needbmw
Legendary
*
Offline Offline

Activity: 1246



View Profile
October 01, 2013, 07:48:34 AM
 #32

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

NO PSAKING!
alpet
Legendary
*
Offline Offline

Activity: 1745


View Profile WWW
October 01, 2013, 08:05:54 AM
 #33

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

[edited]
Ещё один ньюанс с засилием HW. Оказывается чаще всего ими оказывается заполнен весь буфер (ну или 13-14 из 16), что подразумевает затирание решений и вообще отбраковку задания. Тут есть вопрос, а не пропустит-ли таким образом устройство искомый nonce с блоком?
Как видно на картинке, страдают от ошибок более всего первые 8 плат к контроллеру (они у меня физически так-же установлены по индексам):

Novacoin we trust!
Плавайте поездами Аэрофлота.
bee7
Hero Member
*****
Offline Offline

Activity: 574


View Profile
October 01, 2013, 11:11:10 AM
 #34

Я тут еще чуток почистил/пооптимизировал.

Снизил в 4 раза время опроса: на 4MHz 40 чипов опрашиваются 25ms вместо 100

свой форк обновил
alpet
Legendary
*
Offline Offline

Activity: 1745


View Profile WWW
October 01, 2013, 11:14:56 AM
 #35

Я тут еще чуток почистил/пооптимизировал.

Снизил в 4 раза время опроса: на 4MHz 40 чипов опрашиваются 25ms вместо 100

свой форк обновил
У меня без дополнительных задержек теперь тоже быстрый опрос, т.к. сделал переключение мультиплексора "по необходимости", но отваливание чипов чаще случается. Поэтому задержки оставил, и как видишь 208 мс на 120 чипов...

Novacoin we trust!
Плавайте поездами Аэрофлота.
bee7
Hero Member
*****
Offline Offline

Activity: 574


View Profile
October 01, 2013, 11:20:33 AM
 #36

Я тут еще чуток почистил/пооптимизировал.

Снизил в 4 раза время опроса: на 4MHz 40 чипов опрашиваются 25ms вместо 100

свой форк обновил
У меня без дополнительных задержек теперь тоже быстрый опрос, т.к. сделал переключение мультиплексора "по необходимости", но отваливание чипов чаще случается. Поэтому задержки оставил, и как видишь 208 мс на 120 чипов...

Странно. У меня правда только три платы в вольтмоде, и всего их 5. Отвал чипов конечно случается, но не часто. Не чаше чем раньше.
alpet
Legendary
*
Offline Offline

Activity: 1745


View Profile WWW
October 01, 2013, 11:31:21 AM
 #37

Странно. У меня правда только три платы в вольтмоде, и всего их 5. Отвал чипов конечно случается, но не часто. Не чаше чем раньше.
А сколько у тебя сейчас HW % ?

Novacoin we trust!
Плавайте поездами Аэрофлота.
bee7
Hero Member
*****
Offline Offline

Activity: 574


View Profile
October 01, 2013, 01:01:34 PM
 #38

Странно. У меня правда только три платы в вольтмоде, и всего их 5. Отвал чипов конечно случается, но не часто. Не чаше чем раньше.
А сколько у тебя сейчас HW % ?
2.5-3% 3.9% (в среднем на все 40 чипов)

Еще, кстати, на 5ms сократил, смотрю что получилось
bee7
Hero Member
*****
Offline Offline

Activity: 574


View Profile
October 01, 2013, 03:37:25 PM
 #39

Ещё один ньюанс с засилием HW. Оказывается чаще всего ими оказывается заполнен весь буфер (ну или 13-14 из 16), что подразумевает затирание решений и вообще отбраковку задания. Тут есть вопрос, а не пропустит-ли таким образом устройство искомый nonce с блоком?
Я думаю, что в случае когда приходит подряд много неправильных ответов одной серией, это означает, что порча случилась на передаче "туда", т.е. посчитал чип вовсе не то, что мы хотели. Но я у себя таких серий не вижу.

Кстати, я тут обновил свой форк еще раз. Попробуй его, если не сложно.
alpet
Legendary
*
Offline Offline

Activity: 1745


View Profile WWW
October 01, 2013, 04:24:55 PM
 #40

Я думаю, что в случае когда приходит подряд много неправильных ответов одной серией, это означает, что порча случилась на передаче "туда", т.е. посчитал чип вовсе не то, что мы хотели. Но я у себя таких серий не вижу.
Кстати, я тут обновил свой форк еще раз. Попробуй его, если не сложно.
Ситуация даже страннее, данные как правило портятся на пересылке "оттуда", и в основном однократно при опросе. Чтобы докопаться до сути, пришлось по совету Bitfury тупо дампить все решения, и смотреть на аномалии.
 Сделал фикс на это дело тяжелый, и теперь HW считаются совсем по другому (18% сейчас на стоковом). Хотя их преобладание на первых 8 платах очевидно, пока нельзя сделать вывод что они влияют на хэшрейт (если задания чипу не повреждаются). Предварительно думается у меня сейчас новый рекорд по производительности, но нужно проверить поведение забастовщиков.
Твой форк несколько позже смогу проверить.

Novacoin we trust!
Плавайте поездами Аэрофлота.
Pages: « 1 [2] 3 4 5 6 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!