Ycros
9fe2106467
Fixed up using config.h instead of cpuminer-config.h.
14 years ago
Ycros
b645cc9f00
Updated README for building on win32.
14 years ago
Con Kolivas
edd0591e19
Make the number of queued work items configurable and default to 2.
14 years ago
Con Kolivas
131f60a5ee
Move queueing of one request to separate function in preparation for variable length queues.
14 years ago
Ycros
5d301c8ba0
Make a binary load failure build from source.
14 years ago
Con Kolivas
ffdffe77d3
Make sure the work gets attributed to the correct gpu.
...
Add an fflush to stderr to minimise garbled output when multiple threads write at once.
14 years ago
Con Kolivas
86e40ed9c8
Stale block control makes it possible to make 2 threads per gpu the default again.
14 years ago
Con Kolivas
48caf248a7
Check for stale block after failed submission as well.
14 years ago
Con Kolivas
09104ce3e8
Flag the work back to just thread 0 used by all the threads to avoid lots of queued older work for each thread.
14 years ago
Con Kolivas
bed692152f
Get rid of the requirement for a static struct that needs locking to cache work.
...
Make it possible to use the thread id for getting work again.
Flag the getwork() function when we have a new block to explicitly discard any cached work when a new block is detected.
Store the header of each new work and compare it to blocks we're about to submit to decide if they're stale due to a new block and don't try to submit them.
This should significantly decrease the number of rejected blocks.
14 years ago
Con Kolivas
e2fb3e84cb
Queueing all kernel parameters dramatically reduces stale block rates.
14 years ago
ckolivas
7ae9afc40f
Profile points and warning clean ups.
14 years ago
ckolivas
b54a342529
Change default number of threads back to 1. The 2nd just increases the time taken to complete a work item thus increasing stale blocks, despite increasing the rate slightly.
14 years ago
ckolivas
3983f1b9c3
Breaks nvidia building. Roll back for now.
...
Revert "configure.ac, Makefile.am: Allow setting of OpenCL location"
This reverts commit a9893d818dac53cb52c2ed06ece59195228f44d9.
14 years ago
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>
14 years ago
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.
14 years ago
Con Kolivas
88d9d631e3
Use two separate curl instances for submit and get and use separate threads for each to prevent one blocking the other.
14 years ago
Con Kolivas
72baac0889
Clearly delineate the cpus from the gpus for their local data.
14 years ago
Con Kolivas
142576a961
We already have gpu/cpu from id, so use that. Likely the current convoluted code is wrong and leading to segfaults!
14 years ago
Con Kolivas
18f8b0f9a5
Submit work async is still unreliable and only used for cpu mining, so back it out for now.
14 years ago
Con Kolivas
60f0bb19de
Temporarily back out binary building till it's working more reliably.
14 years ago
Con Kolivas
d5d4d1da16
Don't want to free the work data out of the transient structs.
14 years ago
Con Kolivas
a095f0fae2
Broke source generated program. Fix.
14 years ago
Con Kolivas
d100281df3
Make sure correct thread id is in work struct and correct cpu is set for per-cpu data.
14 years ago
Con Kolivas
998d8d45f4
Postcalc hash is already its own thread so work can be submitted synchronously from that.
14 years ago
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.
14 years ago
Con Kolivas
973b2199e1
Tidy.
14 years ago
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.
14 years ago
ckolivas
6af84770d0
Add spaces to make output clearer.
14 years ago
ckolivas
e1dd27c5c2
Ensure that we don't overflow due to 32 bit limitations.
14 years ago
ckolivas
b38a02bd24
Make the log time hash rate a rolling exponential average so it doesn't fluctuate so dramatically.
14 years ago
ckolivas
08a7821072
Make the log show what the thread is: cpu or gpu and what number.
14 years ago
ckolivas
1dfbe60353
Put sanity limit on work size since some nvidia fail :(
14 years ago
ckolivas
f490143a9a
Add local thread count to info, store hw error count, and make share submission debug only.
14 years ago
Con Kolivas
e016d0c8f3
Increase maximum intensity configurable to 14.
14 years ago
Con Kolivas
dfc52fd543
Make sure we can have gpu and cpu threads running.
14 years ago
Con Kolivas
24a28e29e9
Make it possible to run as a pure cpu miner by setting gpu threads to 0.
14 years ago
ckolivas
e1d01d0635
Minor fixes.
14 years ago
Con Kolivas
6c6bb02b90
There is no point having vectors in the it variable.
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
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.
14 years ago
Con Kolivas
c566605195
Tab dainbramage.
14 years ago
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.
14 years ago
Con Kolivas
623b9b9fd8
Patch bitalign separately from bfi_int.
...
Recover from failing to patch for bfi int.
14 years ago
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.
14 years ago
Con Kolivas
a45c54aaf8
Make postcalc_hash asynchronous as well.
14 years ago
Con Kolivas
378d18f8eb
Submit all work asynchronously via a submit_work thread.
14 years ago
Con Kolivas
612c3a456f
Curl doesn't like multiple instances so go back to one instance.
14 years ago
Con Kolivas
f0dcd127b4
Show which cpu mining thread when giving affinity message.
14 years ago
Con Kolivas
58f6bf42e2
Prevent 32bit overflow of local_mhashes as well.
14 years ago