Skip to content

Windows/UNIX build of psychocoder's optimisations for K20, based on Ang3lus/puddinpop's CUDA miner

License

Notifications You must be signed in to change notification settings

cdmackie/rpcminer-mod

 
 

Repository files navigation

This is the Windows 64-bit build of psychocoder's version of rpcminer-mod (https://github.com/psychocoder-germany/rpcminer-mod) - until it gets merged. It should still be compatible with unix, just has added Windows compatability.

See "NVIDIA Kepler (K20) from 134MHash/s to 330MHash/s with CUDA" (https://bitcointalk.org/index.php?topic=163750)

This mod is primarily for better optimisations with the newer K20 NVIDIA cards, such as GTX TITAN and Tesla K20. You can still use it on all NVIDIA CUDA compatibale cards, but you may not see any great improvements over other mining software.

Windows
=======

NVIDIA
------

Either clone the repository using Git or click the Zip button above and extract it. Go into the bin folder and execute:

rpcminer-mod-cuda.exe -url=http://<yourpool>:port -user=username -password=password -gpu -gputhreads=256 -aggression=11
	
(see https://bitcointalk.org/index.php?topic=163750 for optimised parameters)
		
		
ATI/OpenCL
----------

Download and install the AMD APP for OpenCL.

Get the contents of the bin folder and execute:

rpcminer-mod-opencl.exe -url=http://<yourpool>:port -user=username -password=password -gpu
	
(see notes below for optimised paramters)

		
Multiple Cards
--------------
	
You would normally not use the "-threads" parameter with GPU mining (only CPU), however, if you have multiple cards you can use it to set a number of threads that matches the number of GPU cards you have, such as "-threads=2", which will automatically pickup GPU0 and GPU1.
e.g. rpcminer-mod-cuda.exe -url=http://<yourpool>:port -user=username -password=password -threads=2 -gpu -aggression=11
	
Don't specifiy more threads than you have cards, it will fail.
	
Most pools allow this on the same worker, but if you want to use different workers you will need to run it in two different command windows explicitly with "-gpu=0" and "-gpu=1".

	
To Compile
----------

Requires Visual Studio 2010 and appropriate SDK:
	NVIDIA: GPU Computing Toolkit for CUDA 64-bit (5.x), or
	ATI: AMD APP for OpenCL.

Expand all the 7z files in the "deps.x64" directory.

Open solution and make sure CUDA or OpenCL includes and library paths for each project are correct.

Build.

	
UNIX
====

Pre-requisites:

	NVIDIA GPU Computing Toolkit for CUDA (5.x)
	build-essentials
	libssl-dev
	libboost-all-dev
	libpcre3-dev
	libcurl4-openssl-dev
	cmake
	gcc and g++ 4.6 (4.7+ is not compatible with CUDA 5 toolkit)
	
Build
	
	cmake .
	make
	
Run

	cd cmake-rpcminer
	./rpcminer -url=http://<yourpool>:port -user=username -password=password -gpu -gputhreads=256 -aggression=11

*********************
 
This is a modification of puddinpop's miner.
This modification will allow users to compile this miner with CUDA or Opencl support and install it in easly manner.

*********************
* RPC MINER CLIENT 
*********************
(ARGUMENTS MAY BE COMBINED WITH CUDA/OPENCL ARGUMENTS)
RPC miner client arguments

-url=http://example.com:8332
	The URL of the RPC server.
	
-user=username
	The username used to connect to the RPC server.
	
-password=password
	The password used to connect to the RPC server.
	
-threads=x
	Start this number of miner threads.  The default value is the number of cores
	on your processor if using a CPU miner, or 1 if using a GPU miner.
	
-workrefreshms=xxxx
	Work will be refreshed from the server this often.  Each thread that is 
	started needs its own work.  The default value is 4000ms.  If you have a
	fast miner, or are using lots of threads, you might want to reduce this.

-statsurl=http://example.com/stats/json
	The URL of a server that will respond with a json object of the server stats.
	Currently, only slush's server stats are available.  The stats will be
	printed by the client every minute.  Not specifying a url will result in no
	stats being displayed.


*********************
* CUDA MINER
*********************
CUDA miner arguments

-gpu=X
	Turns on GPU processing on specific GPU device.  Indexes start at 0.  If you 
	just use -gpu without =X it will pick the first device found.

-aggression=X
	Specifies how many hashes (2^(X-1)) per kernel thread will be calculated.  
	The default is 6.  It starts at 1 and goes to 32, with each successive
	number meaning double the number of hashes.  Sane values are 1 to 12 or
	maybe 14 if you have some super card.

-gpugrid=X
	Specifies what the grid size of the kernel should be.  Useful for fine tuning 
	hash rate.

-gputhreads=X
	Specifies how many threads per kernel invocation should run.  Useful for fine 
	tuning hash rate.

-port=X
	Specifies the port that bitcoin will listen on.  (When run in GUI or daemon)

-rpcport=X
	Specifies the port that the rpc server will listen on.  (When run in GUI or daemon)



*********************
* OPENCL MINER
*********************
Make sure bitcoinmineropencl.cl is in the bitcoin working directory for the server and 
rpc miner, and remotebitcoinmineropencl.cl for the remote miner.

OpenCL miner arguments

-platform=X
	Use specific OpenCL platform at index X.  Indexes start at 0.  Default is 0.
	
-gpu=X
	Turns on GPU processing on specific GPU device on specified platform.
	Indexes start at 0.  If you just use -gpu without =X it will pick the first 
	device found.

-aggression=X
	Specifies how many hashes (2^(X-1)) per kernel thread will be calculated.  
	The default is 6.  It starts at 1 and goes to 32, with each successive
	number meaning double the number of hashes.  Sane values are 1 to 12 or
	maybe 14 if you have some super card.

-gpugrid=X
	Specifies what the grid size of the kernel should be.  Useful for fine tuning 
	hash rate.

-gputhreads=X
	Specifies how many threads per kernel invocation should run.  Useful for fine 
	tuning hash rate.

-port=X
	Specifies the port that bitcoin will listen on.  (When run in GUI or daemon)

-rpcport=X
	Specifies the port that the rpc server will listen on.  (When run in GUI or daemon)

About

Windows/UNIX build of psychocoder's optimisations for K20, based on Ang3lus/puddinpop's CUDA miner

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 66.7%
  • C 31.7%
  • Perl 1.2%
  • Shell 0.4%