Bitcoin Forum
May 08, 2024, 12:49:10 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 [58] 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 »
1141  Bitcoin / Project Development / Run on AWS p2.xlarge on: February 16, 2017, 11:42:27 AM
https://twitter.com/LBC_collider

GPU's arent ... you should try GPU ... I'm sure you can delivered great speed with GPU

even with 1 server I think I can triple the pool speed.

root@soft:~# lshw -C video | grep product:
       product: ASPEED Graphics Family
       product: GK210GL [Tesla K80]
       product: GK210GL [Tesla K80]
       product: GK210GL [Tesla K80]
       product: GK210GL [Tesla K80]

Code:
ubuntu@ip-172-31-34-146:~/collider$ ./LBC -c 4 -l 0 -t 1
Benchmark info not found - benchmarking... done.
Your maximum speed is 1576126 keys/s per CPU core.
Ask for work... got blocks [405066137-405066520] (402 Mkeys)
oooooooooooooooooooooooo (3.19 Mkeys/s)
ubuntu@ip-172-31-34-146:~/collider$ ./LBC -c 2 -l 0 -t 1
Ask for work... got blocks [405077529-405077720] (201 Mkeys)
oooooooooooo (2.78 Mkeys/s)

Clearly, Amazon puts way too few/too weak CPUs in their Instances - for our usecase.
What surprises me more, is that the K80 does not look so impressive compared with my tiny Notebook GPU:

Code:
ubuntu@ip-172-31-34-146:~$ nvidia-smi
Thu Feb 16 11:23:38 2017      
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.57                 Driver Version: 367.57                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla K80           On   | 0000:00:1E.0     Off |                    0 |
| N/A   55C    P0    76W / 149W |    256MiB / 11439MiB |     23%      Default |
+-------------------------------+----------------------+----------------------+
                                                                              
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0      1938    C   ./gen-hrdcore-avx2-linux64                      64MiB |
|    0      1939    C   ./gen-hrdcore-avx2-linux64                      64MiB |
|    0      1940    C   ./gen-hrdcore-avx2-linux64                      64MiB |
|    0      1941    C   ./gen-hrdcore-avx2-linux64                      64MiB |
+-----------------------------------------------------------------------------+


With the 4 vCPUs in use. Clearly , 4 vCPUs in Amazon speak mean 2 real cores + 2HT

versus my real 4 CPUs:

Code:
$ nvidia-smi
Thu Feb 16 12:36:36 2017      
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.26                 Driver Version: 375.26                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Quadro M2000M       Off  | 0000:01:00.0     Off |                  N/A |
| N/A   51C    P0    N/A /  N/A |    115MiB /  4041MiB |     33%      Default |
+-------------------------------+----------------------+----------------------+
                                                                              
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0     21809    C   ./gen-hrdcore-skylake-linux64                   28MiB |
|    0     21810    C   ./gen-hrdcore-skylake-linux64                   28MiB |
|    0     21811    C   ./gen-hrdcore-skylake-linux64                   28MiB |
|    0     21839    C   ./gen-hrdcore-skylake-linux64                   28MiB |
+-----------------------------------------------------------------------------+

I end up at almost 7 Mkeys/s with my 4 CPUs. Moreover, not only is the memory usage more efficient (ok - the K80 has 3 times the memory, but it also slurps - for reasons unknown to me - about 2.5 times per process), also the relative utilization is in favor of my notebook. If Amazon offered a P2 instance with 20vCPUs and 1 K80 -> that would be balanced and at least 30 Mkeys/s could be expected from that.
Als a good (in terms of balance) configuration: 12 real Skylake cores and some reasonable Maxwell (GM107) GPU -> should give you 23+ Mkeys/s

On the more positive side, GPU detection and choice of OpenCL device ran flawless on 1st try.


Rico

edit installation howto for OpenCL on Ubuntu 16.04 (as used on AWS):

Code:
# OpenCL @ Amazon AWS Ubuntu ----------------------------------

sudo apt-get install gcc make tmux libssl-dev xdelta3 nvidia-367 nvidia-cuda-toolkit
mkdir collider; cd collider; tmux
wget ftp://ftp.cryptoguru.org/LBC/client/LBC
chmod a+x LBC
sudo ./LBC -h
sudo cpan
cpan> install OpenCL
sudo reboot
sudo nvidia-smi -pm 1
sudo nvidia-smi --auto-boost-default=0
sudo nvidia-smi -ac 2505,875
./LBC -x
./LBC --gpu

economic considerations:

At the moment AWS GPU instances are not economical. For 0.25/h you can get the p2.xlarge and it will give you max 3.2 Mkeys/s. OTOH, you can get for 0.5/h a m4.x16 compute instance with 64 vCPUs and that will give you around 18 Mkeys/s. Yes - we need a better GPU client.
1142  Bitcoin / Project Development / OpenCL's a bitch on: February 16, 2017, 08:03:05 AM
Seems I catched some race condition after my async modifications. When I came to my notebook today morning, I saw

Code:
...lots of work done, but then ...
Ask for work... got blocks [403243609-403246040] (2550 Mkeys)
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo0000000000000000000000000000000000000000:u:priv:000000000000000000000000000000000000000000000000000180909f801001 + 0
0000000000000000000000000000000000000000:c:priv:000000000000000000000000000000000000000000000000000180909f801001 + 0
0000000000000000000000000000000000000000:u:priv:000000000000000000000000000000000000000000000000000180909f801001 + 0x1
0000000000000000000000000000000000000000:c:priv:000000000000000000000000000000000000000000000000000180909f801001 + 0x1
0000000000000000000000000000000000000000:u:priv:000000000000000000000000000000000000000000000000000180909f801001 + 0x2
0000000000000000000000000000000000000000:c:priv:000000000000000000000000000000000000000000000000000180909f801001 + 0x2
0000000000000000000000000000000000000000:u:priv:000000000000000000000000000000000000000000000000000180909f801001 + 0x3
0000000000000000000000000000000000000000:c:priv:000000000000000000000000000000000000000000000000000180909f801001 + 0x3
0000000000000000000000000000000000000000:u:priv:000000000000000000000000000000000000000000000000000180909f801001 + 0x4
0000000000000000000000000000000000000000:c:priv:000000000000000000000000000000000000000000000000000180909f801001 + 0x4
0000000000000000000000000000000000000000:u:priv:000000000000000000000000000000000000000000000000000180909f801001 + 0x5
...and so on...

thousands of "finds" of a 000000 hash160. And then

Code:
197f1706f2aa45480c1debc40628c87823da08f6:c:priv:000000000000000000000000000000000000000000000000000180909f801001 + 0xd2

Naturally, I looked up 197f1706f2aa45480c1debc40628c87823da08f6, which resolves to https://blockchain.info/address/13Kp9AJAxhEEjFo8N6YTP9DMW71YpK2fD9, but no funds there. Ok, that can happen if the bloom filter sees a false positive (allegedly 10-27 probability), but a re-run in the same search space went smooth with neither any fake zero-hash160 finds nor this false positive.

Investigating, but it seems like clEnqueueReadBuffer does not respect a blocking read, after it has been called with non blocking reads before.  Undecided

I have done some more optimizations, but all I managed to do, was that the GPU load went down from 43% to 34%  Tongue I need to take load down from the CPU!  Roll Eyes


Rico
1143  Bitcoin / Project Development / Re: Large Bitcoin Collider (Collision Finders Pool) on: February 15, 2017, 10:09:17 PM
Quote
Of course I also checked the client with all blocks containing private keys the pool has found so far - it reliably finds all of them.

Can you explain this further please? How do you know which blocks contains keys the pool has found?

https://lbc.cryptoguru.org/trophies

What I meant was, that additionally to the usual ./LBC -x I also searched manually in spaces where the known private keys of the puzzle transaction are (all compressed) and also the two addresses we found with funds on them (which are uncompressed).

The new CPU/GPU hybrid found all of them, so I assume it is a working drop in replacement.
Testing the LBC is crucial, because when you have rare events like we have, you cannot afford to have a generator that overlooks something.
If your computer works for a month without a find, you have to be pretty sure it is because there really was nothing and not that because of some bug your client "oversaw" something. So that's basically what my test (and the statement) was about.


Rico
1144  Local / Projektentwicklung / Re: Large Bitcoin Collider (Collision Finder Pool) - Deutscher Thread on: February 15, 2017, 03:17:52 PM
Konsolenshutdown klappt, nachdem ich jetzt weiß, das "e und warten" den LBC beendet.
Danke! Grin

4 Kerne machen 1,35MK/s, 5 nur 1,45, da es ein 4+HT-Kerner ist, leider.
Aber selbst mit den restlichen 3 Kernen kommt mein Computer gut über den Tag... Wink


Ja, logische Kerne bringen nicht viel. Ich habe heute 10% Geschwindigkeitsgewinn hinbekommen (Datentransfer GPU->Host asynchron parallel zu den pubkey Berechnungen). Die 10% gelten aber nur für die physischen Kerne:

4 Kerne (+ a bisserl GPU) 6.69 Mk/s (+10%)
8 Kerne (also 4 + 4HT), habe ich 7.7 Mk/s  (knapp +5%)

Wenn 4 Kerne laufen, ist meine GPU zu 43% ausgelastet, wenn 8 Kerne laufen, zu 51%.

Code:
$ ./LBC -c 4 -l 0 -t 5
Ask for work... got blocks [402604649-402607080] (2550 Mkeys)
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo (6.69 Mkeys/s)
$ ./LBC -c 8 -l 0 -t 1
Ask for work... got blocks [402617273-402618296] (1073 Mkeys)
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo (7.70 Mkeys/s)

Die Empfehlung ist tatsächlich für Maschinen auf denen noch irgendwas anderes nebenher laufen soll (oder Desktops an denen man arbeitet) nur soviele CPUs angeben wie man auch physische Kerne hat, die logischen lässt man dem User. ;-)

Wenn ich LBC über Nacht auf meinem Notebook laufen lasse, nehme ich das 1 Mk/s natürlich mit.


Rico

edit:

Code:
$ ./LBC -c 4 -t 5
Ask for work... got blocks [405735257-405737688] (2550 Mkeys)
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo (7.29 Mkeys/s)
Ask for work... got blocks [405745465-405747896] (2550 Mkeys)
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo (7.29 Mkeys/s)
Ask for work... got blocks [405757305-405759736] (2550 Mkeys)
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo (7.29 Mkeys/s)

Mal eben 600000 keys/s mehr aus 4 CPUs ;-)
1145  Local / Projektentwicklung / Re: Large Bitcoin Collider (Collision Finder Pool) - Deutscher Thread on: February 14, 2017, 12:11:06 PM
Wi kommt man denn an so einen Waffenschein?
Ich dachte, da bräuchte es seeehr triftige Gründe für.
Oder bist du nicht in DE?

Ich bin nicht in DE. Hier braucht man triftige Gründe, wenn man ein vollautomatisches Sturmgewehr haben möchte.
Einen normalen Waffenschein bekommt jeder nicht vorbestrafte Kunz mit gesundheitlichem/psychologischem Gutachten,
der überdies die theoretische und praktische Prüfung ablegt.

Quote
Und: Dein Realname (?) taucht im Ordner für das CD-Installationsimage auf. Wink

Umar Riaz?  Cheesy Das ist der Typ, der die vmplayer images macht: https://www.osboxes.org/about/
Bin nicht ich - soviel ist sicher.

Rico
1146  Local / Projektentwicklung / Re: Large Bitcoin Collider (Collision Finder Pool) - Deutscher Thread on: February 14, 2017, 09:57:25 AM
Du lachst über die Möglichkeit das dir jemand den Arsch aufreist.

Ich muss da jetzt doch darauf reagieren, weil ich gerne etwas von der mir zugetragenen Fürsorge zurückgeben möchte.

Zunächst einmal:

Ja, ich lache über die Hypothesen, was passieren würde, wenn ich mich "mit den bösen Jungs" anlegen würde.
Jeder sieht also diese ominösen Dunkelmänner und keiner verschwendet auch nur einen Gedanken daran wie ich wohl drauf bin.

Gesetzestreu bin ich "drauf". Das bedeutet aber nicht, dass ein böser Bub - sollte er denn real irgendwann vor mir auftauchen - nicht innerhalb von 1.8 s (gemessen) ein Loch, ca. 9mm im Durchmesser, zwischen seinen Glubschern hat - an der Austrittsstelle ist der Durchmesser meist etwas größer. Das gleiche gilt für meine Frau. Wir haben beide einen Waffenschein (hierzulande Kat. E - Schutz von Leben, Gesundheit und Eigentum) und je eine Glock. Die dürfen wir auch geladen und schussbereit - jedoch verdeckt - mit uns herumtragen.

Ich muss meine Identität auch nicht großartig verbergen. Und wenn die jemand rausfindet (was nicht allzu leicht, aber auch nicht allzu schwer ist), soll er erst einmal rausfinden wo er mich antreffen kann.


Aber so zufällig wie du überhaupt keys findest, so zufällig ist es einen großen pott zu finden. Und dann? was machst du wenn du 100 btc findest in einer Adresse zu der du den P-Key hast.
Schnell löschen?
Versuchen den Owner zufinden?
Maul halten und übertragen?

Versuchen den Owner zu finden und wenn der sich nicht finden lässt: gleiche Prozedur wie mit Fundsachen.

Quote
Vermutlich reicht dein Leben nicht aus, die keys zu finden. Um 2^48 Möglichkeiten zu checken braucht man x Wochen. Um 2^49 Möglichkeiten zu checken sind es X*2 Wochen.

Es sei denn, zwischen 248 und 249 werden die Computer schneller, oder die Software, oder es machen mehr Leute mit...
Ich hab's momentan so im Urin, als würden wir #51 im März finden.

Quote
Aber es geht nunmal nicht drum, ob du was findest, sondern was passiert wenn du es findest. Den das hast du nicht mehr unter Kontrolle. Das kann sogar soweit gehen, das jemand anderes auch schon auf diese Idee gekommen ist und heimlich das selbe macht. Wenn dann Geld verschwindet, wird man nicht nach dem Suchen der das heimlich gemacht hat, sondern auf dich stossen.

Ich verstehe nicht ganz Deine Argumentation. Weil jemand vermutlich (ist anzunehmen) das Gleiche verdeckt macht, bin ich in Gefahr, weil ich das öffentlich mache? Was schlägst Du vor? In den Untergrund abzutauchen? Pool abschalten? Wie beweise ich, dass ich den Pool tatsächlich abgeschaltet habe? Das ist doch schizophren. Abgesehen davon sind alle diese Überlegungen einfach nur müßig, weil sie von falschen Voraussetzungen ausgehen.

Nämlich, dass hier was Illegales geschehen würde. Tut es nicht. Hier wird nicht in fremde Computer eingedrungen, es werden keine Daten ausgespäht. Keiner kann einem verbieten was man lokal auf seinem Rechner berechnet. Wäre ja noch schöner.

Quote
So oder so, ich bezweifel das deine Spuren so sauber verwischt sind, das dich keiner identifizieren kann.

Nochmal: Ich verwische meine Spuren nicht, weil ich weder vor bösen Buben Angst habe (s.o.), noch vor dem Gesetz (da ich nichts Illegales mache).
Man könnte ja ganz hart sein und behaupten, dass die Eigentumsfrage an den BTCs eben durch den Besitz des Privatschlüssels geregelt ist.
So lange ich den Privatschlüsel eines anderen nicht stehle, ausspioniere, phische etc. sondern womöglich noch einen ANDEREN Privatschlüssel zu einer Adresse habe.
Wer sagt dann dass ich weniger Eigentümer bin? Aber so hart wollen wir erstmal nicht sein (aber könnten wir).

Quote
Es gab hier mal einen Typen(Taxifahrer aus Berlin) der hat Gruppenkäufe für Miner angeleiert und wollte damit ein paar ehrliche Euros verdienen. Am Ende wurde er von allen Seiten abgelinkt. Die Chinesen haben nicht geliefert, das Geld ging als Vorauszahlung drauf, aber auch einige Kunden haben ihn abgelinkt und Gelder aus Phishing überwiesen, das zurück gebucht wurde, er aber schon Bitcoins damit gekauft und weiter transferiert. Bis dann seine Adresse bekannt wurde und die Leute vor seiner Türe rumgelungert sind.

Andere Baustelle. Ich mache das als Hobby und eher sponsor ich das Projekt, als dass irgendwo Geld/BTC in meine Richtung fliessen würde. Das was da dem armen Taxifahrer widerfahren ist, kann mir nicht passieren. Also mein finaler Tipp: Prinzipiell Danke, aber mach Dir weniger Sorgen um mich. Ich würde empfehlen, Du schraubst Deine juristischen Einschätzungen etwas herunter. Nicht nur was dieses Projekt anbelangt, sondern generell. Du scheinst ziemlich verängstigt durch die Gegend zu laufen. Keine Ahnung ob Du mal entsprechend gelitten hast oder das so in Deiner Natur liegt. Ein wenig mehr Entspannung empfehle ich.


Rico
1147  Local / Projektentwicklung / Re: Large Bitcoin Collider (Collision Finder Pool) - Deutscher Thread on: February 14, 2017, 09:22:05 AM
@rico666
Wenn ich "Pause", wird die Maschine eingefroren (suspend). Wähle ich Shutdown, wird sie wohl stumpf abgestellt. Oder Linux fährt sauschnell runter...
Ich nutze normalerweise VirtualBox mit Windows-Clients, und da kann ich den virtuellen Powerknopf drücken, der Windows geordnet herunterfährt, wie in echt.
Kann VMWare Player und/oder Archlinux das nicht?

Doch, mit etwas Gefrickel geht das auch. Man müsste den acpid unter Linux installieren, der merkt dann, dass da jemand den Saft abdrehen will und fährt das System herunter.
Aber warum sollte man das tun? Mit suspend wird die Maschine einfach eingefroren und dann am nächsten Tag aufgetaut. :-)
Das Einzige was man beachten sollte, dass man vor dem Einfrieren einen laufenden LBC mit "e"+ Return (und warten) beendet.


Quote
Gibts eine Doku zur lbc.json? Das scheint genau zu sein was ich suche...

./LBC -h zeigt die Kommandozeilenoptionen an.
Die lbc.json ist eine einfache JSON Struktur, die das 1:1 abbildet.

Code:
LBC -c 5 -t 10 -s geheim -id tritratrulala

=>

Code:
{
    "cpus":   5,
    "id":     "tritratrulala",
    "secret": "geheim",
    "time":   10
}

und dann reicht ein
Code:
./LBC
und das Ergebnis ist genauso wie o.g. Kommandozeile.
Auf der Kommandozeile kann man die Optionen abkürzen - solange die Abkürzung eindeutig ist - in der lbc.json sollte man die Optionen in voller Länge ausschreiben.

Rico
1148  Local / Projektentwicklung / Re: Large Bitcoin Collider (Collision Finder Pool) - Deutscher Thread on: February 14, 2017, 08:22:41 AM
So eine BTC-Adresse einzutragen ist ja doch was, was man nicht immer machen möchte

Das macht man aber auch nur dann/einmal, wenn man sie ändern möchte.

Code:
$ ./LBC <params> --addresse 1bLah
$ ./LBC -q (er zeigt die Adresse an)
$ ./LBC <params ohne BTC adresse zu setzen>
$ ./LBC -q (man sieht der Server merkt sich die BTC addresse)


Kurzum: Adresse gibt man nur an, wenn man sie setzen/ändern möchte.


Rico
1149  Bitcoin / Project Development / Re: Large Bitcoin Collider (Collision Finders Pool) on: February 14, 2017, 07:16:45 AM
Can't wait to get home and try the GPU version.

Think March. I have some basic quality assurance in this project.  Wink
The client basically works, but several things are still hard coded for my notebook (choice of OpenCL device).
I have no feedback (diagnostics-OpenCL.txt) from AMD GPUs yet.
Client is stable. Ran the whole night through on my notebook with 7.x Mkeys/s:



Of course I also checked the client with all blocks containing private keys the pool has found so far - it reliably finds all of them.

Quote
If I have 4 cores and 4 GPUs will it use a GPU with each core or...

Right now, one GPU would be taken as accelerator for all cores and still be bored.
Probably the best balancing one can get right now is 1 GPU and many cores

Amazon p2.xlarge or similar to my notebook. That's why I am asking for the OpenCL diagnostics files, to be able to cover a broader range of configurations.

My next step will to be to incorporate arulberos ECC magic to shift the balance by taking
more and more load from the CPU. Current status: https://twitter.com/LBC_collider

Quote
Also,  can you make it so I can run this on an Rpi?
Allow the client to run the old Go script that should suffice.

It's unlikely I will go down that path for now.
The HRD-client was originally about 13 times faster than the Go client (meanwhile >15 times), and 32bit architectures are on average half the speed of 64bit.
I do have a 32bit notebook (Lenovo Z61p), two cores, that does about 200 Kkeys/s on both cores with HRD, this notebook does around 12 Kkeys/s with the Go client.
My new notebook was originally 14 times faster with CPU only and is meanwhile over 35 times faster than the HRD on the old one. It is about 616 times faster than the Go client on the old notebook.
Also, the Go client needed more memory (2GB).

So my goal is to make a GPU client so that my current notebook (and your computer) will be x-thousand times faster than Go on the old/small machines.


Rico

1150  Local / Projektentwicklung / Re: Large Bitcoin Collider (Collision Finder Pool) - Deutscher Thread on: February 13, 2017, 09:36:42 PM
Quote
Dann noch:
- Wo ist eigentlich die Default-Datei und wie editiere ich die? So eine BTC-Adresse einzutragen ist ja doch was, was man nicht immer machen möchte, und Strg-C/V geht ja in die Appliance nicht, unter Win7 Pro, oder?

VMWare sollte unter Edit ein einfügen haben und auch strg + v (vom Host aus) akzeptieren. Kann aber ggf. an der Version hängen. Ich weiß z.B. nicht ob "Player" das auch kann.

Er meinte eher vermutlich

Code:
$ cat lbc.json
{
    "cpus":   4,
    "address": "111voLLderKroesus",
    "id":     "__rico666__",
    "secret": "ganzgeheim",
    "time":   15
}


- Wie beendet man die Appliance korrekt? "Shutdown" warnt kurz und scheint dann den Stecker zu ziehen.

VMware Player: auf den Pause Knopf drücken (suspend).
Apropos vmware Player: Der nimmt default-mäßig nur 3 CPU Kerne wenn Du 4 Kerne im Rechner hast. Muss man in den Einstellungen hochsetzen.
Oder halt lassen, dann kann man noch gut mit dem Host arbeiten.


Rico
1151  Bitcoin / Project Development / Re: Large Bitcoin Collider (Collision Finders Pool) on: February 13, 2017, 06:34:52 PM
6,2 s: CPU generates 16.7 M of public keys (x,y)
1,8 s: GPU performs SHA256 / ripemd160 of (x,y) and (x) <-compressed,

Yes.

Quote
what do you mean "compressed key is done with GPU"?

Code:
sha256_in[0] = 0x02 | (sha256_in[64] & 0x01);

 Wink


Quote
Anyway at the moment the cpu is the bottleneck, gpu does his work at least x3 faster than cpu...

Sure. It is a 1st step. The big advantage of this is, it works like a drop-in replacement.
I see lots of optimization potential, originally, my notebook maxed out at ~ 2.8 Mkeys/s and now

Code:
$ LBC -c 8
Ask for work... got blocks [383054009-383054392] (402 Mkeys)
oooooooooooooooooooooooo (7.30 Mkeys/s)


Rico






edit:


LOL...

Code:
$ LBC -t 1 -l 0
Ask for work... Server doesn't like us. Answer: toofast.
1152  Bitcoin / Project Development / Re: Large Bitcoin Collider (Collision Finders Pool) on: February 13, 2017, 05:48:37 PM
CPU only for public keys generation + GPU for sha256/ripemd160?

Exactly. meanwhile I am at

Code:
real    0m8.561s
user    0m8.093s
sys     0m0.413s

(= 1959955 keys/s per CPU core with GPU support) and memory requirement on GPU a mere 29MB (GPU is bored)

Quote
Why in the meantime the pool performance has fell down?

Because two (in words: two!) guys turned their machines off.  Cheesy
I have a feeling this dip in performance is only temporary...

Of the aforementioned 8 seconds, around 6.2 are ECC public key generation (16M uncompressed keys, the compressed key is done @ GPU).
Every second less here counts, so naturally all you did towards ECC optimization will have maximum effect with the CPU/GPU hybrid.


Rico
1153  Local / Projektentwicklung / Re: Large Bitcoin Collider (Collision Finder Pool) - Deutscher Thread on: February 13, 2017, 02:46:38 PM
-snip-
Das soll keine Kritik sein und natürlich ist es absolut deine Sache wie du es machst, aber mir erschließt sich nicht, warum man jetzt 0.1 BTC zahlen soll, wenn man an deinem Projekt mitmacht... Oder habe ich hier Ironie übersehen?

Sinngemäß aus dem engl. Thread[1]: Die 0.1 BTC werden an diejenigen verteilt die sich bis jetzt beteiligt haben (Top 30). Jetzt noch einzusteigen und in die Top30 zu kommen ist relativ einfach, da ziemlich viele inaktiv sind.

[1] https://bitcointalk.org/index.php?topic=1573035.msg17803667#msg17803667

Genau. Ich habe mal gesagt, dass Early Adopters Vorzüge haben werden und ich halte gerne mein Wort. Außerdem ist man heute immer noch Early adopter. Wer momentan 0.1 BTC für den GPU client zahlen würde wäre bl.. unökonomisch, da man für $11 mit einer AWS Instanz in die top30 kommt.

Außerdem bin ich heute stolz wie Oskar. Der erste so richtig funktionierende drop-in replacement CPU/GPU generator:

Code:
$ time hrd-core -I 0000000000000000000000000000000000000000000000000000000000000001 -c 10000
Num platforms: 2
Platform - 0
  1.1 CL_PLATFORM_NAME: Intel(R) OpenCL
  1.2 CL_PLATFORM_VENDOR: Intel(R) Corporation
  1.3 CL_PLATFORM_VERSION: OpenCL 2.0
  1.4 CL_PLATFORM_PROFILE: FULL_PROFILE
  1.5 CL_PLATFORM_EXTENSIONS: cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_depth_images cl_khr_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_image2d_from_buffer cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
  Device - 0:
    CL_DEVICE_NAME: Intel(R) HD Graphics
    CL_DEVICE_VENDOR: Intel(R) Corporation
    CL_DRIVER_VERSION: r2.0.54425
    CL_DEVICE_VERSION: OpenCL 2.0
    CL_DEVICE_MAX_COMPUTE_UNITS: 24
Platform - 1
  2.1 CL_PLATFORM_NAME: NVIDIA CUDA
  2.2 CL_PLATFORM_VENDOR: NVIDIA Corporation
  2.3 CL_PLATFORM_VERSION: OpenCL 1.2 CUDA 8.0.0
  2.4 CL_PLATFORM_PROFILE: FULL_PROFILE
  2.5 CL_PLATFORM_EXTENSIONS: cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_copy_opts cl_khr_gl_event
  Device - 0:
    CL_DEVICE_NAME: Quadro M2000M
    CL_DEVICE_VENDOR: NVIDIA Corporation
    CL_DRIVER_VERSION: 375.26
    CL_DEVICE_VERSION: OpenCL 1.2 CUDA
    CL_DEVICE_MAX_COMPUTE_UNITS: 5
2d17543d32448acc7a1c43c5f72cd5be459ab302:u:priv:0000000000000000000000000000000000000000000000000000000000000001 + 0x5e
02e62151191a931d51cdc513a86d4bf5694f4e51:c:priv:0000000000000000000000000000000000000000000000000000000000000001 + 0x65
9d74ffdb31068ca2a1feb8e34830635c0647d714:u:priv:00000000000000000000000000000000000000000000000000000000000f9001 + 0xf8c
3d6871076780446bd46fc564b0c443e1fd415beb:c:priv:00000000000000000000000000000000000000000000000000000000000f9001 + 0xf8c
response: 30-19-0

real    0m9.263s
user    0m8.117s
sys     0m1.097s

Noch komplett unoptimiert, aber ca. 2.5 mal schneller als der CPU client. Da geht natürlich noch mehr. Erst einmal musste es laufen...

Rico
1154  Bitcoin / Project Development / Tadaa on: February 13, 2017, 02:36:57 PM
Unoptimized CPU/GPU hybrid generator. 1st successful run on 1 CPU core with Nvidia GPU in tandem: 1811207 keys/s



Code:
$ time hrd-core -I 0000000000000000000000000000000000000000000000000000000000000001 -c 10000
Num platforms: 2
Platform - 0
  1.1 CL_PLATFORM_NAME: Intel(R) OpenCL
  1.2 CL_PLATFORM_VENDOR: Intel(R) Corporation
  1.3 CL_PLATFORM_VERSION: OpenCL 2.0
  1.4 CL_PLATFORM_PROFILE: FULL_PROFILE
  1.5 CL_PLATFORM_EXTENSIONS: cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_depth_images cl_khr_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_icd cl_khr_image2d_from_buffer cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_spir
  Device - 0:
    CL_DEVICE_NAME: Intel(R) HD Graphics
    CL_DEVICE_VENDOR: Intel(R) Corporation
    CL_DRIVER_VERSION: r2.0.54425
    CL_DEVICE_VERSION: OpenCL 2.0
    CL_DEVICE_MAX_COMPUTE_UNITS: 24
Platform - 1
  2.1 CL_PLATFORM_NAME: NVIDIA CUDA
  2.2 CL_PLATFORM_VENDOR: NVIDIA Corporation
  2.3 CL_PLATFORM_VERSION: OpenCL 1.2 CUDA 8.0.0
  2.4 CL_PLATFORM_PROFILE: FULL_PROFILE
  2.5 CL_PLATFORM_EXTENSIONS: cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_copy_opts cl_khr_gl_event
  Device - 0:
    CL_DEVICE_NAME: Quadro M2000M
    CL_DEVICE_VENDOR: NVIDIA Corporation
    CL_DRIVER_VERSION: 375.26
    CL_DEVICE_VERSION: OpenCL 1.2 CUDA
    CL_DEVICE_MAX_COMPUTE_UNITS: 5
2d17543d32448acc7a1c43c5f72cd5be459ab302:u:priv:0000000000000000000000000000000000000000000000000000000000000001 + 0x5e
02e62151191a931d51cdc513a86d4bf5694f4e51:c:priv:0000000000000000000000000000000000000000000000000000000000000001 + 0x65
9d74ffdb31068ca2a1feb8e34830635c0647d714:u:priv:00000000000000000000000000000000000000000000000000000000000f9001 + 0xf8c
3d6871076780446bd46fc564b0c443e1fd415beb:c:priv:00000000000000000000000000000000000000000000000000000000000f9001 + 0xf8c
response: 30-19-0

real    0m9.263s
user    0m8.117s
sys     0m1.097s


Rico
1155  Bitcoin / Project Development / updates on: February 12, 2017, 12:03:09 PM
  • New BLF file on FTP
  • New LBC client version (1.010) available

./LBC -u is your friend.

As mentioned in #433, you can now attach a BTC address with your id for rewards to your client.
As mentioned in #436, you can now call the LBC client with a --gpu parameter. The best case scenario you will see is currently this:

Code:
$ ./LBC --gpu
OpenCL diagnostics written.
GPU authorized: yes

If you see this, you're on the highway to a GPU accelerated client. If you see instead this:


Code:
Perl module 'OpenCL' not found - please make sure:
 * OpenCL is installed correctly on your system
 * then install the Perl OpenCL module via CPAN
   (cpan install OpenCL)

you want to make sure OpenCL is installed correctly on your system. Some pointers to do so:
https://wiki.tiker.net/OpenCLHowTo
http://askubuntu.com/questions/796770/how-to-install-libopencl-so-on-ubuntu

Won't work in a VM. At least not without advanced magic. If oclvanitygen runs on your system, you're fine. The only thing left to do is to install the Perl bindings for OpenCL:

https://metacpan.org/pod/OpenCL

For this, it's the usual:

Code:
$ cpan
cpan> install OpenCL

or - in one batch:

$ cpan install OpenCL

The message "OpenCL diagnostics written" indicates you will see a file diagnostics-OpenCL.txt in your directory. Please do not post its output here as it is quite extensive. Either pastebin it and post the link here, or send its content to bots@cryptoguru.org. (If there are any problems, or if you want to make sure your config is supported).

Well, and if you see a

Code:
GPU authorized: no
instead and you would want to change that - you want to be in the top30 or will have to fork out 0.1 BTC Smiley

OpenCL generator ETA: "really soon now(tm)"


Rico


edit:

Short HowTo install LBC @ AWS Ubuntu instance including OpenCL


Code:
# $ is shell/bash
# cpan> is cpan shell


$ sudo apt-get update
$ sudo apt-get install gcc xdelta3 make
$ sudo apt-get install nvidia-opencl-dev nvidia-opencl-icd-367 nvidia-modprobe clinfo
$ clinfo
$ sudo cpan
cpan> install JSON OpenCL

$ mkdir collider; cd collider; tmux
$ wget ftp://ftp.cryptoguru.org/LBC/client/LBC
$ chmod a+x LBC
$ ./LBC -h
1156  Bitcoin / Project Development / Re: Large Bitcoin Collider (Collision Finders Pool) on: February 11, 2017, 08:27:52 PM
Another update of the library with endomorphism:

https://www.dropbox.com/s/7v5i36n4k6d849b/ecc_for_collider05.zip?dl=0

05 runs nearly 22 seconds for 16M keys on my notebook. This is now only 3.5 times slower than what LBC optimized C version needs for 16M keys. I don't dare to estimate what optimized C code can make of this.

 Shocked

Code:
real    0m21.790s
user    0m21.787s
sys     0m0.000s

Your code is a tremendous help, but it would speed up my understanding of the code and porting it to C (and possibly OpenCL) if there were more comments. e.g. you start with

Code:
start=2**55+789079076   #k is a random private key 

but start cannot be smaller than 2049 else

Code:
$ time python ./gen_batch_points05.py 
Traceback (most recent call last):
  File "./gen_batch_points05.py", line 50, in <module>
    kminverse = [invjkz] + inv_batch(kx,mGx,p)
  File "/data/soft/lin/LBC/generator/HRD/arulbero-ECC/5/ecc_for_collider05.py", line 56, in inv_batch
    inverse=inv(partial[2048],p) # 1I
  File "/data/soft/lin/LBC/generator/HRD/arulbero-ECC/5/ecc_for_collider05.py", line 32, in inv
    q, r = divmod(v,u)
ZeroDivisionError: integer division or modulo by zero

It'd also help if you could lay out the effective sequence of private keys as it is computed, because if LBC should adopt this, I have to merge this - somehow - with the LBC interval arithmetics to make sure work still is distributable / parallelizable and the bookkeeping still being sane.


Rico
1157  Bitcoin / Project Development / #49 on: February 11, 2017, 08:07:14 AM
Good morning!

HeavenlyCreatures found #49


Code:
From	XXX
To bots@cryptoguru.org
Date Today 08:02
Hi,

I found #49

0d2f533966c6578e1111978ca698f8add7fffdf3:c:priv:000000000000000000000000000000000000000000000000000174176b015001
+ 0xf4c

Looking at the PK, the pool must have found it GMT: Sat, 11 Feb 2017 04:32:26 GMT

edit: trophies update.

cheers!

Rico
1158  Bitcoin / Project Development / Re: Large Bitcoin Collider (Collision Finders Pool) on: February 10, 2017, 10:08:49 PM
EDIT:
with this script   https://www.dropbox.com/s/4q3i0mqvdfgd258/ecc_for_collider03.zip?dl=0
I can generate about 4.1 millions of keys in 51 s,  about 80000 keys/s
Code:
antonio@ubuntu:~/src/python$ time python3 ./gen_batch_points03.py 

real 0m52.423s
user 0m51.992s
sys 0m0.040s

With your code my old pc generates about 530000 keys/s (200000 keys/s --> 200000 * 22/6 = 530000), my script then is only 6,5x slower than your code! No assembly, no C!


I tried it. On my notebook it takes

Code:
real    0m26.493s
user    0m26.490s
sys     0m0.000s

for the ~4.1mio keys (1000 * 4096). And

Code:
real    1m47.661s
user    1m47.657s
sys     0m0.003s

for 16M keys. So around ~160 000 keys/s

However, the HRD core also does the hash160 of the uncompressed and also hash160 of the compressed public keys.
The public key generation part takes around 6 seconds for the 16M keys. If I understand your code correctly, it also does only the ECC computation part. Then we are at around 6 seconds versus 107 seconds. Not sure how much slower Python vs. C is

http://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=python3&lang2=gcc

suggests it can be anything between a factor of 3 and 100  Wink
Factor 100 would be cool, then your code should be somewhere ~1s in C ... we'll see. It certainly seems more lightweight than what we have now.


Rico

1159  Local / Projektentwicklung / Re: Large Bitcoin Collider (Collision Finder Pool) - Deutscher Thread on: February 10, 2017, 04:49:21 PM
Leute (Chefin): eure Juristo-Intellektuell-Moralvorstellungen seien euch unbenommen - wir haben ja freie Meinungsäußerung.

Ein paar Sachen stimmen einfach faktisch nicht, hauptsächlich aus Unwissen heraus. Deswegen gibt es normalerweise Diskussionen, damit eine evtl. vorhandene Informations-Asymetrie bereinigt wird. Wer allerdings an einer Diskussion teilnimmt nur um seine (halbgar unterlegte) Meinung hinauszutröten... naja da ist der Abbau von Unwissen schwer. Und ja Chefin - genau das machst Du. Da kommt nicht etwa ein "Ich glaube, meiner Meinung nach..:" sondern "das ist X Y Z so." Sorry. Daneben.



Ich habe im englischen Thread nach meinem Kurzurlaub heute einige Updates gepostet, aber zeitlich bekomme ich es nicht hin den deutschen Thread ebenso aktuell zu halten. Zusätzlich noch irgendwelche Rechtfertigungs-Postings abzuhalten geht kapazitativ schon gar nicht mehr.

Eigentlich wollte ich hier posten ob sich nicht jemand der Aktualisierung des deutschen Threads annehmen möchte, bzw. wenn LBC Supportanfragen hier sind, wäre es ganz gut, wenn die nicht alle ich abhandeln müsste. Erstens weiß ich, dass LBC etliche deutschsprachige Nutzer hat  Wink und zweitens ist es vielleicht der Umgangsweise zuträglich, wenn nicht ich zum drölfundfünfzichsten mal die Doku zitieren muss.  Wink



Sehr kurz und knapp:

Nächste LBC client version wird die Möglichkeit haben, der eigenen LBC Id eine BTC Adresse zuzuordnen. An diese BTC Adresse können dann Rewards/Bounties/Belohnungen proportional zu den gelieferten Gkeys ausgeschüttet werden. Welche Belohnungen? Naja - Finderlohn, Bounties, gefundene und nicht abgeholte BTCs usw.

Ebenso wird es bald einen GPU (eigtl. OpenCL) client geben - damit die nächsten 2 bits nicht 4-mal so lange dauern  Wink
Den GPU client bekommen die in den top30 kostenlos, die anderen latzen 0.1BTC ab. Natürlich nicht mir, sondern den anderen clients (mit gesetzter BTC adresse).

Wer's genauer haben will, siehe im EN thread, oder es erbarme sich einer und übersetze/präzisiere.


Rico
1160  Bitcoin / Project Development / GPU on: February 10, 2017, 03:49:51 PM
Also in the next LBC release, there will be a tiny small inconspicuous parameter

Code:
    --gpu
      Enable GPU acceleration if available.

When given, LBC will check your OpenCL installation and print out some debug information about your GPU hardware. This will show you if your hardware is capable to use GPU acceleration in principle. If you want to make sure your hardware is supported well/in the optimum way, please send the output of this to bots@cryptoguru.org for further examination.

Also it will check if the id of the LBC client is eligible to run GPU acceleration and print the result of the check.

The output will look like this:

Code:
$VAR1 = {
          'Intel(R) OpenCL' => [
                                 {
                                   'vector_width' => {
                                                       'preferred' => {
                                                                        'long' => 1,
                                                                        'half' => 8,
                                                                        'char' => 16,
...
                                   'max' => {
                                              'clock_frequency' => 1050,
                                              'work' => {
                                                          'item_dimensions' => 3,
                                                          'item_sizes' => [
                                                                            256,
                                                                            256,
                                                                            256
                                                                          ],
                                                          'group_size' => 256
                                                        },
                                              'compute_units' => 24,
...
                                   'mem' => {
                                              'global' => {
                                                            'cache_type' => 2,
                                                            'cacheline_size' => 64,
                                                            'size' => '13344676250',
                                                            'cache_size' => 524288
                                                          },
                                              'max_alloc_size' => 6672338125,
                                              'host_unified' => 1
                                            },
                                   'device' => {
                                                 'name' => 'Intel(R) HD Graphics',
                                                 'driver_version' => 'r2.0.54425',
                                                 'version' => 'OpenCL 2.0 ',
                                                 'vendor' => 'Intel(R) Corporation',
...
                                   'device' => {
                                                 'name' => 'Intel(R) Xeon(R) CPU E3-1505M v5 @ 2.80GHz',
                                                 'driver_version' => '1.2.0.10264',
                                                 'version' => 'OpenCL 2.0 (Build 10264)',
                                                 'vendor' => 'Intel(R) Corporation',
                                                 'profile' => 'FULL_PROFILE',
                                                 'available' => 1,
                                                 'endian_little' => 1,
                                                 'compiler_available' => 1,
                                                 'local_mem' => 32768,
                                                 'type' => 2,
                                                 'address_bits' => 64,
                                                 'extensions' => 'cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_depth_images cl_khr_3d_image_writes cl_intel_exec_by_local_thread cl_khr_spir cl_khr_fp64 cl_khr_image2d_from_buffer '
                                               },
                                   'mem' => {
                                              'global' => {
                                                            'cache_type' => 2,
                                                            'size' => '16691331072',
                                                            'cacheline_size' => 64,
                                                            'cache_size' => 262144
                                                          },
                                              'host_unified' => 1,
                                              'max_alloc_size' => 4172832768
...
          'NVIDIA CUDA' => [
                             {
                               'mem' => {
                                          'host_unified' => '',
                                          'max_alloc_size' => 1059487744,
                                          'global' => {
                                                        'cache_type' => 2,
                                                        'cacheline_size' => 128,
                                                        'size' => 4237950976,
                                                        'cache_size' => 81920
                                                      }
                                        },
                               'device' => {
                                             'name' => 'Quadro M2000M',
                                             'version' => 'OpenCL 1.2 CUDA',
                                             'driver_version' => '375.26',
                                             'compiler_available' => 1,
....

etc. etc. - above example is very shortened. See ftp://ftp.cryptoguru.org/LBC/source/opencl.txt to get an idea of the full output. This is what my notebook looks like. There are 2 OpenCL platforms found (Intel & Nvidia), Intel has 2 devices, the built-in GPU "Intel HD Graphics" and the Xeon CPU, and Nvidia has 1 device: The Quadro M2000M.

We have been talking about "GPU client" in the past, but it's really an OpenCL client we meant.



Rico
Pages: « 1 ... 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 [58] 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!