Bitcoin Forum
May 07, 2024, 09:59:21 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Why no GPU support in the standard client ?  (Read 3011 times)
zaxx (OP)
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile WWW
February 19, 2011, 11:34:31 PM
 #1

I'm sorry if this has been covered before but I am interested to know if there is any good reason why there is no GPU support in the standard client.

Is it an intentional choice so that users dont have to understand how to install the latest GFX drivers ?

Even if this were the case, would it not make sense to build it in as an option.

zx
1715075961
Hero Member
*
Offline Offline

Posts: 1715075961

View Profile Personal Message (Offline)

Ignore
1715075961
Reply with quote  #2

1715075961
Report to moderator
1715075961
Hero Member
*
Offline Offline

Posts: 1715075961

View Profile Personal Message (Offline)

Ignore
1715075961
Reply with quote  #2

1715075961
Report to moderator
The Bitcoin network protocol was designed to be extremely flexible. It can be used to create timed transactions, escrow transactions, multi-signature transactions, etc. The current features of the client only hint at what will be possible in the future.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715075961
Hero Member
*
Offline Offline

Posts: 1715075961

View Profile Personal Message (Offline)

Ignore
1715075961
Reply with quote  #2

1715075961
Report to moderator
Cryptoman
Hero Member
*****
Offline Offline

Activity: 726
Merit: 500



View Profile
February 20, 2011, 12:05:00 AM
 #2

I'm sorry if this has been covered before but I am interested to know if there is any good reason why there is no GPU support in the standard client.

Is it an intentional choice so that users dont have to understand how to install the latest GFX drivers ?

Even if this were the case, would it not make sense to build it in as an option.

zx

There are too many variations in GPU hardware and thus too many dependencies to deal with.

"A small body of determined spirits fired by an unquenchable faith in their mission can alter the course of history." --Gandhi
zaxx (OP)
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile WWW
February 20, 2011, 01:10:15 AM
 #3

Quote
There are too many variations in GPU hardware and thus too many dependencies to deal with.

You dont need to code direct to specific GPU configs, this is dealt with in the divers behind the API's of DirectCompute or OpenCL. (There could well be performance wins for coding the hash algorithms direct to the register specs of either say ATI or NVidia GPU's but i dont think people are utilizing that with the GPU miners for exactly the same reasons of hardware dependencies)

It should be a matter of picking the preferred API for the OS flavors of each client build. A proper job of it should be able to get the CPU and GPU working together too.

The reason I bring it up is that Bitcoin seems to be about fairness. I like that, so in this vein, the lack of GPU support in the standard client could look like a sort of favoritism toward the more technically able.

Saying that I realize this 'tec favoritism' is inherent in Bitcoin by its very nature because it is most readily understood hence early adopted by coders.

zx
jgarzik
Legendary
*
Offline Offline

Activity: 1596
Merit: 1091


View Profile
February 20, 2011, 02:23:31 AM
Last edit: February 20, 2011, 03:31:43 AM by jgarzik
 #4

Quote
There are too many variations in GPU hardware and thus too many dependencies to deal with.

You dont need to code direct to specific GPU configs, this is dealt with in the divers behind the API's of DirectCompute or OpenCL. (There could well be performance wins for coding the hash algorithms direct to the register specs of either say ATI or NVidia GPU's but i dont think people are utilizing that with the GPU miners for exactly the same reasons of hardware dependencies)

There are a zillion and one SDK versions, all proprietary and changing rapidly.  This is a huge effort for a program that runs on Windows, Linux and Mac.  We have enough trouble just getting the current Windows code to build, as it is.

It is far more likely that we remove the CPU mining code from bitcoin, than add GPU mining code.


Jeff Garzik, Bloq CEO, former bitcoin core dev team; opinions are my own.
Visit bloq.com / metronome.io
Donations / tip jar: 1BrufViLKnSWtuWGkryPsKsxonV2NQ7Tcj
qed
Full Member
***
Offline Offline

Activity: 196
Merit: 100


View Profile
February 20, 2011, 03:20:29 AM
 #5

OpenCL is far from mature. Coding and maintaining for CUDA, OpenCL and all the platforms can be time consuming. CPU mining is not worth atm.

Mobile App (Android)

Monitor miners, exchange rates and Bitcoin network stats.
Mahkul
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


Every saint has a past. Every sinner has a future.


View Profile
February 20, 2011, 10:48:13 AM
 #6

How about separating the mining part from the Bitcoin client altogether and having a separate application for mining (but also hosted on bitcoin.org)? Whoever doesn't need to mine can just download the client itself. The mining application would have a nice GUI and a lot of configuration options. The only thing that the client could have is adding username and password to the bitcoin.conf from the GUI level. The mining application could contain different miner versions (m0mchil, diablo, rpc etc.) and the user could just pick one - then the application would advise them about prerequisites needed for each miner). I know this is very rough, just thinking aloud. But something could come out of it, perhaps.
caveden
Legendary
*
Offline Offline

Activity: 1106
Merit: 1004



View Profile
February 20, 2011, 12:08:15 PM
 #7

How about separating the mining part from the Bitcoin client altogether and having a separate application for mining (but also hosted on bitcoin.org)?

This sounds a better idea.

Actually, as soon as there are better GUIs out there, I think the default GUI itself could be "retired", and we keep just the command line application. Keeping it simple...
dbitcoin
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500

BTCDig - mining pool


View Profile WWW
February 20, 2011, 03:58:02 PM
 #8

I'm sorry if this has been covered before but I am interested to know if there is any good reason why there is no GPU support in the standard client.

Is it an intentional choice so that users dont have to understand how to install the latest GFX drivers ?

Even if this were the case, would it not make sense to build it in as an option.

zx

Probably average user does not have any decent GPU.
And notebook/nettop/netbook  users do not want application with heavy power consumption.

BTCDig - mining pool (Stratum, VarDiff, DGM, SSL, JSON API)
SmokeTooMuch
Legendary
*
Offline Offline

Activity: 860
Merit: 1021


View Profile
February 20, 2011, 05:15:59 PM
 #9

-> https://www.bitcoin.org/smf/index.php?topic=12.msg52#msg52

Suggestion :

Since the coins are generated faster on fast machines, many people will want to use their GPU power to do this, too.

So, my suggestion is to implement a GPU-computing support using ATI Stream and Nvidia CUDA.

The average total coins generated across the network per day stays the same.  Faster machines just get a larger share than slower machines.  If everyone bought faster machines, they wouldn't get more coins than before.

We should have a gentleman's agreement to postpone the GPU arms race as long as we can for the good of the network.  It's much easer to get new users up to speed if they don't have to worry about GPU drivers and compatibility.  It's nice how anyone with just a CPU can compete fairly equally right now.

Date Registered: 2009-12-10 | I'm using GPG, pm me for my public key. | Bitcoin on Reddit: https://www.reddit.com/r/btc
Quip
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
February 20, 2011, 05:47:35 PM
 #10

There are a zillion and one SDK versions, all proprietary and changing rapidly.

Every GPU and CPU on the market today can run OpenCL code, though some Nvidia parts and all CPUs do it through emulation. That's 1 open API.
zaxx (OP)
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile WWW
February 20, 2011, 09:14:12 PM
 #11

Yes, two separate applications makes sense to me.

Still the miner can support both CPU and GPU options, or both. Its doable, but does require extra architecture to keep it all clean. It also requires a more complex test matrix to release per platform, which may be a hit you dont want to take right now.

zx
Mahkul
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


Every saint has a past. Every sinner has a future.


View Profile
February 20, 2011, 10:01:18 PM
 #12

As I said I think an ideal solution would be having an official miner as a separate application, where you could chose between what miner you want to use (miners would be included in the installation package). For example, while configuring the installation the user would have an option of installing different miners:

Please select which elements of the program you want to install:

  • m0mchil's miner
  • Diablo miner
  • jgarzik's miner

etc.

Ideally if the program could also check whether the graphics card is suitable for mining and also advise what prerequisites are needed.

Then, after the installation, you could select which miner you want to use and also, you could specify the switches (like, for m0mchils, you could set -f -v -w etc values in the configuration box). a GUI of the mining process would be extremely nice too.

I know this is a lot of work, just saying.
Gavin Andresen
Legendary
*
Offline Offline

Activity: 1652
Merit: 2216


Chief Scientist


View Profile WWW
February 21, 2011, 01:05:52 AM
 #13

As I said I think an ideal solution would be having an official miner as a separate application, where you could chose between what miner you want to use (miners would be included in the installation package).

Good idea.

Patches welcome, as long as they're nice and stable and have had a fair bit of testing...

How often do you get the chance to work on a potentially world-changing project?
Kiv
Full Member
***
Offline Offline

Activity: 162
Merit: 100



View Profile
February 26, 2011, 03:59:06 AM
 #14

I'm creating a GUI miner application that works towards this. Right now it only supports m0mchil's miner but I plan to support other miners soon.

GUIMiner - get started easily mining Bitcoins on your GPU or CPU
Donate to support work on GUIMiner: 1MDDh2h4cAZDafgc94mr9q95dhRYcJbNQo
or YouTipIt
austinlorenz
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
February 28, 2011, 09:52:45 PM
 #15

The reason I bring it up is that Bitcoin seems to be about fairness. I like that, so in this vein, the lack of GPU support in the standard client could look like a sort of favoritism toward the more technically able.

Profiting from one's technical ability seems fair to me.  It's not as though acquiring it were free.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!