miner.h


Log

Author Commit Date CI Message
Con Kolivas 33c9faae 2012-12-01T21:47:27 Pass ostate values around in scrypt to be able to extract full hashes if needed later on.
Con Kolivas 8bc60506 2012-11-25T09:47:26 Revert "Find libusb-1.0 with pkg-config except on mingw, and fix #include path" This reverts commit ce72dbea7d7405ed37456c89c8b0516188f57fc7.
nelisky c93e5e95 2012-11-04T13:26:39 openwrt needs roundl
Con Kolivas 217be6ed 2012-11-25T00:37:46 Do away with the flaky free_work api in the driver code which would often lose the work data in opencl and simply flush it before exiting the opencl scanhash.
Con Kolivas 2d35ac25 2012-11-24T10:47:20 Track all dynamically allocated memory within the work struct by copying work structs in a common place, creating freshly allocated heap ram for all arrays within the copied struct. Clear all work structs from the same place to ensure memory does not leak from arrays within the struct. Convert the gbt coinbase and stratum strings within the work struct to heap ram. This will allow arbitrary lengths without an upper limit for the strings, preventing the overflows that happen with GBT.
Peter Stuge ce72dbea 2012-11-16T00:13:56 Find libusb-1.0 with pkg-config except on mingw, and fix #include path
Con Kolivas e55ef04d 2012-11-18T23:41:21 Revert "Find libusb-1.0 using pkg-config and correct the libusb.h #include path" This reverts commit 171c3d0c72e749bc9d82a6742955119decf7b09c. Rollback breakage.
Con Kolivas 9ad02fe3 2012-11-18T21:48:44 Support workid for block submission on GBT pools that use it.
Peter Stuge 171c3d0c 2012-11-16T00:13:56 Find libusb-1.0 using pkg-config and correct the libusb.h #include path
Con Kolivas b3864d1a 2012-11-15T09:18:58 Support for fractional diffs and the classic just-below-1 share all FFs diff target.
Con Kolivas 598ee76d 2012-11-11T09:51:37 Hash1 is only used by the deprecated cpu mining code and never changes so remove it from the work struct and bypass needing to process the value for all other mining.
Con Kolivas 6893c0be 2012-11-07T23:28:49 Get a work item once per second for all getwork and GBT pools to test they're still alive and to maintain a current GBT template.
Con Kolivas a8e1ebb1 2012-11-06T12:01:07 Add endian swap defines for where missing.
Con Kolivas 10ea5fbf 2012-11-05T16:57:48 Use existing pool submit_old bool from gbt data.
Con Kolivas f71b4230 2012-11-05T16:48:19 Retrieve a new block template if more than 30 seconds has elapsed since the last one to keep the data current and test the pool is still alive.
Con Kolivas 85f400bf 2012-11-05T15:57:47 Correct last few components of GBT block generation courtesy of Luke-jr.
Con Kolivas a4e78be1 2012-11-05T14:56:57 Flip all 80 bytes in the flip function which was wrongly named flip256 for its purpose.
Con Kolivas 0ba5f0f9 2012-11-05T14:02:43 Use a standard function for flipping bytes.
Con Kolivas 88b6f792 2012-11-04T18:01:09 Make gbt_coinbase large enough for submissions, swap bytes correctly to make a header from GBT and encode the number of transactions in share submission.
Con Kolivas 889ed239 2012-11-04T15:28:13 Store the fixed size entries as static variables in GBT in binary form, byteswapping as is required.
Con Kolivas 6b34faf8 2012-11-04T10:24:09 Construct block for submission when using GBT.
Con Kolivas c5c5fb82 2012-11-04T08:35:50 Store all the transaction hashes in pool->txn_hashes instead of separating txn0 and correct generation of merkle root, fixing memory overwrites.
Con Kolivas 875ca0fc 2012-11-04T01:07:01 Create extra work fields when generating GBT work.
Con Kolivas cbc246ea 2012-11-03T19:45:37 Generate the merkle root for gbt work generation.
Con Kolivas 8d0f7482 2012-11-03T13:27:41 Create a store of the transactions with GBT in the minimum size form required to generate work items with a varied coinbase.
Con Kolivas 4a72a157 2012-11-01T22:34:08 Create a function that generates a GBT coinbase from the existing pool variables.
Con Kolivas 813e814f 2012-11-01T16:56:54 Extract and store the various variables GBT uses when decoding gbt work.
Con Kolivas d10699d4 2012-11-01T14:24:55 Add a gbt mutex within the pool struct for protecting the gbt values.
Con Kolivas 8afc1f65 2012-11-01T14:05:25 Convert work decode function to prepare for decoding block templates.
Con Kolivas 1c456d4f 2012-11-01T13:53:12 Check for GBT support on first probing the pool and convert to using the GBT request as the rpc request for that pool.
Con Kolivas f4cc59f2 2012-11-01T13:06:34 Make the rpc request used with getwork a pool variable to allow it to be converted to/from gbt requests.
ckolivas a2d57835 2012-10-30T16:45:27 server and client sockaddr_in are no longer used in struct pool.
Con Kolivas e575763a 2012-10-22T22:06:00 Avoid redefining macros and align to 4 byte boundaries.
Con Kolivas 17251795 2012-10-17T14:09:15 Merge pull request #319 from kanoi/mmq MMQ new initialisation (that works) and clocking control
Kano fc14b2ee 2012-10-17T09:56:42 MMQ new initialisation (that works) and clocking control
Con Kolivas 7adb7a30 2012-10-15T23:10:24 Display correct share hash and share difficulty with scrypt mining.
Con Kolivas 7450b25e 2012-10-14T12:07:27 Dramatically simplify the dynamic intensity calculation by oversampling many runs through the opencl kernel till we're likely well within the timer resolution on windows.
Con Kolivas 420fdf32 2012-10-12T14:17:29 Display the actual share diff next to the pool required diff, using a suffix creation function to prevent values of >1000 being shown in their entirety.
Con Kolivas d15c70f8 2012-10-12T11:30:35 Fix wrong byteswap macro being used on mingw32 which was breaking target generation on stratum.
Con Kolivas a977fa47 2012-10-11T20:46:04 Fix lack of htobe64 on mingw32.
Con Kolivas 4fbc570f 2012-10-11T20:30:47 Reinstate the history on dynamic intensity mode to damp fluctuations in intensity but use an upper limit on how much the value can increase at any time to cope with rare overflows.
Con Kolivas 0a902071 2012-10-07T13:22:17 Merge branch 'master' into stratum
Con Kolivas aa35fbcc 2012-10-07T10:21:20 Fix sign warning in ocl.c
Con Kolivas 40b747ba 2012-10-07T10:00:02 Put scrypt warning on separate line to avoid 0 being shown on windows as bufsize.
Con Kolivas a8d69302 2012-10-05T12:37:29 Move stratum sockets to curl infrastructure with locking around send+recv to begin support for proxies and ssl.
Con Kolivas deb0a9b6 2012-10-04T23:18:33 Windows doesn't work with MSG_PEEK on recv so move to a continuously updating buffer for incoming messages.
Con Kolivas c113534f 2012-10-04T15:35:28 Begin support for mingw stratum build. Conflicts: configure.ac
Con Kolivas 2fae9064 2012-10-03T21:10:30 Don't try to parse unneeded parameters in response to mining.subscribe.
Con Kolivas 284b786d 2012-10-03T11:18:08 Check the stratum pool difference has not changed compared to the work diff when testing whether a share meets the target or not and retarget if necessary.
Con Kolivas fdaabf59 2012-10-03T00:35:08 Make target on stratum scale to any size by clearing sequential bits according to diff.
Con Kolivas 2941febd 2012-10-02T00:00:55 Store a sockaddr url of the stripped url used in determining sockaddr to not confuse it with the stratum url and fix build warnings.
Con Kolivas b97a33a5 2012-10-01T14:44:44 Use statically allocated stratum strings in struct work to cope with the inability to safely deallocate dynamically allocated ram.
Con Kolivas 7415d7aa 2012-09-29T16:10:13 Begin implementing a hash database of submissions and attempt sending results.
Con Kolivas aa93fa33 2012-09-29T15:02:23 Copy parameters from stratum work required for share submission.
Con Kolivas ac47f7f3 2012-09-29T14:16:16 Store and display stripped url in its own variable.
Con Kolivas 3db6fb4f 2012-09-29T13:07:00 Create machinery to divert work requests to stratum.
Con Kolivas 1f6fe551 2012-09-29T02:16:22 Generate the coinbase for generation of stratum based work.
Con Kolivas 1f64491f 2012-09-29T01:48:01 The number of transactions is variable so make merkle a variable length dynamically allocated array and track how many there are for stratum.
Con Kolivas 1221a80d 2012-09-29T01:03:23 Rename nonce2 to n2size reflecting that it's a size variable and not the actual nonce.
Con Kolivas 56255a0c 2012-09-28T18:01:33 Create a stratum thread per pool that has stratum that monitors the socket and serves received data.
Con Kolivas 9d4a44e8 2012-09-28T09:57:42 Create helper functions for duplicating json strings to avoid keeping json references in use.
Con Kolivas a6f1a622 2012-09-28T04:35:16 Create helper functions for checking when a socket is ready to read on and receive a single line at a time. Begin stratum authorisation process.
Con Kolivas 64df34cd 2012-09-27T13:26:09 Create a stratum work structure to store current work variables.
Con Kolivas f6f43500 2012-09-27T09:06:56 Detect stratum in common place when adding urls, and use a bool to tell us when it's active.
Con Kolivas e3f1b02e 2012-09-26T16:49:51 Extract and store various parameters on stratum init confirming successful mining notify.
Con Kolivas 58873c1d 2012-09-25T20:23:59 Get detailed addressinfo from the parsed URL for future raw socket usage when possible. IPV4 only for now.
Con Kolivas 144a0160 2012-09-24T16:50:04 Add data structures to pool struct for socket communications.
Kano 7c32562d 2012-09-24T11:34:50 API stats add some pool getwork difficulty stats
Con Kolivas 57a73dce 2012-09-24T08:30:07 Test for sequential getwork failures on a pool that might actually be up but failing to deliver work as we may end up hammering it repeatedly by mistake.
Con Kolivas 3243b91e 2012-09-20T23:23:15 Merge pull request #310 from kanoi/master API debug, API-README, API Correct diff1 name, Device diff1, API diff1 etc.
Con Kolivas 61899902 2012-09-21T16:10:34 As we average gpu time over 5 work intervals for dynamic GPU intensity, there is no need to maintain a rolling average and it avoids the potential long term corruption of a single overflow value.
Kano a6bf276f 2012-09-19T01:14:43 API - Add last share difficulty for devices and pool
Kano 89b6989f 2012-09-19T00:54:55 Store and report Accepted,Rejected,Stale difficulty in the summary and API
Kano 923b9e0d 2012-09-18T11:19:57 Calculate work difficulty for each getwork and display with WorkTime debug
Kano 796f3906 2012-09-16T07:57:43 WorkTime - multiple nonce per work and identify the work source
Kano bd3c98aa 2012-09-15T14:04:57 Optional WorkTime details with each Accepted/Rejected work item
Kano 99f0607f 2012-09-12T23:26:43 API add display of and setting queue,scantime,expiry
Kano cef9731f 2012-09-12T07:44:00 CURL support for individual proxy per pool and all proxy types
Kano 307d8da0 2012-09-04T15:57:11 HW: error counter auto for all devices - ztex code not fixed
Kano 9487ba05 2012-09-04T12:52:11 API/BFL identify a device - currently only BFL to flash the led
Kano 7a2407f1 2012-09-04T02:26:17 BFL add throttle count to internal stats + API
Kano 4023872b 2012-09-01T23:51:51 count device diff1 shares
Kano a178039a 2012-08-30T23:22:37 miner.h max_hashes -> int64_t
Con Kolivas 3acc064b 2012-08-23T07:50:28 Merge pull request #306 from kanoi/api Pools: add RollTime info to API 'stats' and 'Stats' button in miner.php (to display it)
Con Kolivas 618b3e8b 2012-08-23T23:50:38 Track queued and staged per pool once again for future use.
Kano d5f485c5 2012-08-23T19:20:12 Pools: add RollTime info to API 'stats' and 'Stats' button in miner.php
ckolivas edd9b816 2012-08-22T10:07:20 Do not add time to dynamic opencl calculations over a getwork.
Kano b3e9858c 2012-08-20T16:07:20 API new command 'coin' with mining information
Kano 9210abdf 2012-08-19T15:09:45 API V1.17 show Work Utility and Diff1 Shares
Con Kolivas 26ab7346 2012-08-18T15:27:53 Implement a new pool strategy, BALANCE, which monitors work performed per pool as a rolling average every 10 minutes to try and distribute work evenly over all the pools. Do this by monitoring diff1 solutions to allow different difficulty target pools to be treated equally, along with solo mining. Update the documentation to describe this strategy and more accurately describe the load-balance one.
Con Kolivas d8c76bbd 2012-08-18T11:26:11 Getwork fail was not being detected. Remove a vast amount of unused variables and functions used in the old queue request mechanism and redefine the getfail testing.
Con Kolivas c3e32274 2012-08-16T10:41:01 Cull all the early queue requests since we request every time work is popped now.
Con Kolivas 5fadfdb2 2012-08-16T09:19:45 Overlap queued decrementing with staged incrementing.
Con Kolivas 611f1cec 2012-08-15T22:48:08 Roll work whenever we can on getwork.
Con Kolivas fd0be1bb 2012-08-15T22:28:09 Queue requests for getwork regardless and test whether we should send for a getwork from the getwork thread itself.
Con Kolivas 2480cf23 2012-08-15T10:54:38 Don't try to get bitforce temperature if we're polling for a result to minimise the chance of interleaved responses.
Con Kolivas 8745ba1e 2012-08-15T09:38:45 Windows' timer resolution is limited to 15ms accuracy. This was breaking dynamic intensity since it tries to measure below this. Since we are repeatedly sampling similar timeframes, we can average the gpu_us result over 5 different values to get very fine precision.
Kano 95dff736 2012-08-14T12:54:27 API allow display/change failover-only setting
Con Kolivas 8aa61f66 2012-08-11T16:47:49 Make sure we have work from the current pool somewhere in the queue in case the queue is full of requests from a pool that has just died.
Con Kolivas 8085ae68 2012-08-11T14:04:55 Further simplify the queue request mechanism.