cgminer.c


Log

Author Commit Date CI Message
ckolivas 0db998c5 2012-02-22T22:21:18 Add a --benchmark feature which works on a fake item indefinitely to compare device performance without any server or networking influence.
ckolivas d3ad87f5 2012-02-22T20:13:23 Allow writing of multiple worksizes to the configuration file.
ckolivas 1b1fa5cd 2012-02-22T20:08:29 Allow writing of multiple vector sizes to the configuration file.
ckolivas 994cd775 2012-02-22T20:01:09 Allow writing of multiple kernels to the configuration file.
ckolivas 93efb726 2012-02-22T19:38:01 Allow multiple different kernels to be chosen per device.
Con Kolivas 26c59fbf 2012-02-22T16:59:28 Allow the worksize to be set per-device.
Con Kolivas deff55c6 2012-02-22T16:54:06 Allow different vectors to be set per device.
Con Kolivas bca9814d 2012-02-22T11:50:35 Reset times after all mining threads are started to make estimating hashrates easier at startup.
Con Kolivas d1cddf8b 2012-02-21T22:23:07 Update licensing to GPL V3.
Con Kolivas 882e4d85 2012-02-21T03:14:20 Merge pull request #123 from xiangfu/icarus Add Icarus Support to Cgminer
Con Kolivas 2f3a4a47 2012-02-21T21:56:30 Reset the longpoll flag after it's been used once to prevent it restarting work again.
Con Kolivas 2ca8d38e 2012-02-21T02:49:25 Merge pull request #124 from kanoi/master API commits - IP 0/0 means all, add "Log Interval" to config, restrict access to modify commands
Con Kolivas 00290a3e 2012-02-21T21:31:31 Select diablo kernel on all but GCN+SDK 2.6.
Kano e3281c26 2012-02-21T20:03:13 When API shuts down cgminer don't kill itself
Con Kolivas af7368da 2012-02-21T16:43:24 Don't make rolled work from the longpoll be seen as other longpoll work items.
Con Kolivas f4284a21 2012-02-21T09:20:31 Set the lp_sent variable under lock since there will almost always be a race on setting this variable, potentially leading to multiple LPs being sent out.
Con Kolivas 89b32b17 2012-02-20T09:28:01 Officially support diakgcn in code and docs.
Con Kolivas fe4b5e1f 2012-02-20T08:24:41 Set the lp_sent bool earlier to minimise the number of extra longpolls sent out.
Xiangfu f46c2b28 2012-02-13T16:09:45 add icarus to cgminer.c
Con Kolivas 3cdac04f 2012-02-19T23:13:02 Flag the pool that is the longpoll thread to avoid sending multiple longpolls during the slight delays between requesting and setting the lp_sent flag.
Con Kolivas 56baa874 2012-02-19T22:19:59 Make sure to request on the lp url when requesting a longpoll indrectly via get upstream work.
Con Kolivas 79e95dd9 2012-02-19T22:15:55 Store whether a work item is the result of a longpoll or not in struct work and use it to help determine block changes directly from the work longpoll bool.
Con Kolivas 39906718 2012-02-19T22:07:31 Keep track of when a longpoll has been sent for a pool and if the current pool is requesting work but has not sent a longpoll request, convert one of the work items to a longpoll as we may have switched pools but still be using the longpoll from the previous pool.
Con Kolivas 4eca1aa0 2012-02-19T21:50:02 Store the longpoll url in the pool struct and update it from the pool_active test in case it changes. This is to allow further changes to longpoll management on switching pools.
Con Kolivas f85b85d2 2012-02-19T21:28:23 Re-check for a longpoll supporting pool every 30 seconds if none is found initially.
Con Kolivas b217cbee 2012-02-19T20:33:09 Report threads as busy waiting on getwork on startup to avoid them being flagged sick on startup during slow networking.
Con Kolivas 02295c69 2012-02-19T20:19:47 Allow devices that are disabled due to overheating to be flagged as recovering instead of disabling them and re-enable them if they're below ideal temperatures and --no-restart has not been set.
Con Kolivas 810ad045 2012-02-18T23:16:08 More copyright updates.
Con Kolivas 17cc279a 2012-02-18T22:41:48 Always use a fresh connection for longpoll as prolonged persistent connections can fail for many reasons.
Con Kolivas 06721957 2012-02-18T16:34:06 Freeze the queues on all threads that are sent the pause message to prevent them trying to start up again with saved pings in their queues.
Con Kolivas f0e12fc5 2012-02-18T00:25:48 Consolidate all screen updates to the watchdog thread and touch both windows before refresh.
Con Kolivas d2b3fbc9 2012-02-17T23:11:50 Curses will be disabled in clean_up so don't do it early in kill_work, and disable_adl so that GPU settings may be restored to normal in case shutting down curses leads to instability on windows.
Con Kolivas 61328a42 2012-02-17T23:10:01 Stop the mining threads before trying to kill them.
Con Kolivas 1c211c5f 2012-02-17T22:55:33 Plain refresh() does not give reliably screen updates so get rid of all uses of it.
ckolivas 9a0e4f8f 2012-02-15T15:21:43 Move logwindow down once number of devices is known.
ckolivas c235c7e3 2012-02-15T14:35:13 Allow the refresh interval to be adjusted in dynamic intensity with a --gpu-dyninterval parameter.
ckolivas e259a994 2012-02-15T13:53:26 Make curses display visible right from the beginning and fix the window sizes so the initial messages don't get lost once the status window is drawn.
ckolivas c531f1bd 2012-02-15T10:34:26 Use the max_hashes variable to determine when to abandon work.
monson 8047af5a 2012-02-14T14:20:50 fix strcpy NULL pointer if env HOME unset.
Con Kolivas 56907db2 2012-02-12T18:21:30 Fix harmless warnings with -Wsign-compare to allow cgminer to build with -W.
Con Kolivas 11123848 2012-02-12T17:53:50 Fix missing field initialisers warnings.
Con Kolivas 18853748 2012-02-11T22:01:51 Merge pull request #112 from luke-jr/jansson_compat Restore compatibility with Jansson 1.3 and 2.0 (api.c required 2.1)
Luke Dashjr fdadb0b5 2012-02-11T15:46:08 Restore compatibility with Jansson 1.3 and 2.0 (api.c required 2.1)
zefir e0fec357 2012-02-11T19:31:34 modularized logging, support for priority based logging Functions related to logging are extracted into dedicated source files for better maintainability. The existing low-level logging API is extended with a generalized scheme providing log functions log_{error, warning, notice, info, debug} that log messages based on a global opt_log_level. opt_log_level for now is set to LOG_NOTICE and might be modified via command line options or config files in future releases.
zefir 713e8be6 2012-02-04T14:22:47 move CPU chipset specific optimization into device-cpu
Con Kolivas 405a2120 2012-02-11T20:11:18 Remove unnecessary check for opt_debug on every invocation of applog at LOG_DEBUG and place the check in applog().
Con Kolivas 81d4f620 2012-02-11T15:15:03 Various string fixes for reject reason.
Con Kolivas b706da93 2012-02-11T14:55:12 Merge branch 'reject_reason' of https://github.com/luke-jr/cgminer into reject
Luke Dashjr 543265d6 2012-01-24T14:34:17 Generalize --temp-cutoff and implement support for reading temperature from BitFORCE FPGAs
Con Kolivas 8c609579 2012-02-10T19:07:53 Merge pull request #107 from kanoi/master Allow API to restrict access by IP address + other commits
Con Kolivas d24ee782 2012-02-11T13:57:35 Change message from recovered to alive since it is used on startup as well as when a pool has recovered.
Con Kolivas 8e682a2c 2012-02-11T13:53:09 Start mining as soon as any pool is found active and rely on the watchpool thread to bring up other pools.
Con Kolivas 405fcd76 2012-02-11T13:35:30 Delayed responses from testing pools that are down can hold up the watchdog thread from getting to its device testing code, leading to false detection of the GPU not checking in, and can substantially delay auto gpu/auto fan management leading to overheating. Move pool watching to its own thread.
Con Kolivas 5ec684ce 2012-02-11T13:20:32 Space out retrieval of extra work according to the number of mining threads.
Con Kolivas 37374bb4 2012-02-11T13:11:56 Make shutdown more robust. Enable the input thread only after the other threads exist. Don't kill off the workio thread and use it to exit main() only if there is an unexpected problem. Use kill_work() for all anticipated shutdowns where possible. Remove unused thread entry.
ckolivas 95a989da 2012-02-10T13:18:16 Conflicting entries of cl_kernel may have been causing problems, and automatically chosen kernel type was not being passed on. Rename the enum to cl_kernels and store the chosen kernel in each clState.
ckolivas 02c94272 2012-02-10T13:18:16 Conflicting entries of cl_kernel may have been causing problems, and automatically chosen kernel type was not being passed on. Rename the enum to cl_kernels and store the chosen kernel in each clState.
Con Kolivas 6e3ad7ad 2012-02-09T22:40:33 Logic fail on queue request.
Con Kolivas d40979d1 2012-02-09T22:28:59 No point discarding a share even if opt_fail is enabled.
Con Kolivas 435e5c85 2012-02-09T22:27:20 Work items have a tendency to expire at exactly the same time and we don't queue extra items when there are plenty in the queue, regardless of age. Allow extra work items to be queued if adequate time has passed since we last requested work even if over the limit.
Con Kolivas ffbf15ad 2012-02-09T22:00:04 Discard work when failover-only is enabled and the work has come from a different pool.
Con Kolivas 5b476100 2012-02-09T21:54:23 Move from the thread safe localtime_r to regular localtime which is the only one supported on newer pthread libraries on mingw32 to make it compile with the newer ming. Thread safety is of no importance where localtime is used in this code.
Kano f19e67fe 2012-02-08T19:06:24 Allow API to restrict access by IP address
Luke Dashjr f7a9897e 2012-01-26T00:07:42 Display X-Reject-Reason, when provided
Con Kolivas e0540bd4 2012-02-06T21:23:20 Revert "Rewrite the convoluted get_work() function to be much simpler and roll work as much as possible with each new work item." This reverts commit dec99ab739d16f2dd4f48482e713a25ebaef8e66. This seems to cause a race on work in free_work(). Presumably other threads are still accessing the structure.
Con Kolivas de4c6c29 2012-02-06T18:12:22 Provide support for the submitold extension on a per-pool basis based on the value being detected in a longpoll.
Con Kolivas dec99ab7 2012-02-06T17:36:51 Rewrite the convoluted get_work() function to be much simpler and roll work as much as possible with each new work item.
Con Kolivas a3e77937 2012-02-06T16:11:53 Roll as much work as possible from the work returned from a longpoll.
Con Kolivas eff9fe43 2012-02-06T10:42:52 Rolling work on each loop through the mining thread serves no purpose.
Con Kolivas d42d0c8e 2012-02-06T10:41:05 Allow to stage more than necessary work items if we're just rolling work.
Con Kolivas b9612715 2012-02-06T10:40:04 Replace divide_work with reuse_work function used twice.
Con Kolivas 0307f9bb 2012-02-06T10:37:29 Give rolled work a new ID to make sure there is no confusion in the hashtable lookups.
Con Kolivas d991a09e 2012-02-06T08:00:09 Remove now-defunct hash_div variables.
Con Kolivas 36d2fa48 2012-02-05T22:39:28 Silence unused parameter warnings.
Con Kolivas 294ac0b6 2012-02-05T22:33:58 Stagger the restart of every next thread per device to keep devices busy ahead of accessory threads per device.
Con Kolivas 82f74af5 2012-02-05T21:36:41 Deprecate the --donation feature. Needlessly complex, questionable usefulness, depends on author's server and a central pool of some kind, and was not heavily adopted.
Con Kolivas 488a3b73 2012-02-05T17:31:19 It's devices that report back now, not threads.
Con Kolivas 23685aa4 2012-02-05T17:28:53 Continue auto-management of fan and engine speeds even if a device is disabled for safety reasons.
Con Kolivas 01659bcc 2012-02-05T14:35:45 Abstract out tests for whether work has come from a block that has been seen before and whether a string is from a previously seen block.
Kano 0ebc0c9d 2012-02-04T17:49:49 Add last share's pool info in cgpu_info
ckolivas 53c1e9ae 2012-02-04T15:15:57 Allow the OpenCL platform ID to be chosen with --gpu-platform.
ckolivas cda798d9 2012-02-04T13:05:28 Only enable curses on failure if curses is desired.
zefir e0b0a6c0 2012-01-30T23:11:39 Modularize code: main.c -> device-cpu + device-gpu This patch is an initial attempt to re-structure cgminer source code from its monolithic design (with nearly all code being concentrated in main.c) to a more modular one. In this first stage, the conditionally compiled functions for GPU and CPU mining were extracted into dedicated files: * device-cpu.h and device-cpu.c covering WANT_CPUMINE functions * device-gpu.h and device-gpu.c covering HAVE_OPENCL functions The main.c file is left untouched as reference, while the remainder without the extracted parts is located in cgminer.c. The Makefile.am has been updated to use the re-structured source files for the build. Above pure re-structuring *NO* functional modifications were made. The sources were tested to compile and run on on a current Linux system with working CPU and GPU mining (Bitforce not tested due to loack of hardware).