Bitcoin Forum
May 06, 2024, 09:25:48 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Using GPU to *verify* blocks?  (Read 3027 times)
noclip (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
February 13, 2011, 06:46:00 PM
 #1

Is there a way to use a GPU to do the initial block verification? If not, I think this is a feature the developer(s) should consider adding.
1714987548
Hero Member
*
Offline Offline

Posts: 1714987548

View Profile Personal Message (Offline)

Ignore
1714987548
Reply with quote  #2

1714987548
Report to moderator
1714987548
Hero Member
*
Offline Offline

Posts: 1714987548

View Profile Personal Message (Offline)

Ignore
1714987548
Reply with quote  #2

1714987548
Report to moderator
The grue lurks in the darkest places of the earth. Its favorite diet is adventurers, but its insatiable appetite is tempered by its fear of light. No grue has ever been seen by the light of day, and few have survived its fearsome jaws to tell the tale.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
Martian
Newbie
*
Offline Offline

Activity: 7
Merit: 0


View Profile
February 13, 2011, 07:20:52 PM
 #2

Is there a way to use a GPU to do the initial block verification? If not, I think this is a feature the developer(s) should consider adding.
By design it's very very fast to verify a block compared to generating. A CPU has more than enough processing power.
dust
Hero Member
*****
Offline Offline

Activity: 840
Merit: 1000



View Profile WWW
February 13, 2011, 07:25:14 PM
 #3

The problem with including GPU related features in the main client is that GPU computing is very hardware / operating system dependent.  At the very least, installing additional software or drivers is required.

Cryptocoin Mining Info | OTC | PGP | Twitter | freenode: dust-otc | BTC: 1F6fV4U2xnpAuKtmQD6BWpK3EuRosKzF8U
noclip (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
February 13, 2011, 07:33:44 PM
 #4

Is there a way to use a GPU to do the initial block verification? If not, I think this is a feature the developer(s) should consider adding.
By design it's very very fast to verify a block compared to generating. A CPU has more than enough processing power.

I may be wrong about where the bottleneck is, but I was referring to the initial verification of the 100,000 existing blocks when you first start using the client.

The problem with including GPU related features in the main client is that GPU computing is very hardware / operating system dependent.  At the very least, installing additional software or drivers is required.

Hmm, has some kind of standardized plugin architecture been considered (aside from the current RPC method)? You could even throw in a few default plugins for each OS/popular GPU combination. Would it be unsafe?
grondilu
Legendary
*
Offline Offline

Activity: 1288
Merit: 1076


View Profile
February 13, 2011, 07:54:05 PM
 #5

I may be wrong about where the bottleneck is, but I was referring to the initial verification of the 100,000 existing blocks when you first start using the client.

It is the downloading part which takes some time.  Not the verification.

It is therefore a matter of bandwith, not computing power.

dirtyfilthy
Member
**
Offline Offline

Activity: 77
Merit: 10


View Profile
February 13, 2011, 08:41:12 PM
 #6

I may be wrong about where the bottleneck is, but I was referring to the initial verification of the 100,000 existing blocks when you first start using the client.

It is the downloading part which takes some time.  Not the verification.

It is therefore a matter of bandwith, not computing power.


This becomes much less true if you use getheaders to download the blocks on a comparatively under-powered device like an Android phone.
grondilu
Legendary
*
Offline Offline

Activity: 1288
Merit: 1076


View Profile
February 13, 2011, 08:46:43 PM
 #7

I may be wrong about where the bottleneck is, but I was referring to the initial verification of the 100,000 existing blocks when you first start using the client.

It is the downloading part which takes some time.  Not the verification.

It is therefore a matter of bandwith, not computing power.


This becomes much less true if you use getheaders to download the blocks on a comparatively under-powered device like an Android phone.

I very much doubt it is a good idea to run a full bitcoin client on a smartphone.  But this is my personnal opinion.

theymos
Administrator
Legendary
*
Offline Offline

Activity: 5194
Merit: 12972


View Profile
February 13, 2011, 10:14:52 PM
 #8

It is the downloading part which takes some time.  Not the verification.

It is therefore a matter of bandwith, not computing power.

Downloading and verification are actually quite fast. It's creating the index file that's slow.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
dirtyfilthy
Member
**
Offline Offline

Activity: 77
Merit: 10


View Profile
February 13, 2011, 11:17:15 PM
 #9


I very much doubt it is a good idea to run a full bitcoin client on a smartphone.  But this is my personnal opinion.


I'm curious, why do you think this? Lots of people seem to want it. It wouldn't be a "full" client anyway, in the sense of retransmitting blocks or verifying every transaction.
grondilu
Legendary
*
Offline Offline

Activity: 1288
Merit: 1076


View Profile
February 13, 2011, 11:39:30 PM
 #10

I'm curious, why do you think this? Lots of people seem to want it. It wouldn't be a "full" client anyway, in the sense of retransmitting blocks or verifying every transaction.

I just don't trust smartphones for security.  Most of them don't even ask for a password to connect.  How is that even possibly secure?

LZ
Legendary
*
Offline Offline

Activity: 1722
Merit: 1072


P2P Cryptocurrency


View Profile
February 14, 2011, 12:44:32 PM
 #11

Downloading and verification are actually quite fast. It's creating the index file that's slow.
Can it somehow work without creating the index file? It is really slow.

My OpenPGP fingerprint: 5099EB8C0F2E68C63B4ECBB9A9D0993E04143362
Mike Hearn
Legendary
*
Offline Offline

Activity: 1526
Merit: 1129


View Profile
February 17, 2011, 11:11:57 AM
 #12

Yes, the "client mode" that's nearly finished in the client can speed up initial block verification considerably. However a client run in that mode can't mine.

Once mining is better separated from the main client the initial chain can be downloaded much faster.
Hal
VIP
Sr. Member
*
Offline Offline

Activity: 314
Merit: 3853



View Profile
February 17, 2011, 11:01:14 PM
 #13

I've done some benchmarking suggesting that the main CPU bottleneck on initial block download is verifying digital signatures on all transactions in all blocks. If I download from another client on the LAN, I get up to block 70,000 in about 5 minutes, but the rest takes like half an hour.

Hal Finney
theymos
Administrator
Legendary
*
Offline Offline

Activity: 5194
Merit: 12972


View Profile
February 18, 2011, 02:48:01 AM
 #14

I've done some benchmarking suggesting that the main CPU bottleneck on initial block download is verifying digital signatures on all transactions in all blocks. If I download from another client on the LAN, I get up to block 70,000 in about 5 minutes, but the rest takes like half an hour.

Gavin mentioned that using the -rescan switch significantly reduces the "download" time. Does -rescan do verification?

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
riX
Sr. Member
****
Offline Offline

Activity: 326
Merit: 252



View Profile
March 09, 2011, 09:11:12 PM
 #15

I've not tried the -rescan switch, but running the client from a ram disk when doing the initial block chain download speeds up the process quite a bit. Seems like there might be some inefficient disk I/O going on.

Sorry, I can't help you with your lost password.

PGP key: 0x9F31802C79642F25
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!