1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-09 14:28:12 +00:00
Commit Graph

673 Commits

Author SHA1 Message Date
Martin Danielsen
7aeae40af2 EXPERIMENTAL: A new way of setting intensity; introducing xintensity!
All of this is credited to ArGee of RGMiner, he did the initial ground work for this setting.

This new setting allows for a much finer grained intensity setting and also opens up for dual gpu threads on devices not previously able to. Note: make sure to use lower thread-concurrency values when you increase cpu threads.

Intensity is currently used to spawn GPU threads as a simple 2^value setting.
  I:13 =    8192 threads
  I:15 =   32768 threads
  I:17 =  131072 threads
  I:18 =  262144 threads
  I:19 =  524288 threads
  I:20 = 1048576 threads
Notice how the higher settings increase thread count tremendously.

Now enter the xintensity setting (Yes, I am a genius with my naming convention!).
It is simply a shader multiplier, obviously based on the amount of shaders you got on a card, this should allow the same value to scale with different card models.
   6970 with 1536 shaders: xI:64 = 98304 threads
R9 280X with 2048 shaders: xI:64 = 131072 threads
 R9 290 with 2560 shaders: xI:64 = 180224 threads
R9 290X with 2816 shaders: xI:64 = 163840 threads

   6970 with 1536 shaders: xI:300 = 460800 threads
R9 280X with 2048 shaders: xI:300 = 614400 threads
 R9 290 with 2560 shaders: xI:300 = 768000 threads
R9 290X with 2816 shaders: xI:300 = 844800 threads

It's now much easier to control thread intensity and it potentially allows for a uniform way of setting the intensity on your system. I'm very interested in constructive feedback, as I do not have access to a lot of different card models.

This change has been tested on 6970, R9 290, R9 290X - all with equal or a little better speeds than regular intensity setting after a little tuning, but your mileage may vary. Don't fret it, if this doesn't work for you, the regular intensity setting is still available.

Conflicts:
	driver-opencl.c
	sgminer.c
2014-01-18 21:11:31 +02:00
Martin Danielsen
d7e469bd76 Stratum servers can now be named.
The names will be used throughout the display in the program, when not set "Pool 1" will
simply be used instead. The names are not exposed through API yet, it's on my TODO list.

Use "poolname" like this:

	{
		"poolname" : "Example pool",
		"url" : "stratum+tcp://example.com:8080",
		"user" : "y",
		"pass" : "x"
	},

Conflicts:
	sgminer.c
	util.c
2014-01-18 21:05:26 +02:00
Noel Maersk
b16a05aa0e core: lower maximum intensity to 31.
Intensity determines the number of threads started, is an unsigned int and
is used as (1 << intensity), so anything over 31 is meaningless.
2014-01-17 16:00:20 +02:00
Noel Maersk
50066cf3c7 misc: Replace all remaining instances of 'cgminer' with 'sgminer'.
sed again.
2014-01-15 16:36:48 +02:00
Con Kolivas
350fe7f135 Minimise risk of nonce2 overflow with small nonce2 lengths by always encoding the work little endian, and increasing the maximum size of nonce2 to 8 bytes. 2014-01-15 14:31:28 +02:00
Con Kolivas
05d69bf75c Provide a function to discard queued work based on age. (NOTE: may be unused) 2014-01-15 13:25:30 +02:00
Con Kolivas
9ed6c3b1b5 Provide a function for setting the work ntime. 2014-01-15 12:49:48 +02:00
Noel Maersk
e4680ab627 core: allow changing TCP keepalive packet idle time using tcp-keepalive command-line option or config-file option.
This may be useful in certain scenarios. However, server load from keepalive
is increased 6-fold if code is hard-changed from 30 to 5. So, provide it as
an option instead, and use the previous value as a default (30).

Explanation from

015c064396

Kevin's middlecoin fix, CURL TCP keepalive constants lowered:

CURLOPT_TCP_KEEPIDLE from 45 to 5 and CURLOPT_TCP_KEEPINTVL from 30 to
5. Before it'd trigger a keepalive packet after 45 seconds of connection
idle time and then again every 30 seconds. Now it triggers a keepalive
packet after 5 seconds of connection idle time and then again every 5
seconds.

It makes the client more resilient against coin switching pools or just
pools with connection issues in general. It will however add a tiny bit
pressure to the pool server; but a TCP keepalive probe is only about
60-80 bytes, so I don't think it is an issue.
2014-01-12 19:45:31 +02:00
Noel Maersk
744e819117 Remove last references to opt_nogpu. 2014-01-11 20:51:54 +02:00
Benjamin Herrenschmidt
f44d2fc57f adl: Fix query of default fan speed
This fixes a crash of the AMD driver when quitting as we were trying
to apply what basically is an uninitialized value.

Adds additional code to cope with a failure to retrieve just in case
we hit another problem like that in the future.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2013-12-22 12:58:34 +11:00
Noel Maersk
199cb10e18 HAVE_OPENCL is mandatory, remove checks form code an build system. 2013-12-05 20:49:18 +02:00
Noel Maersk
16730ed90e Reinstitute MAX_INTENSITY=42, but this time with a note in SCRYPT-README. 2013-12-03 21:14:25 +02:00
Noel Maersk
d062a6086d Revert MAX_INTENSITY increase.
Tested with new Catalyst drivers and AMD APP SDK. This is silly and breaks
things.
2013-12-03 20:51:08 +02:00
Noel Maersk
533f16aeb1 Increase MAX_INTENSITY to 42.
Untested, since I do not have the hardware that supports such high a setting.

Requested by yellowz06 on Litecoin Forum:
https://forum.litecoin.net/index.php/topic,6925.msg54952.html#msg54952
2013-11-27 14:08:27 +02:00
Noel Maersk
664fc33b0c Remove code for Bitcoin GPU kernel execution. 2013-11-24 22:16:16 +02:00
Noel Maersk
323af83fdb Remove define-clauses for USE_SCRYPT. 2013-11-24 19:52:14 +02:00
Noel Maersk
95586f72f0 Squash-merge branch dead-end with unnecessary check removals. 2013-11-24 16:18:10 +02:00
Con Kolivas
f4cf0939a2 Add a wr_trylock wrapper for pthread rw lock write trylock. 2013-11-05 08:36:54 +11:00
Con Kolivas
8e1ec8bd43 Store how many work items are worked on per pool. 2013-11-03 00:52:15 +11:00
Con Kolivas
ab1e9404a7 Make each pool store its on reference for what the most current block is and fine tune management of block change in shared pool failover strategies using the information. 2013-11-03 00:47:43 +11:00
Con Kolivas
448b1fae64 Rationalise use of current_hash to a single hex string the length of the previous block and display only the first non zero hex chars of the block in the status window. 2013-11-02 22:25:45 +11:00
Con Kolivas
6e63eebfe1 Add missing endian swap functions for 64bits. 2013-11-02 12:41:20 +11:00
Con Kolivas
759bd39f17 Avoid the extra generation of a byte flipped hash2 in struct work and directly use the LE work hash. 2013-11-02 11:07:44 +11:00
Con Kolivas
61297399de Provide a copy_work_noffset function for copying a work struct but changing its ntime. 2013-11-01 23:38:59 +11:00
Con Kolivas
ac5b12e1a0 Allow arbitrary diffs to be tested against nonces via a test_nonce_diff function. 2013-10-31 17:15:42 +11:00
Con Kolivas
25d4f16727 Add the ability to add uint8 and uint16 entities to api data. 2013-10-31 16:37:43 +11:00
Con Kolivas
c4542f2b96 Merge branch 'master' into hfa
Conflicts:
	Makefile.am
	api.c
	configure.ac
	miner.h
2013-10-31 12:29:59 +11:00
Con Kolivas
ac7dc468e2 Use the existing device_data for knc state data. 2013-10-28 14:27:57 +11:00
Vitalii Demianets
53570ae8a0 KnC driver: knc-spi-fpga ASIC driver
This driver talks to KnCMiner controller via SPI

Protocol specification is available at
https://github.com/KnCMiner/jupiter-hw-docs/blob/master/fpga_spi.md
2013-10-26 23:58:52 +02:00
Henrik Nordstrom
1e51336f95 Silence warning if MAX/MIN is already defined 2013-10-26 23:58:52 +02:00
Con Kolivas
2d67bb06dc Merge branch 'master' into hashfast 2013-10-26 16:22:13 +11:00
Con Kolivas
f9d3d008da Merge pull request #509 from roybadami/master
Improvements to support for BitBurner boards
2013-10-25 20:11:24 -07:00
Con Kolivas
f29f612182 Merge branch 'master' into hashfast 2013-10-25 14:35:56 +11:00
Con Kolivas
316e6d61c9 Put an entry into the work struct telling drivers how much they can roll the ntime themselves. 2013-10-25 14:34:05 +11:00
Con Kolivas
d342bcbe81 Provide a mechanism for informing drivers of updated work templates for stratum and gbt mining. 2013-10-25 11:57:27 +11:00
Con Kolivas
5ea6a8eaa2 Merge branch 'master' into hashfast
Conflicts:
	Makefile.am
2013-10-23 22:45:56 +11:00
Con Kolivas
d2719e312f Implement a cglock_destroy function. 2013-10-23 20:41:12 +11:00
Con Kolivas
de4ad515e0 Implement a rwlock_destroy function. 2013-10-23 20:41:04 +11:00
Con Kolivas
6bd5139cfc Implement a mutex_destroy function. 2013-10-23 20:40:52 +11:00
Roy Badami
c69a130dc1 Improvements to support for BitBurner boards
--bitburner-fury-options allows avalon-options to be overridden for
BitBurner Fury Boards, facilitating simultanous use of BitBurner XX
and BitBurner Fury boards

More sensible defaults for BitBurner boards, so cgminer should do something
sensible without any command line args
2013-10-19 18:42:20 +01:00
Con Kolivas
f5baf9f57a Merge branch 'master' into hashfast
Conflicts:
	usbutils.h
2013-10-18 19:12:13 +11:00
ckolivas
680f014c85 Simplify queued hashtable by storing unqueued work separately in a single pointer. 2013-10-18 14:58:33 +11:00
Kano
c9adb1929c allow __work_complete() access 2013-10-18 00:54:37 +11:00
Kano
3fc7ff45e4 miner.h allow devices to tv_stamp work 2013-10-18 00:47:07 +11:00
Kano
514b3c424f API add 'MHS %ds' to 'summary' 2013-10-17 20:24:09 +11:00
Kano
d3d3fc1316 Optional lock tracking and stats via the API 2013-10-17 20:24:02 +11:00
Con Kolivas
9b5c534911 Merge branch 'master' into hashfast
Conflicts:
	api.c
	configure.ac
	miner.h
	usbutils.c
	usbutils.h
2013-10-13 16:41:53 +11:00
Con Kolivas
d3c215fda6 Provide a lower level __bin2hex function that does not allocate memory itself. 2013-10-12 09:53:21 +11:00
Con Kolivas
835ad82441 Convert the bitfury driver to use the hash_driver_work version of hash_work. 2013-10-12 09:32:07 +11:00
Con Kolivas
58008a3742 Add a hash_driver_work function to allow for drivers that wish to do their own work queueing and management. 2013-10-12 09:05:58 +11:00