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
6442c1aba0
Style police.
13 years ago
Con Kolivas
0719d40704
Clean up on failure to load a binary kernel.
13 years ago
Con Kolivas
fb0c580b62
Go to kernel build should we fail to clCreateProgramWithBinary instead of failing on that device.
...
Should fix the windows problems with devices not initialising.
13 years ago
Con Kolivas
2053de6d59
Add the directory name from the arguments cgminer was called from as well to allow it running from a relative pathname.
13 years ago
Con Kolivas
5848c11004
Confusion over the variable name for number of devices was passing a bogus value which likely was causing the zero sized binary issue.
13 years ago
Con Kolivas
3567b69e5e
Remove fragile source patching for bitalign, vectors et. al and simply pass it with the compiler options.
13 years ago
Con Kolivas
3d5f555407
Allow a custom kernel path to be entered on the command line.
13 years ago
Con Kolivas
413d97096d
Make cgminer look in the install directory for the .cl files making make install work correctly.
13 years ago
Con Kolivas
48180b697b
Fail gracefully if unable to open the opencl files.
13 years ago
Con Kolivas
6d10ef2f6e
Bump version numbers of kernels to indicate slightly different versions.
13 years ago
Con Kolivas
4beade3772
Retain the program immediately after it's created from source.
13 years ago
Con Kolivas
082e20df5f
Explicitly tell the compiler to retain the program to minimise the chance of the zero sized binary errors.
13 years ago
Con Kolivas
0f782ba6bd
Update poclbm kernel to FF sized mask and only check that range.
13 years ago
Con Kolivas
c40f51c7c1
Move to cgminer style buffer return and file naming convention and fix a compiler warning.
13 years ago
Phateus
d15d225a4c
Changed phatk version to 2.2
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
.
13 years ago
Con Kolivas
cf543507c6
Revert "Preinitialise the devices only once on startup."
...
This reverts commit 071a0ad2f1
.
13 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
.
13 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.
13 years ago
Con Kolivas
071a0ad2f1
Preinitialise the devices only once on startup.
13 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
4365896ba2
Release the command queue created after we've copied the binary data.
14 years ago
Con Kolivas
283d5d2343
Create a command queue from the program created from source which allows us to flush the command queue in the hope it will not generate a zero sized binary any more.
14 years ago
Con Kolivas
2e37e3374e
Out of order command queue may fail on osx. Try without if it fails.
14 years ago
Con Kolivas
4cd12aa8e0
Fix harmless warning.
14 years ago
Con Kolivas
a9e1a25518
Make it possible to select the choice of kernel on the command line.
14 years ago
Con Kolivas
116a9dc025
Update phatk kernel to one with new parameters for slightly less overhead again.
...
Make the queue kernel parameters call a function pointer to select phatk or poclbm.
14 years ago
Con Kolivas
1c67f6068c
Sometimes the cl compiler generates zero sized binaries and only a reboot seems to fix it.
14 years ago
Con Kolivas
7b13812efb
Kernels are safely flushed in a way that allows out of order execution to work.
14 years ago
Con Kolivas
a7707a26cb
Rename the poclbm file to ensure a new binary is built since.
14 years ago
Con Kolivas
eea05c05b8
Update kernel with a shorter output path, and use 4k output buffer to match OS page sizes.
14 years ago
Con Kolivas
857902a13d
Commit a new phatk kernel renamed to force new binary building and add proper support in makefiles.
14 years ago
Con Kolivas
0c910673b2
Set max preferred size to 256 to prevent lying cards from crashing when no worksize is set.
14 years ago
Con Kolivas
826cc4800e
Opcode should be ULL.
14 years ago
Rusty Russell
efebee5ab8
Fix the case where there are no GPUs, and exit if they give errors.
...
If there are no GPUs, set nDevs to 0 not -1 (status is set to an
unhelpful -1001 here on my laptop, so we can't rely on a particular
status value).
Also, if nDevs is -1, exit rather than screwing up later.
14 years ago
Ycros
52d6e7ca37
Fixed fread issues under Windows.
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
821da37c84
Add hardware name to binary kernel name allowing for unique kernels for different cards on the same machine.
14 years ago
Con Kolivas
13b43cfad1
Update copyright and authors.
14 years ago
Con Kolivas
594b38b8cb
Fix redefinition of gnu source.
14 years ago
Ycros
ec8319176e
Build on windows using mingw32.
14 years ago
Ycros
5d301c8ba0
Make a binary load failure build from source.
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
60f0bb19de
Temporarily back out binary building till it's working more reliably.
14 years ago
Con Kolivas
a095f0fae2
Broke source generated program. Fix.
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
1dfbe60353
Put sanity limit on work size since some nvidia fail :(
14 years ago