diff options
author | Gustav Simonsson <gustav.simonsson@gmail.com> | 2015-06-12 13:45:23 +0800 |
---|---|---|
committer | Gustav Simonsson <gustav.simonsson@gmail.com> | 2015-10-07 19:19:30 +0800 |
commit | ec6a548ee3555813d83f86f82bd25694bfd9c303 (patch) | |
tree | 9d0ec5022dc952f7b1053b85382df07347bc48f0 /cmd/geth/main.go | |
parent | 8b865fa9bf75e728d5d76f5a1460e0c37d8b5f9e (diff) | |
download | dexon-ec6a548ee3555813d83f86f82bd25694bfd9c303.tar dexon-ec6a548ee3555813d83f86f82bd25694bfd9c303.tar.gz dexon-ec6a548ee3555813d83f86f82bd25694bfd9c303.tar.bz2 dexon-ec6a548ee3555813d83f86f82bd25694bfd9c303.tar.lz dexon-ec6a548ee3555813d83f86f82bd25694bfd9c303.tar.xz dexon-ec6a548ee3555813d83f86f82bd25694bfd9c303.tar.zst dexon-ec6a548ee3555813d83f86f82bd25694bfd9c303.zip |
all: Add GPU mining, disabled by default
Diffstat (limited to 'cmd/geth/main.go')
-rw-r--r-- | cmd/geth/main.go | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/cmd/geth/main.go b/cmd/geth/main.go index a9aa9f61f..ec61dedff 100644 --- a/cmd/geth/main.go +++ b/cmd/geth/main.go @@ -107,6 +107,22 @@ Regular users do not need to execute it. `, }, { + Action: gpuinfo, + Name: "gpuinfo", + Usage: "gpuinfo", + Description: ` +Prints OpenCL device info for all found GPUs. +`, + }, + { + Action: gpubench, + Name: "gpubench", + Usage: "benchmark GPU", + Description: ` +Runs quick benchmark on first GPU found. +`, + }, + { Action: version, Name: "version", Usage: "print ethereum version numbers", @@ -298,6 +314,7 @@ JavaScript API. See https://github.com/ethereum/go-ethereum/wiki/Javascipt-Conso utils.GasPriceFlag, utils.MinerThreadsFlag, utils.MiningEnabledFlag, + utils.MiningGPUFlag, utils.AutoDAGFlag, utils.NATFlag, utils.NatspecEnabledFlag, @@ -586,7 +603,10 @@ func startEth(ctx *cli.Context, eth *eth.Ethereum) { } } if ctx.GlobalBool(utils.MiningEnabledFlag.Name) { - if err := eth.StartMining(ctx.GlobalInt(utils.MinerThreadsFlag.Name)); err != nil { + err := eth.StartMining( + ctx.GlobalInt(utils.MinerThreadsFlag.Name), + ctx.GlobalString(utils.MiningGPUFlag.Name)) + if err != nil { utils.Fatalf("%v", err) } } @@ -740,6 +760,29 @@ func makedag(ctx *cli.Context) { } } +func gpuinfo(ctx *cli.Context) { + eth.PrintOpenCLDevices() +} + +func gpubench(ctx *cli.Context) { + args := ctx.Args() + wrongArgs := func() { + utils.Fatalf(`Usage: geth gpubench <gpu number>`) + } + switch { + case len(args) == 1: + n, err := strconv.ParseUint(args[0], 0, 64) + if err != nil { + wrongArgs() + } + eth.GPUBench(n) + case len(args) == 0: + eth.GPUBench(0) + default: + wrongArgs() + } +} + func version(c *cli.Context) { fmt.Println(ClientIdentifier) fmt.Println("Version:", Version) |