|
|
@ -16,7 +16,23 @@ p2pool. |
|
|
|
|
|
|
|
|
|
|
|
Icarus |
|
|
|
Icarus |
|
|
|
|
|
|
|
|
|
|
|
There is a hidden option in cgminer when Icarus support is compiled in: |
|
|
|
There are two hidden options in cgminer when Icarus support is compiled in: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--icarus-options <arg> Set specific FPGA board configurations - one set of values for all or comma separated |
|
|
|
|
|
|
|
baud:work_division:fpga_count |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
baud The Serial/USB baud rate - 115200 or 57600 only - default 115200 |
|
|
|
|
|
|
|
work_division The fraction of work divided up for each FPGA chip - 1, 2, 4 or 8 |
|
|
|
|
|
|
|
e.g. 2 means each FPGA does half the nonce range - default 2 |
|
|
|
|
|
|
|
fpga_count The actual number of FPGA working - this would normally be the same |
|
|
|
|
|
|
|
as work_division - range is from 1 up to 'work_division' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you define fewer comma seperated values than Icarus devices, the last values will be used |
|
|
|
|
|
|
|
for all extra devices |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
An example would be: --icarus-options 57600:2:1 |
|
|
|
|
|
|
|
This would mean: use 57600 baud, the FPGA board divides the work in half however |
|
|
|
|
|
|
|
only 1 FPGA actually runs on the board (e.g. like an early CM1 Icarus copy bitstream) |
|
|
|
|
|
|
|
|
|
|
|
--icarus-timing <arg> Set how the Icarus timing is calculated - one setting/value for all or comma separated |
|
|
|
--icarus-timing <arg> Set how the Icarus timing is calculated - one setting/value for all or comma separated |
|
|
|
default[=N] Use the default Icarus hash time (2.6316ns) |
|
|
|
default[=N] Use the default Icarus hash time (2.6316ns) |
|
|
@ -24,6 +40,9 @@ There is a hidden option in cgminer when Icarus support is compiled in: |
|
|
|
long Re-calculate the hash time continuously |
|
|
|
long Re-calculate the hash time continuously |
|
|
|
value[=N] Specify the hash time in nanoseconds (e.g. 2.6316) and abort time (e.g. 2.6316=80) |
|
|
|
value[=N] Specify the hash time in nanoseconds (e.g. 2.6316) and abort time (e.g. 2.6316=80) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If you define fewer comma seperated values than Icarus devices, the last values will be used |
|
|
|
|
|
|
|
for all extra devices |
|
|
|
|
|
|
|
|
|
|
|
Icarus timing is required for devices that do not exactly match a default Icarus Rev3 in |
|
|
|
Icarus timing is required for devices that do not exactly match a default Icarus Rev3 in |
|
|
|
processing speed |
|
|
|
processing speed |
|
|
|
If you have an Icarus Rev3 you should not normally need to use --icarus-timing since the |
|
|
|
If you have an Icarus Rev3 you should not normally need to use --icarus-timing since the |
|
|
@ -55,9 +74,9 @@ bitstream to the default one, use 'long' mode and give it at least a few hundred |
|
|
|
'short' mode and take note of the final hash time value (Hs) calculated |
|
|
|
'short' mode and take note of the final hash time value (Hs) calculated |
|
|
|
You can also use the RPC API 'stats' command to see the current hash time (Hs) at any time |
|
|
|
You can also use the RPC API 'stats' command to see the current hash time (Hs) at any time |
|
|
|
|
|
|
|
|
|
|
|
The Icarus code currently only works with a dual FPGA device that supports the same commands as |
|
|
|
The Icarus code currently only works with an FPGA device that supports the same commands as |
|
|
|
Icarus Rev3 requires and also is less than ~840MH/s and greater than 2MH/s |
|
|
|
Icarus Rev3 requires and also is less than ~840MH/s and greater than 2MH/s |
|
|
|
If a dual FPGA device does hash faster than ~840MH/s it should work correctly if you supply the |
|
|
|
If an FPGA device does hash faster than ~840MH/s it should work correctly if you supply the |
|
|
|
correct hash time nanoseconds value |
|
|
|
correct hash time nanoseconds value |
|
|
|
|
|
|
|
|
|
|
|
The timing code itself will affect the Icarus performance since it increases the delay after |
|
|
|
The timing code itself will affect the Icarus performance since it increases the delay after |
|
|
|