You can mine up to 2 different algorithms at the same time. Different combinations are available: - Mine 2 different algorithms on the same GPU - Mine 2 different algorithms on distinct GPU's - Mine 2 different algorithms mixed CPU+GPU If an algorithm can't be mined on a GPU device, it will only be mined on CPU. There are 4 job handling modes available for you when mining multiple algorithms, and they can be set with parameter '--multi-algorithm-job-mode' 0: no redirect 1: redirect always to a0 2: redirect to next available algorithm 3: work on a1 jobs only when a0 doesn't have anything to work on Job handling is available both to CPU and GPU mined algorithms. It is very adviseable to use parameter '--enable-workers-ramp-up', to avoid a potential system crash when all the workers try to allocate their resources at the same time. What does this do ? A quick example is the best way to understand : You set two algorithms to mine, for example algorithm 0 to run on 2 GPU's and algorithm 1 on 4 GPU's. If for some reason the pool you are mining on algorithm 1 disconnects (and you did not define failover pools), the GPU's that were mining algorithm 1 would now be idling, right? Well, SRBMiner can take over jobs from algorithm 0 and work on them with those GPU's that would otherwise be idling, until the pool for algorithm 1 becomes available again! After connecting back to algorithm 1 pool, the 4 GPU's will return back and continue working on jobs for algorithm 1! Notice: There is a simple rule for all multi algorithm aware parameters : separate algorithm settings with ';' and things within a specific algorithm with '!' You can set multi algorithm mining only with cmd parameters, configuration files can set only 1 algorithm. Common Parameters: --adl-disable (disable ADL) --algorithm value (algorithm/s to use, separate values with ;) --api-enable (enable statistics API) --api-port value (port where statistics API is reachable - default 21550) --api-rig-name value (identifier name for your rig in statistics API) --api-rig-restart-url value (user defined url which accessed in browser triggers computer restart) --api-miner-restart-url value (user defined url which accessed in browser triggers miner restart) --api-rig-shutdown-url value (user defined url which accessed in browser triggers computer shutdown) --background (run miner in background, without console window) --config-file filename (use config file other than config.txt) --disable-cpu (disable cpu mining) --disable-gpu (disable gpu mining) --disable-extranonce-subscribe (don't send mining.extranonce.subscribe to pool) --disable-gpu-watchdog (disable gpu crash detection) --disable-gpu-tweaking (disable gpu tweaking options (def. is enabled) --enable-ethash-leak-fix (tries to fix AMD driver memory leaks for ethash) --enable-opencl-cleanup (release ocl resources on miner exit/restart) --enable-workers-ramp-up (enable workers slow start) --enable-restart-on-rejected (enable miner auto restart on too many rejected shares. Set number with --max-rejected-shares) --extended-log (enable more informative logging) --forced-shutdown (never try to free resources on restart/shutdown) --give-up-limit value (number of times to try connecting to a pool before switching to the next pool) --gpu-auto-tune value (runs miner in a mode that tries to find best settings per GPU. 0-disabled, 1-normal, 2-fast [def. is 2]) --gpu-errors-alert value (notify when number of result validation errors for any GPU reaches this value [def. is 0 - disabled]) --gpu-watchdog-disable-mode (if enabled, watchdog will try to disable crashed gpu, instead of restarting miner) --list-algorithms (list available algorithms) --list-devices (list available gpu devices) --log-file filename (enable logging to file) --main-pool-reconnect value (time, how often to try to reconnect back to the main pool. def. is 10 minutes, min. is 2 minutes) --max-no-share-sent value (time, if no share is accepted from the pool for x time, restarts miner [def. is 0 - disabled]) --max-rejected-shares value (max number of allowed rejected shares on a connection. def. is 20 if '--enable-restart-on-rejected' option enabled) --multi-algorithm-job-mode value(how miner handles jobs when mining multiple algorithms. 0-no redirect, 1-redirect to a0, 2-redirect to first available, 3-redirect a1 to a0 only if a0 not working. def. is 0) --pools-file filename (use pools file other than pools.txt) --reboot-script-gpu-watchdog (filename, if set it turns off built in restart procedure on gpu failure, and instead runs this script) --retry-time value (time, how much to wait before trying to reconnect to a pool) --reset-vega (disable/enable Vega video cards on miner start) --set-compute-mode (sets AMD gpu's to compute mode & disables crossfire - run as admin) --setup (interactive mode to create basic configuration) --startup-script filename (run custom script on miner start - set clocks, voltage, etc.) --shutdown-temperature value (if this temperature is reached, miner will shutdown system (ADL must be enabled)) --watchdog-rounds value (after how many rounds (round is 30 sec) to trigger gpu-watchdog. def. is 3) On Linux you need to escape the ; character with a backslash! ( \; ) When setting any of the parameters don't use " or ' around the value! Parameters that take a TIME value must be set in SECONDS! Order of the parameters is important, always put --algorithm as the first parameter! CPU Parameters: --cpu-threads (number of cpu threads to use for mining, separate values with ;) --cpu-threads-intensity (thread intensity, can be 1 or 2. Def. is 1, separate values with ; and !) --cpu-affinity value (thread affinity bitmask, hex or decimal value, separate values with ;) --cpu-priority value (miner process priority, 1-5 where 5 is highest (def. is 2), separate values with ;) --disable-cpu-optimisations (use only SSE2 for cpu mining) --disable-huge-pages (disable usage of huge pages) --disable-hw-aes (use only soft AES for cpu mining) --disable-msr-tweaks (disable extra tweaks for some CPU algorithms(def. is enabled) --disable-numa (disable binding to numa nodes) --msr-use-tweaks value (defines MSR tweaks to use 0-4, | 0 - Intel, 0,1,2,3,4 - AMD |) --cpu-threads-intensity takes values for every cpu worker separated with ! Example : --cpu-threads 3 --cpu-threads-intensity 1!1!2 [ means worker 0 intensity is 1, worker 1 intensity is 1, worker 2 intensity is 2 ] Example : --cpu-threads 16 --cpu-threads-intensity 2 [ means apply intensity 2 to all 16 workers ] GPU Parameters: --gpu-id value (gpu id/s from --list-devices, separate values with ; and !) --gpu-intensity value (gpu intensity, 1-31, separate values with ; and !) --gpu-auto-intensity value (0-disabled, 1-light, 2-normal, separate values with ; and !) --gpu-raw-intensity value (gpu raw intensity, separate values with ; and !) --gpu-worksize value (gpu worksize, separate values with ; and !) --gpu-target-temperature value (gpu temperature, separate values with ; and !) --gpu-off-temperature value (gpu turn off temperature, separate values with ; and !) --gpu-target-fan-speed value (gpu fan speed in RPM, separate values with !) --gpu-adl-type value (ADL to use (1-3), separate values with !) --gpu-tweak-profile value (number from 0-10, 0 disables tweaking) --gpu-ethash-mode value (1, 2 or 3. Default is 2, separate values with ; and !) --gpu-cn-mode value (0 or 1. Default is 0. If you have a weaker GPU try 1. separate values with ; and !) Important: If algorithm is using 2 threads per GPU (auto chosen or manually set), there is a chance for memory leaking if intensity/raw-intensity value for the second thread is too high. This can cause system crash, gpu crash or an unstable system! --gpu-ethash-mode: 1 - No cache on GPU, so there is more space for DAG. Creation time is very slow, but it might extend mining time for a few epochs. Try with 4GB cards where DAG can't fit. 2 - Cache and DAG on GPU. This is the fastest mode. If using with 4GB cards where DAG can't fit, hashing will be very slow. 3 - No cache on GPU, so there is more space for DAG. You need to have at least one 8GB card in the same rig, and 5+ GB system RAM. Creation time is fast. Try with 4GB cards where DAG can't fit. Pool Parameters: --pool value (pool address:port, separate values with ; and !) --wallet value (user wallet address, separate values with ; and !) --worker value (worker name or rig id, separate values with ; and !) --password value (pool password, separate values with ; and !) --tls value (use TLS, true or false, separate values with ; and !) --esm value (ethash stratum mode [0, 1], separate values with ; and !) --nicehash value (force nicehash, true or false, separate values with ; and !) --job-timeout value (time, if no job received for this period, miner will reconnect. Disabled by default, separate values with ; and !) --max-difficulty value (number, if pool difficulty is above this value miner will reconnect to the pool, separate values with ; and !) --start-block-height value (number, start mining when defined block height is reached. Pool must send this info, separate values with ; and !) --keepalive value (true or false, not every pool supports this, separate values with ; and !) --send-stales value (send stale shares to pool, true or false, separate values with ; and !) --algo-min-time value (time, used with algorithm switching capability, minimum time to mine same algorithm. Def. is 10 min.) If pool name contains 'nicehash' it auto enables nicehash mode To enable TLS use stratum+tls:// or stratum+ssl:// as a prefix or set with --tls parameter When defining pools use '!' to define failover pools