Jan Berdajs
25d7d426fd
convert tabs to spaces in most commonly modified files
11 years ago
Jan Berdajs
c25a59bab1
refactor building/loading/saving OpenCL kernel
11 years ago
Jan Berdajs
dca83c1112
Add improved Darkcoin (X11-mod) algorithm
11 years ago
Jan Berdajs
c0baf790f6
making new algorithms and other changes merged from sph-sgminer work with current version of sgminer
11 years ago
Noel Maersk
3ddf6baad9
core: rename default_algorithm to opt_algorithm.
...
... So it's easier to find when refactoring the configuration system
later on.
11 years ago
Noel Maersk
cc735db550
misc: don't violate reserved identifier naming convention.
...
Closes https://github.com/veox/sgminer/issues/177
11 years ago
Jan Berdajs
c2131df6aa
add support for setting algorithm/nfactor for each pool separately, and fix bugged OpenCL thread cleanup (thread shutdown)
11 years ago
Noel Maersk
c9ccf551d7
opencl: remove cl_kernels structure definition and mention.
...
No longer used.
TODO: check if clState would benefit from having kernel name.
11 years ago
phm
9585d2a8e6
Added support for DarkCoin kernel. Modified stats display to handle low difficulty values.
11 years ago
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
11 years ago
Noel Maersk
199cb10e18
HAVE_OPENCL is mandatory, remove checks form code an build system.
11 years ago
Noel Maersk
323af83fdb
Remove define-clauses for USE_SCRYPT.
11 years ago
Con Kolivas
578fabe07c
Do not perform bfi int patching for opencl1.2 or later.
11 years ago
Con Kolivas
39f7d2fa74
Allow lookup gap and thread concurrency to be passed per device and store details in kernel binary filename.
13 years ago
Con Kolivas
a9a0bba18b
Set the correct data for cldata and prepare for pad8 fixes.
13 years ago
Con Kolivas
243d005b1b
Set scrypt settings and buffer size in ocl.c code to be future modifiable.
13 years ago
Con Kolivas
b085c338f6
Make scrypt buffers and midstate compatible with cgminer.
13 years ago
Con Kolivas
621bcca7f5
Use global offset parameter to diablo and poclbm kernel ONLY for 1 vector kernels.
13 years ago
ckolivas
a54f76061b
Fix multiple work size entry.
13 years ago
Con Kolivas
deff55c640
Allow different vectors to be set per device.
13 years ago
zefir
713e8be629
move CPU chipset specific optimization into device-cpu
13 years ago
ckolivas
95a989da4d
Conflicting entries of cl_kernel may have been causing problems, and automatically chosen kernel type was not being passed on. Rename the enum to cl_kernels and store the chosen kernel in each clState.
13 years ago
Philip Kaufmann
47a09ceab8
added OpenCL >= 1.1 detection code, in preparation of OpenCL 1.1 global offset parameter support
13 years ago
ckolivas
02c94272b4
Conflicting entries of cl_kernel may have been causing problems, and automatically chosen kernel type was not being passed on. Rename the enum to cl_kernels and store the chosen kernel in each clState.
13 years ago
Philip Kaufmann
ed7210af6c
added OpenCL >= 1.1 detection code, in preparation of OpenCL 1.1 global offset parameter support
13 years ago
ckolivas
53c1e9ae37
Allow the OpenCL platform ID to be chosen with --gpu-platform.
13 years ago
ckolivas
a4f47812ff
Iterate over all platforms displaying their information and number of devices when --ndevs is called.
13 years ago
Con Kolivas
3d4cfce8df
Instead of using the BFI_INT patching hack on any device reporting cl_amd_media_ops, create a whitelist of devices that need it.
...
This should enable GCN architectures (ATI 79xx cards) to work properly.
13 years ago
Con Kolivas
42d49ffdc7
Revert "Restart threads by abstracting out the clcontext initialisation and using that instead of probing all cards."
...
This reverts commit 8f186e61e2
.
14 years ago
Con Kolivas
cf543507c6
Revert "Preinitialise the devices only once on startup."
...
This reverts commit 071a0ad2f1
.
14 years ago
Con Kolivas
b1289a0159
Revert "Move the non cl_ variables into the cgpu info struct to allow creating a new cl state on reinit, preserving known GPU variables."
...
This reverts commit 28880d0dc7
.
14 years ago
Con Kolivas
28880d0dc7
Move the non cl_ variables into the cgpu info struct to allow creating a new cl state on reinit, preserving known GPU variables.
...
Create a new context from scratch in initCQ in case something was corrupted to maximise our chance of succesfully creating a new worker thread.
14 years ago
Con Kolivas
071a0ad2f1
Preinitialise the devices only once on startup.
14 years ago
Con Kolivas
8f186e61e2
Restart threads by abstracting out the clcontext initialisation and using that instead of probing all cards.
14 years ago
Con Kolivas
a93b22c630
Make it possible to build without GPU mining by picking up HAVE_OPENCL from config.h.
14 years ago
Con Kolivas
6374e0fafe
Import the phatk kernel. Enable it only for hardware with amd media ops for now since it crashes nvidia et. al.
...
Fallback to the poclbm kernel for the rest. Try harder to avoid stale blocks around longpoll detecting new blocks.
14 years ago
Con Kolivas
656b485d80
Make the worksize and vector width configurable.
14 years ago
ckolivas
26546ad5b9
Make the optimisations per-gpu card and update code to work properly with multiple cards.
14 years ago
Con Kolivas
4cd5f47efa
Revert "Multiple compiler warning fixes."
...
This reverts commit a5cbfbde2610e9f60e14b41a4e0595bcb34c772a.
Broke.
14 years ago
Con Kolivas
88761e6cf2
Multiple compiler warning fixes.
14 years ago
ckolivas
19eea9067f
Implement code detecting max work size and optimal vector width.
...
Use this to patch the kernel to suit the idea values for the card.
Then use these values when invoking the kernel.
14 years ago
ckolivas
79fec01a46
Remove the input buffer and just pass args to the kernel as per plugin design.
14 years ago
Con Kolivas
dde7039726
Merge gpumining from oclmine. Unstable.
14 years ago