ckolivas
fd7b21ed56
Use a pthread conditional that is broadcast whenever work restarts are required. Create a generic wait function waiting a specified time on that conditional that returns if the condition is met or a specified time passed to it has elapsed. Use this to do smarter polling in bitforce to abort work, queue more work, and check for results to minimise time spent working needlessly.
13 years ago
ckolivas
1e9421475c
Timersub is supported on all build platforms so do away with custom timerval_subtract function.
13 years ago
Con Kolivas
3267b534a8
Implement rudimentary X-Mining-Hashrate support.
13 years ago
Kano
c21fc06560
define API option --api-groups
13 years ago
ckolivas
dffda2382f
Increase GPU timing resolution to microsecond and add sanity check to ensure times are positive.
13 years ago
Con Kolivas
c027492fa4
Make the pools array a dynamically allocated array to allow unlimited pools to be added.
13 years ago
Con Kolivas
5cf4b7c432
Make the devices array a dynamically allocated array of pointers to allow unlimited devices.
13 years ago
Con Kolivas
eaf1505381
Dynamic intensity for GPUs should be calculated on a per device basis. Clean up the code to only calculate it if required as well.
13 years ago
Con Kolivas
f32ffb8718
Work out a rolling average getwork delay stored in pool_stats.
13 years ago
ckolivas
c5a21fabf0
Extend nrolltime to support the expiry= parameter. Do this by turning the rolltime bool into an integer set to the expiry time. If the pool supports rolltime but not expiry= then set the expiry time to the standard scantime.
13 years ago
Luke Dashjr
1215da39ee
modminer: Don't delay 2nd+ FPGAs during work restart
...
Add primary_thread boolean to threads to identify a single one as the "primary" thread for shared-resource multithreading.
This is needed since ModMiners use multiple threads to interface with independent hashing components.
13 years ago
Paul Sheppard
7ae22e21e3
Disable OpenCL code when not available.
13 years ago
Con Kolivas
dbe9056df4
Add mandatory and block fields to the work struct. Flag any shares that are detected as blocks as mandatory to submit, along with longpoll work from a previously rejecting pool.
13 years ago
Luke Dashjr
4eb23c7ea3
Bugfix: slay a variety of warnings
13 years ago
Kano
913221c373
API add ModMinerQuad support
13 years ago
Luke Dashjr
a78d616bc5
modminer: Temperature sensor improvements
...
Display the temperature of each of the (up to) 4 FPGAs
13 years ago
Luke Dashjr
76f96f4717
New driver: BTCFPGA ModMiner
13 years ago
Luke Dashjr
d3fa59d76f
Abstract generally useful FPGA code into fpgautils.c
13 years ago
Kano
fdcd72b9ae
API add stats for pool getworks
13 years ago
Kano
3cb3f09a50
API save default config file if none specified
13 years ago
Con Kolivas
85210ee7a8
If shares are known stale, don't use them to decide to disable a pool for sequential rejects.
13 years ago
Kano
b5ed958e84
Icarus: high accuracy timing and other bitstream speed support
13 years ago
Con Kolivas
e195a31c02
Fix win32 build.
13 years ago
Con Kolivas
61696c072c
In the unlikely event of finding a block, display the block solved count with the pool it came from for auditing.
13 years ago
Kano
00158c3a1f
API 'stats' allow devices to add their own stats also for testing/debug
13 years ago
Kano
976e27c4cb
API add getwork stats to cgminer - accesable from API 'stats'
13 years ago
Con Kolivas
46a679f39e
Revert "Provide simple macros for the repeated use of checking the first value of the input char with strncasecmp."
...
This reverts commit 87708a6a0e
.
Broken.
13 years ago
Con Kolivas
c8e1026dfb
Get rid of unitialised variable warning when it's false.
13 years ago
Con Kolivas
87708a6a0e
Provide simple macros for the repeated use of checking the first value of the input char with strncasecmp.
13 years ago
Con Kolivas
4987958e6a
Add a temporarily disabled state for enabled pools called POOL_REJECTING and use the work from each longpoll to help determine when a rejecting pool has started working again.
...
Switch pools based on the multipool strategy once a pool is re-enabled.
13 years ago
Kano
44fc698750
API add last share time to each pool
13 years ago
Con Kolivas
a4f1af1733
Detect pools that have issues represented by endless rejected shares and disable them, with a parameter to optionally disable this feature.
13 years ago
Con Kolivas
5081c1824a
Limit the number of curls we recruit on communication failures and with delaynet enabled to 5 by maintaining a per-pool curl count, and using a pthread conditional that wakes up when one is returned to the ring buffer.
13 years ago
Con Kolivas
d4405de704
Generalise add_pool() functions since they're repeated in add_pool_details.
13 years ago
ckolivas
85008a7853
Reap curls that are unused for over a minute.
...
This allows connections to be closed, thereby allowing the number of curl handles to always be the minimum necessary to not delay networking.
13 years ago
Con Kolivas
7d288eac9f
Implement a scaleable networking framework designed to cope with any sized network requirements, yet minimise the number of connections being reoped.
...
Do this by create a ring buffer linked list of curl handles to be used by getwork, recruiting extra handles when none is immediately available.
13 years ago
Con Kolivas
89053c78da
There is no need for the submit and getwork curls to be tied to the pool struct.
13 years ago
Con Kolivas
1ab318d0f3
Start longpoll only after we have tried to extract the longpoll URL.
13 years ago
Con Kolivas
eda382990a
Create one longpoll thread per pool, using backup pools for those pools that don't have longpoll.
...
Use the work created from the longpoll return only if we don't have failover-enabled, and only flag the work as a longpoll if it is the current pool.
This will work around the problem of trying to restart the single longpoll thread on pool changes that was leading to race conditions.
It will also have less work restarts from the multiple longpolls received from different pools.
13 years ago
Con Kolivas
4cd973264f
Create discrete persistent submit and get work threads per pool, thus allowing all submitworks belonging to the same pool to reuse the same curl handle, and all getworks to reuse their own handle.
...
Use separate handles for submission to not make getwork potentially delay share submission which is time critical.
This will allow much more reusing of persistent connections instead of opening new ones which can flood routers.
This mandated a rework of the extra longpoll support (for when pools are switched) and this is managed by restarting longpoll cleanly and waiting for a thread join.
13 years ago
Luke Dashjr
4648330c9d
Support for share logging
13 years ago
Con Kolivas
f5f089f5b4
Add a --gpu-map option which will allow arbitrarily mapping ADL devices to OpenCL devices for instances where association by enumeration alone fails.
13 years ago
Luke Dashjr
730849c988
Make a union for cgpu device handles, and rename "device" to "device_ztex" since it's Ztex-specific
13 years ago
Kano
2e1d2017de
API add removepool like the screen interface
13 years ago
nelisky
c3bda2b709
adding path to libusb include
13 years ago
nelisky
99a188f94f
initial commit with some support for ztex 1.15x board.
...
This version is just a rough draft, but it does alredy mine.
Conflicts:
cgminer.c
configure.ac
13 years ago
Con Kolivas
dc70fe9ce0
Do a complete cgminer restart if the ATI Display Library fails, as it does on windows after running for some time, when fanspeed reporting fails.
13 years ago
Kano
0be2b9e9b6
Increase max devices to 64 (for FPGA support)
13 years ago
Kano
18a8b5506e
API returns the simple device history with the 'notify' command
13 years ago
Kano
eeec98098f
code changes for supporting a simple device history
13 years ago