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

52 Commits

Author SHA1 Message Date
Con Kolivas
5412323e26 Fix memory leak with share submission on GPU work structures as discovered by twobitcoins. 2013-03-09 15:12:41 +11:00
Kano
a344deb6ac rename device_api -> device_drv and all related api -> drv and add a device_drv->drv enum for identifying which driver each is 2013-02-02 20:14:19 +11:00
Con Kolivas
c99636f21b Begin tearing down the old workio command queues by removing submit commands from there and submit them asynchronously via their own threads. 2012-12-07 13:21:46 +11:00
Con Kolivas
8bd8696854 The work struct pointer in struct pc_data in findnonce is never freed yet there is no need to allocate it separately so make struct work a static part of the struct pc_data.
s
2012-10-26 23:30:49 +11:00
Con Kolivas
2b6e3676cd Count an invalid nonce count as a hardware error on opencl. 2012-10-08 22:10:15 +11:00
Con Kolivas
2ff1610307 Prevent corrupt values returned from the opencl code from trying to read beyond the end of the buffer by masking the value to a max of 15. 2012-10-06 14:58:26 +10:00
Kano
307d8da034 HW: error counter auto for all devices - ztex code not fixed 2012-09-04 15:57:11 +10:00
Con Kolivas
86d5377e72 Use atomic ops to never miss a nonce on opencl kernels, including nonce==0, also allowing us to make the output buffer smaller. 2012-08-23 10:48:15 +10:00
Con Kolivas
e49bd98196 Use the scrypt CPU code to confirm results from OCL code, and mark failures as HW errors, making it easier to tune scrypt parameters. 2012-08-07 19:56:43 +10:00
Con Kolivas
b9e5f8e550 Revert "Use cpu scrypt code to check if an scrypt share is below target before submitting it."
This reverts commit 808f403a14.

Conflicts:
	findnonce.c
2012-07-21 10:28:41 +10:00
Con Kolivas
d9eba43a42 Fix build. 2012-07-20 23:49:43 +10:00
Con Kolivas
808f403a14 Use cpu scrypt code to check if an scrypt share is below target before submitting it. 2012-07-20 23:44:43 +10:00
Con Kolivas
d72add9af3 Send correct values to scrypt kernel to get it finally working. 2012-07-20 16:16:18 +10:00
Con Kolivas
6ac14f4280 Don't enqueuewrite buffer at all for pad8 and pass work details around for scrypt in dev_blk. 2012-07-16 13:14:21 +10:00
Con Kolivas
ea444d0239 Fix nonce submission code for scrypt. 2012-07-14 00:59:38 +10:00
Con Kolivas
8fd3bf74df Build fix for opt scrypt. 2012-07-13 20:40:37 +10:00
Con Kolivas
1aacfe5279 Don't check postcalc nonce with sha256 in scrypt. 2012-07-13 20:38:26 +10:00
Con Kolivas
b085c338f6 Make scrypt buffers and midstate compatible with cgminer. 2012-07-13 20:28:36 +10:00
Con Kolivas
8f08a775ad Use any() in kernel output code and revert breakage of diakgcn kernel. 2012-02-22 14:11:19 +11:00
Con Kolivas
d1cddf8bad Update licensing to GPL V3. 2012-02-21 22:23:07 +11:00
Con Kolivas
810ad04578 More copyright updates. 2012-02-18 23:16:08 +11:00
Con Kolivas
83dde50f9d Updates to diakgcn kernel courtesy of Philip Kaufmann <phil.kaufmann@t-online.de> 2012-02-18 15:17:50 +11:00
zefir
713e8be629 move CPU chipset specific optimization into device-cpu 2012-02-11 20:25:41 +01:00
Con Kolivas
52bb99c3ea Fix double definition of A0 B0 to zeroA zeroB. 2012-02-11 21:42:02 +11:00
Con Kolivas
405a2120f8 Remove unnecessary check for opt_debug on every invocation of applog at LOG_DEBUG and place the check in applog(). 2012-02-11 20:11:18 +11:00
Philip Kaufmann
c91155ac55 made code a bit more consistent and removed 2 unneeded brackets 2012-02-11 11:48:11 +11:00
ckolivas
85e9a841d5 Use K array explicitly to make it clear what is being added. 2012-02-11 11:48:11 +11:00
ckolivas
033913ca8e First working port of the diakgcn kernel. 2012-02-11 11:48:11 +11:00
Con Kolivas
8171ceab85 Simplify submit_nonce loop and avoid potentially missing FOUND - 1 entry. Reported by Luke-Jr. 2012-01-15 21:39:49 +11:00
Con Kolivas
a51514d9d1 White space cleanup. 2011-12-27 10:30:04 +11:00
Con Kolivas
4d13f8ad3c ByteReverse is not used and the bswap opcode breaks big endian builds. Remove it. 2011-09-07 09:02:28 +10:00
Con Kolivas
cf54f9b850 Move to 256 sized buffers and don't risk overwrite by using only 127 mask. 2011-08-17 16:07:15 +10:00
Con Kolivas
0f782ba6bd Update poclbm kernel to FF sized mask and only check that range. 2011-08-17 15:47:18 +10:00
Phateus
d15d225a4c Changed phatk version to 2.2 2011-08-17 14:53:17 +10:00
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.
2011-07-23 14:17:25 +10:00
Con Kolivas
1c070475c3 Cycling over 1026 nonces is a remnant of old code not relevant now and can just lead to repeat submission of the same block increasing rejects.
Remove it.
2011-07-17 23:38:29 +10:00
Con Kolivas
b6ac9f185e Revert "Make sure not to try and submit work for nonces higher than already submitted in current work item."
This reverts commit a2dd410e36.

Incorrect fix. Missed real shares that are accepted.
2011-07-17 20:06:43 +10:00
Con Kolivas
a2dd410e36 Make sure not to try and submit work for nonces higher than already submitted in current work item.
This reduces rejects substantially.
2011-07-17 19:33:53 +10:00
Con Kolivas
cb13e2cfe5 Make it possible to build without opencl for cpu mining only. 2011-07-05 19:49:29 +10:00
Con Kolivas
13b43cfad1 Update copyright and authors. 2011-07-04 19:56:27 +10:00
ckolivas
7ae9afc40f Profile points and warning clean ups. 2011-07-04 19:56:26 +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
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
08a7821072 Make the log show what the thread is: cpu or gpu and what number. 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
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
a45c54aaf8 Make postcalc_hash asynchronous as well. 2011-07-04 19:47:45 +10:00
Con Kolivas
4cd5f47efa Revert "Multiple compiler warning fixes."
This reverts commit a5cbfbde2610e9f60e14b41a4e0595bcb34c772a.

Broke.
2011-07-04 19:47:19 +10:00
Con Kolivas
88761e6cf2 Multiple compiler warning fixes. 2011-07-04 19:47:19 +10:00
Con Kolivas
f117675ac2 Optimise work loop to make cl calls asynchronous where possible. 2011-07-04 19:47:19 +10:00