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

403 Commits

Author SHA1 Message Date
ckolivas
3983f1b9c3 Breaks nvidia building. Roll back for now.
Revert "configure.ac, Makefile.am: Allow setting of OpenCL location"

This reverts commit a9893d818dac53cb52c2ed06ece59195228f44d9.
2011-07-04 19:56:26 +10:00
Tom Rini
2a8475b5bd configure.ac, Makefile.am: Allow setting of OpenCL location
Add two new configure flags, --with-opencl-libdir and --with-opencl-inc
to specify where OpenCL headers and libraries exist.  This now adds
a test for the OpenCL header file and makes not finding the library
or headers a fatal error.

Signed-off-by: Tom Rini <trini@kernel.crashing.org>
2011-07-04 19:56:26 +10:00
Con Kolivas
3aa5be4fcf Reinstate binary kernel loading with fixes.
Build binaries with unique filenames from the kernel generated and save them.
Try to load this cached binary if it matches on next kernel instantiation.
This speeds up start-up dramatically, and has a unique kernel binary for different kernel configurations.
2011-07-04 19:47:46 +10:00
Con Kolivas
88d9d631e3 Use two separate curl instances for submit and get and use separate threads for each to prevent one blocking the other. 2011-07-04 19:47:46 +10:00
Con Kolivas
72baac0889 Clearly delineate the cpus from the gpus for their local data. 2011-07-04 19:47:46 +10:00
Con Kolivas
142576a961 We already have gpu/cpu from id, so use that. Likely the current convoluted code is wrong and leading to segfaults! 2011-07-04 19:47:46 +10:00
Con Kolivas
18f8b0f9a5 Submit work async is still unreliable and only used for cpu mining, so back it out for now. 2011-07-04 19:47:46 +10:00
Con Kolivas
60f0bb19de Temporarily back out binary building till it's working more reliably. 2011-07-04 19:47:46 +10:00
Con Kolivas
d5d4d1da16 Don't want to free the work data out of the transient structs. 2011-07-04 19:47:46 +10:00
Con Kolivas
a095f0fae2 Broke source generated program. Fix. 2011-07-04 19:47:46 +10:00
Con Kolivas
d100281df3 Make sure correct thread id is in work struct and correct cpu is set for per-cpu data. 2011-07-04 19:47:46 +10:00
Con Kolivas
998d8d45f4 Postcalc hash is already its own thread so work can be submitted synchronously from that. 2011-07-04 19:47:46 +10:00
Con Kolivas
4d73057772 Build binaries with unique filenames from the kernel generated and save them.
Try to load this cached binary if it matches on next kernel instantiation.
This speeds up start-up dramatically, and has a unique kernel binary for different kernel configurations.
2011-07-04 19:47:46 +10:00
Con Kolivas
973b2199e1 Tidy. 2011-07-04 19:47:46 +10:00
Con Kolivas
2b6e841673 Use a buffer of up to 512 * 4 integers when retrieving work from the GPU.
This allows each local thread id to have one slot to put any positive results into, thus making overlapping results far less likely.
Thus races will be much rarer, allowing more threads.
It should also pick up blocks close to each other more reliably and hopefully decrease the number of rejects and opencl errors.
Do the search over the buffer entirely in a separate thread to allow the GPU to stay as busy as possible.
Detach threads from themselves to prevent unlucky even where dereferencing occurs by freeing the data that stores the thread info.
2011-07-04 19:47:46 +10:00
ckolivas
6af84770d0 Add spaces to make output clearer. 2011-07-04 19:47:46 +10:00
ckolivas
e1dd27c5c2 Ensure that we don't overflow due to 32 bit limitations. 2011-07-04 19:47:45 +10:00
ckolivas
b38a02bd24 Make the log time hash rate a rolling exponential average so it doesn't fluctuate so dramatically. 2011-07-04 19:47:45 +10:00
ckolivas
08a7821072 Make the log show what the thread is: cpu or gpu and what number. 2011-07-04 19:47:45 +10:00
ckolivas
1dfbe60353 Put sanity limit on work size since some nvidia fail :( 2011-07-04 19:47:45 +10:00
ckolivas
f490143a9a Add local thread count to info, store hw error count, and make share submission debug only. 2011-07-04 19:47:45 +10:00
Con Kolivas
e016d0c8f3 Increase maximum intensity configurable to 14. 2011-07-04 19:47:45 +10:00
Con Kolivas
dfc52fd543 Make sure we can have gpu and cpu threads running. 2011-07-04 19:47:45 +10:00
Con Kolivas
24a28e29e9 Make it possible to run as a pure cpu miner by setting gpu threads to 0. 2011-07-04 19:47:45 +10:00
ckolivas
e1d01d0635 Minor fixes. 2011-07-04 19:47:45 +10:00
Con Kolivas
6c6bb02b90 There is no point having vectors in the it variable. 2011-07-04 19:47:45 +10:00
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.
2011-07-04 19:47:45 +10:00
Con Kolivas
2dbb39444d Base was being set wrongly meaning we were repeating searches and the rate was actually lower than displayed :(
Tweak Ma with new changes.
Change default vectors to 2 since it's faster than 4 even when 4 is reported as preferred.
2011-07-04 19:47:45 +10:00
Con Kolivas
c566605195 Tab dainbramage. 2011-07-04 19:47:45 +10:00
Con Kolivas
11c8818558 32 bit only builds one elf, not an elf in an elf, so account for it to be able to bfi int patch properly. 2011-07-04 19:47:45 +10:00
Con Kolivas
623b9b9fd8 Patch bitalign separately from bfi_int.
Recover from failing to patch for bfi int.
2011-07-04 19:47:45 +10:00
Con Kolivas
948b514cf2 The buffer needs to be flushed before enqueueing the kernel again.
Further optimise the mining loop by removing the need_work bool.
2011-07-04 19:47:45 +10:00
Con Kolivas
a45c54aaf8 Make postcalc_hash asynchronous as well. 2011-07-04 19:47:45 +10:00
Con Kolivas
378d18f8eb Submit all work asynchronously via a submit_work thread. 2011-07-04 19:47:45 +10:00
Con Kolivas
612c3a456f Curl doesn't like multiple instances so go back to one instance. 2011-07-04 19:47:45 +10:00
Con Kolivas
f0dcd127b4 Show which cpu mining thread when giving affinity message. 2011-07-04 19:47:45 +10:00
Con Kolivas
58f6bf42e2 Prevent 32bit overflow of local_mhashes as well. 2011-07-04 19:47:45 +10:00
Con Kolivas
00de822534 Upper limit should be -hashes. 2011-07-04 19:47:45 +10:00
Con Kolivas
c29a4322dd Only update the hashmeter once per second from gpu mining threads. 2011-07-04 19:47:45 +10:00
Con Kolivas
063adc6434 Implement runtime selectable numbers of GPU threads and rename CPU threads option. 2011-07-04 19:47:45 +10:00
Con Kolivas
b6ae1db838 The submit_lock is not required nor helpful. 2011-07-04 19:47:45 +10:00
Con Kolivas
d1c0cccdf1 Show correct GPU from thread number. 2011-07-04 19:47:45 +10:00
Con Kolivas
f11149928a Implement a potentially variable number of threads per gpu, setting it to 2 for now. 2011-07-04 19:47:45 +10:00
Con Kolivas
08f56f5f2f Set default CPU threads to 0 if GPU mining. 2011-07-04 19:47:45 +10:00
Con Kolivas
06f3950658 Fix typo which prevented BFI INT patch working on multi-GPUs. 2011-07-04 19:47:45 +10:00
Con Kolivas
30e38e2ef8 Typo i - gpu 2011-07-04 19:47:45 +10:00
Con Kolivas
fdb46f2d9b 32bit fixes. 2011-07-04 19:47:45 +10:00
Con Kolivas
295ef0f9b8 Discard accumulated work when longpoll indicates a new block. 2011-07-04 19:47:45 +10:00
Con Kolivas
f44e8fac12 Curl appears to be not thread safe so only have one curl open at a time. 2011-07-04 19:47:45 +10:00
Con Kolivas
343ae85137 Intensity 5 is too high for a normal desktop causing unacceptable lag so change the default to 4. 2011-07-04 19:47:45 +10:00