1
0
mirror of https://github.com/GOSTSec/sgminer synced 2025-01-10 06:48:05 +00:00
Commit Graph

246 Commits

Author SHA1 Message Date
Jan Berdajs
c2131df6aa add support for setting algorithm/nfactor for each pool separately, and fix bugged OpenCL thread cleanup (thread shutdown) 2014-03-31 21:05:20 +02:00
Noel Maersk
27e4515b9a opencl: move lookup-gap check for kernel zuikkis to after it is set from opt_lg.
Introduced by 89d641628b

Closes https://github.com/veox/sgminer/issues/172
2014-03-28 00:24:43 +02:00
Noel Maersk
18d9c648ba opencl: update comment on generated binary file name. 2014-03-27 16:52:56 +02:00
Noel Maersk
e02f111dca opencl: reuse strbuf in initCl, get rid of poorly-named numbuf. 2014-03-23 15:12:06 +02:00
Noel Maersk
89d641628b log: warn on using kernel zuikkis with lookup-gap != 2. 2014-03-23 15:09:43 +02:00
Noel Maersk
7a3a510216 log: mention non-user-settable kernel parameters in "Initialising kernel" notice.
Should help in the future for people who try to mix patched and unpatched
BFI devices.
2014-03-23 15:04:15 +02:00
Noel Maersk
0d8977774f opencl: correctly test if no kernel name was specified in config.
Closes second bug squashed into https://github.com/veox/sgminer/issues/123
report.
2014-03-23 14:58:08 +02:00
Noel Maersk
98cd96f27a opencl: add log notice, change another to notice level, shorten comment. 2014-03-17 21:57:00 +02:00
Noel Maersk
87801c2578 opencl: rename cgpu_info->kname to cgpu_info->kernelname. 2014-03-17 21:57:00 +02:00
Noel Maersk
1333ed576d core: simplify kernel selection code.
WIP!

Use a string instead of a state-machine-ey kernel selection mechanism
where kernel names have to be predefined. This should allow just dropping
new kernels into dir `kernel` without bloating the code in three other
places.

Is in dire need of a cleanup, function parameter check, edge case check -
all the usual testing.

In particular, checking these definitions/keywords:

* enum cl_kernels
* kname
* [c]gpu[s]->kernel (and similar)
* memory cleanup after strdup()?..
* chosen_kernel
* queue_scrypt_kernel
* strbuf
* initCl
2014-03-17 21:56:43 +02:00
Noel Maersk
8079d054d6 Merge branch 'nfactor'
Conflicts (resolved):
	Makefile.am
	winbuild/sgminer.vcxproj.filters
2014-03-14 17:46:54 +02:00
unknown
f7f582732a Fixed bufsize type. 2014-03-10 20:13:17 +01:00
Noel Maersk
c6a27709f8 core: use global algorithm structure instead of opt_nfactor.
Also squashed:

config: add log messages to set_algo() and set_nfactor().

algorithm: use set_algorithm_nfactor() when setting default nfactor in set_algorithm().

Otherwise algorithm->n defaults to 0.

P.S. Did I already mention how this could have been C++?..
2014-03-07 02:27:06 +02:00
Noel Maersk
c2c8231b9e kernel: zuikkis supports all worksizes.
Closes https://github.com/veox/sgminer/issues/130
2014-03-04 16:43:11 +02:00
Noel Maersk
e18bcc2582 kernel: use N-factor table instead of passing parameter N directly. 2014-02-26 04:30:46 +02:00
Noel Maersk
3afaaf1bfa ocl: rename nfactor to N where appropriate.
N = 2^nfactor, so `nfactor` was a bad name choice here.
2014-02-26 04:14:22 +02:00
Noel Maersk
4b3b2ef5a6 ocl: use 'nf' instead of 'n' in compiled kernel binary name.
It is used as a factor number here (e.g. 10, not 1024).
2014-02-25 06:33:53 +02:00
Noel Maersk
5b42d38f33 ocl/misc: spacing. 2014-02-25 06:33:53 +02:00
Noel Maersk
7217da3078 ocl: vectors are hard-set to 1, add appropriate "optimisation". 2014-02-25 06:33:48 +02:00
Noel Maersk
ab9fcb1a14 ocl: use same type convention for nfactor (cl_uint instead of int). 2014-02-24 16:26:50 +02:00
Teemu Suikki
73bb1504e9 Scrypt-nfactor support!
Added new configuration parameter "nfactor", which defaults to 10 (normal scrypt).
Use 11 for vertcoin.

Kernels modified accordingly.
2014-02-23 04:44:17 +02:00
Noel Maersk
dff7876b7a Merge branch 'master' into build-msvs2010-upd 2014-02-07 21:45:26 +02:00
Brandon Tuomela
bda1070259 kernel: add psw kernel. 2014-02-01 15:51:03 +02:00
Noel Maersk
b97a641ed9 Merge branch 'master' into build-msvs2010-upd
Conflicts (resolved):
	sgminer.c
2014-02-01 00:25:56 +02:00
Noel Maersk
e123cc20c3 kernel: search in pwd/kernel/ for kernels.
Closes https://github.com/veox/sgminer/issues/49.
2014-01-29 00:48:12 +02:00
Sanjin Trošelj
5d5769156f VS2010 build: Prepare ocl.c
Cherry-picked by veox.
2014-01-28 00:24:51 +02:00
Noel Maersk
e8978db55f kernel: slight refactor, add warnings about new kernels, and known limitations of zuikkis.
Limitations of alexkar* kernels are not known to me.

Closes https://github.com/veox/sgminer/issues/28
2014-01-23 20:08:29 +02:00
Noel Maersk
5f326d64f5 kernel: allow choosing Alexey Karimov's kernels.
Am I the only one who gets a segfault?..
2014-01-21 10:36:55 +02:00
Noel Maersk
7950c10374 kernel: integrate Zuikkis' kernel, selectable with --kernel=zuikkis.
Kernel ckolivas is still the default. Needs documentation, too.

https://github.com/veox/sgminer/issues/4
2014-01-20 23:38:39 +02:00
Noel Maersk
9d1db95a28 misc: move scrypt130511.cl kernel file to kernel/ckolivas.cl
Prepare for more kernels. :)

Get rid of the kernel date, since this fudges up commit history.

Named after Con Kolivas, the most recent committer.
2014-01-20 16:04:43 +02:00
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
Noel Maersk
50066cf3c7 misc: Replace all remaining instances of 'cgminer' with 'sgminer'.
sed again.
2014-01-15 16:36:48 +02: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
95586f72f0 Squash-merge branch dead-end with unnecessary check removals. 2013-11-24 16:18:10 +02:00
Noel Maersk
d0070c0424 HARD RESET to: Remove Bitcoin detection code.
I'm pretty sure no one was working on this but me.

The code was unusable (gave 100% hardware errors) due to me not
testing it sufficiently. I hope this will not happen again.

ADL doesn't work for some reason, too.
2013-11-19 02:32:58 +02:00
Con Kolivas
578fabe07c Do not perform bfi int patching for opencl1.2 or later. 2013-10-12 16:54:39 +11:00
Con Kolivas
466d3beca0 Provide a --disable-libcurl config option to build support for stratum mining only. 2013-09-21 22:49:28 +10:00
Kano
383eeabc71 ocl.c fix applog warnings on windows 2013-06-16 18:39:09 +10:00
Con Kolivas
b196d4fa0c Support more shares to be returned for scrypt mining. 2013-05-11 16:19:02 +10:00
Kano
54d5d26095 ocl correct applog typing 2013-05-02 23:41:51 +10:00
Con Kolivas
2643ad1b22 Use only the one jump in ocl.c to bypass binary saves for osx opencl. 2013-04-25 00:16:09 +10:00
Con Kolivas
0a8f584909 Initialise variables not set on OSX in ocl.c. 2013-04-25 00:09:09 +10:00
Con Kolivas
9aae2256d3 Bypass attempting to read and save binary files on OSX to avoid crashes on >1 GPU. 2013-04-24 23:53:44 +10:00
Con Kolivas
57e5bfbb25 Set default ocl work size for scrypt to 256. 2013-04-21 09:36:49 +10:00
ckolivas
6ffba7e9d8 Convert error getting device IDs in ocl code to info log level only since multiple platforms may be installed and the error is harmless there. 2013-04-17 22:03:00 +10:00
ckolivas
a797898fc3 Unnecessary extra array in ocl code. 2013-04-17 22:01:38 +10:00
Kano
ed480de9c1 LTC text typo 2013-04-03 09:57:16 +11:00
Con Kolivas
132ee4c981 Do not scan other gpu platforms if one is specified. 2013-03-21 14:56:07 +11:00
Con Kolivas
584fc013ab Use a new algorithm for choosing a thread concurrency when none or no shader value is specified for scrypt. 2013-03-15 22:31:46 +11:00
Con Kolivas
d0f18e83ad Do not round up the bufsize to the maximum allocable with scrypt. 2013-03-15 22:00:52 +11:00