Plan - Thirtybird/YACMiner GitHub Wiki
DONE
-
move nfmin, nfmax and starttime values into pool values
-
add starttime, nfmin, nfmax and coin parameters to the writing and reading of the config file
-
nfactor is stored with the pool, and is determined when we do the work
-
add nfactor to the pool connection line
-
add nfactor & starttime parameters to curses input for adding a pool
-
-
hitting enter will accept the compiled program defaults (YACoin)
-
-
can test higher N factors by setting nfmin to the desired value to test at
Completed in 3.5.0
- buffer size should calculate the thread-concurrency if it's set and update the variable for the GPU
- eliminate need for thread-concurrency
-
-
It does get passed to opencl kernel to set a dimension on a memory buffer array
-
- --thread-concurrency is superseded by buffer-size, if you set buffer-size and lookup-gap, it will set thread-concurrency internally for you
- --lookup-gap now defaults to 4 if you haven't specified it
- If you haven't specified buffer-size or thread-concurrency - set both based on ~88% of max_alloc on GPU
- Save buffer-size to configuration file
- functionality for mining with standard scrypt has been restored
- added support for N-Scrypt mining
- split kernel for scrypt and nscrypt into to different settings
- allow kernel choice for scrypt - include 130511 and 140202
TO-DO
-
warning if rI is not a multiple of worksize
-
disable xI if shader count is not a multiple of worksize
-
- confirm if the limitations are based on card or driver version (or OpenCL version 1.1 vs 1.2)
-
- perhaps force rI to the nearest valid value (rounding down)
-
- allow this behavior to be overriden by --allow-unsafe-values for people who know how to use them
-
output number of shaders per card somewhere (on the -n screen?)
-
provide output when using xI as what the equivalent rI would be
-
Move the algorithm type and other parameters to a per-pool basis
-
- add command-line parameter for setting the algorithm type on a per-pool basis
-
- update curses interface to accept algorithm type when updating or adding a pool, and only ask for NFMin, NFMax, and StartTime if is a variable N pool
-
- create new api function for adding a pool with algorithm type and NFactor variables
-
fix problem with disabled cards having their gpu-engine and/or gpu-memory set by adl commands
-
Add ability to bump rI by worksize with short keyboard commands (G,+ & G, -) to GPU curses menu
-
add ability to tweak lookup-gap while application is running
-
-
This would almost certainly require the compilation of a new OpenCL kernel while running.
-
-
-
should the kernel be compiled with LG as a hard-code? are there unrolls that are dependant on this being a constant?
-
-
-
can a kernel be compiled mid-execution of the program?
-
-
-
(likely)can different cards be using different kenrels at the same time
-
-
store lookup-gap and raw-intensity per N-factor in config so these settings can be re-activated if the NFactor switches
-
output line for pool connection is kind of long - is there a way to shorten this?
-
curses interface for adding a new pool
-
-
allow hitting enter to use the values from the current_pool?
-
-
-
maybe show a list of what other pools use?
-
-
add api functions for returning nfactor, starttime, nfmin, nfmax, rawintensity and coin
-
add Xperimental stratum command to set a hashing algorithm for a pool algorithm and necessary parameters (aka "scrypt,1024,1,1", "scrypt-chacha,32768,1,1", "nscrypt,2048,1,1")
-
-
this needs to be set at the pool level in case there are pools and that can be mining different coins at different times
-
-
-
ensure there is a way for the end user to disable this functionality (add command-line switch)
-
-
"auto-tune" the raw intensity/lookup gap
-
-
See [Auto-Tune](https://github.com/Thirtybird/YACMiner/wiki/AutoTune) entry
-
-
add --coin command line to set minN, maxN and starttime
-
- if this parameter is used, ensure thatn --nfmin, --nfmax and --starttime do not overwrite these values
-
-
output something to end user if these are both used - let them know --coin overrides
-
-
-
create a text-file database that is read in for working with this parameter so that as new coins are created, they can be added without a new version of the miner needing to be compiled
-