From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id E5A46B13 for ; Mon, 13 Jul 2015 13:04:20 +0000 (UTC) X-Greylist: delayed 00:09:03 by SQLgrey-1.7.6 Received: from jetson-mail (unknown [90.171.36.71]) by smtp1.linuxfoundation.org (Postfix) with ESMTP id 25463EA for ; Mon, 13 Jul 2015 13:04:20 +0000 (UTC) Received: from owncloud.betarho.net (owncloud.betarho.net [172.21.128.6]) by jetson-mail (Postfix) with ESMTPSA id 31BB662BD5 for ; Mon, 13 Jul 2015 12:55:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=betarho.net; s=mail; t=1436792115; bh=K5fCR/7IfozRKWwU7CmCm/83U2zk0YPfeMGwR14BReA=; h=Date:From:Subject:To:From; b=P/gtMV1SrvGtMWUmSri//h5yNU5NNqN+05WTt2IbGYxow2eBm9Oi1eoeUbF6Ff9mm +zAyXo/FWpJVNvfbJ4HlDZV5cdLciTa8WuFc5j6VhuA4C6kqlP6vhcFErprRk5a43v xd4ETrWrYgtBCEVZIpsGOYvNYAAl8m+5Tjw4mvmg= Mime-Version: 1.0 Date: Mon, 13 Jul 2015 12:55:14 +0000 Content-Type: multipart/alternative; boundary="----=_Part_165_421399874.1436792114" Message-ID: X-Mailer: RainLoop/1.9.1.333 From: "Alex Barcelo" To: bitcoin-dev@lists.linuxfoundation.org X-Spam-Status: No, score=2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FSL_HELO_NON_FQDN_1, HTML_MESSAGE, RCVD_IN_PBL, RDNS_NONE autolearn=no version=3.3.1 X-Spam-Level: ** X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: [bitcoin-dev] About hardware accelerators advantages for full-node (not mining) X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Development Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jul 2015 13:04:21 -0000 ------=_Part_165_421399874.1436792114 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable I am searching for guidance and opinion in the subject's matter. I will b= egin with my use case, too see whether my ideas makes sense or not.=0A=0A= I have a Jetson TK1[1], which is a GPU (CUDA) powered development board. = I thought that it may be a power-efficient device (in bitcoin environment= ), and thought about having it as a full-node. Either as a public full-no= de, if it makes sense, or a local full-node, to allow my PCs to perform r= elay onto the bitcoind in the Jetson. My idea is to run a bitcoind daemon= on the Jetson as a node with high performance-per-watt (also cheap and r= epurposable). A pure-CPU implementation of bitcoind will clog the CPU=0A= =0AI assume that there are a bunch of heavy-compute highly-parallel funct= ions which could be "outsourced" to a GPU. I may want to fork and/or cont= ribute on that. However, maybe I am speaking nonsense. I have more backgr= ound on parallel programming than my knowledge on bitcoin protocol. So, b= efore coding a complete mess, I wanted to hear some opinions on the idea/= configuration.=0A=0A[1] https://developer.nvidia.com/jetson-tk1 ------=_Part_165_421399874.1436792114 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable
I= am searching for guidance and opinion in the subject's matter. I will be= gin with my use case, too see whether my ideas makes sense or not.
I have a Jetson TK1[1], which is a GPU (CUDA) powered development board.= I thought that it may be a power-efficient device (in bitcoin environmen= t), and thought about having it as a full-node. Either as a public full-n= ode, if it makes sense, or a local full-node, to allow my PCs to perform = relay onto the bitcoind in the Jetson. My idea is to run a bitcoind daemo= n on the Jetson as a node with high performance-per-watt (also cheap and = repurposable). A pure-CPU implementation of bitcoind will clog the CPU
I assume that there are a bunch of heavy-compute highly-parallel fun= ctions which could be "outsourced" to a GPU. I may want to fork and/or co= ntribute on that. However, maybe I am speaking nonsense. I have more back= ground on parallel programming than my knowledge on bitcoin protocol. So,= before coding a complete mess, I wanted to hear some opinions on the ide= a/configuration.

[1] https://developer.nvidia.com/jetson-tk1
= ------=_Part_165_421399874.1436792114-- From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id D9D769F2 for ; Mon, 13 Jul 2015 13:47:58 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-qg0-f42.google.com (mail-qg0-f42.google.com [209.85.192.42]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 7DEBD7C for ; Mon, 13 Jul 2015 13:47:58 +0000 (UTC) Received: by qgep37 with SMTP id p37so64202531qge.1 for ; Mon, 13 Jul 2015 06:47:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc :content-type; bh=tx6QEpj39jZyo43ltyBNtXS+WBee0UQQER1xLECSm38=; b=p4/6twU9dH9ozq9e1paNq9Sb9A0tarLLs8bXV9cGxGeHUNi3TZWOwmqpuhhEp2/Fvj T5KtQ1B0l7Sm1n3afJFIfgKCtuBokgn7u/cDh9W9oD+ju2JNPvBUfbghBroAtwd5cOvP 0rUg6gpwAr+pErJetxAAx2981RqOFDTy38tUfOHWHRlNrreHd+NlCW0GwhTsKjXUWtVV 5Seloqwn6Zy3sybulgOrUwwAtbqhc4xcK60QemN/mOOkoFn4kdQzTaDNF7oVGa9WmitG UdmeBqCZeFw8ir+pGZz2Lqq6mBHQbOYaGpHwKGLg8cTTn166AKpLz80nMilLNta6ugJG QXKg== MIME-Version: 1.0 X-Received: by 10.140.217.149 with SMTP id n143mr57149155qhb.9.1436795277704; Mon, 13 Jul 2015 06:47:57 -0700 (PDT) Received: by 10.140.93.162 with HTTP; Mon, 13 Jul 2015 06:47:57 -0700 (PDT) In-Reply-To: References: Date: Mon, 13 Jul 2015 14:47:57 +0100 Message-ID: From: Tier Nolan Cc: bitcoin-dev@lists.linuxfoundation.org Content-Type: multipart/alternative; boundary=001a1137351824857f051ac1f8ac X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,MISSING_HEADERS, RCVD_IN_DNSWL_LOW autolearn=no version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: Re: [bitcoin-dev] About hardware accelerators advantages for full-node (not mining) X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Development Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Jul 2015 13:47:59 -0000 --001a1137351824857f051ac1f8ac Content-Type: text/plain; charset=UTF-8 The main processor load is for signature verification. This requires a hash function call, some large number maths and an elliptic curve operation. The elliptic curve stuff is the longest step. This takes around 1ms per signature on normal hardware, but optimized code is faster. The main task is to prove that R = u1 * G + u2 * Q G is a constant, and the rest are different per signature. Some of the core team have created a fast CPU implementation. https://github.com/bitcoin/secp256k1.git There was talk of batch verification of signatures. The process might take 16 signatures and compute them together. I think a lot of the benefit of the GPU would be lost due to communication bandwidth. GPU miners benefit from needing very little information to be sent to the GPU routine. --001a1137351824857f051ac1f8ac Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
The main processor load is for signature ve= rification.

This requires a hash function call, some large number maths and an elliptic=20 curve operation.=C2=A0 The elliptic curve stuff is the longest step.

This takes around 1ms per signature on normal hardware, b= ut optimized code is faster.

The main task is to prove th= at

R =3D u1 * G + u2 * Q

G is a consta= nt, and the rest are different per signature.

= Some of the core team have created a fast CPU implementation.

=C2=A0= https://github.com/bit= coin/secp256k1.git

There was talk of batch verification of= signatures.=C2=A0 The process might take 16 signatures and compute them to= gether.

I think a lot of the benefit of the GPU would be lost due to=20 communication bandwidth.=C2=A0 GPU miners benefit from needing very little= =20 information to be sent to the GPU routine.
--001a1137351824857f051ac1f8ac--