Wie viele Integer-Operationen auf einer GPU sind für einen Hash notwendig?

Ich dachte, es wären die ALU OPs wie hier: https://bitcointalk.org/index.php?topic=7964.0

ArtForz spricht allerdings von deutlich höheren Werten: https://bitcointalk.org/index.php?topic=4689.msg68933#msg68933

Läuft der Kernel mehr als einmal für einen Hash? Was vermisse ich?

Antworten (2)

Die ALU OP-Nummern sind korrekt. Die Zahlen variieren je nach Grafikkarte, liegen aber grundsätzlich im Bereich von 1.300 bis 1.700 Operationen pro Double-Hash. Auf dem x86 benötigen Sie mehr Anweisungen (ca. 3.700 - 4.500, abhängig von der genauen CPU), aber diese CPUs können im Durchschnitt mehr als eine Operation pro Taktzyklus ausführen, sodass Sie die Anzahl der Anweisungen nicht direkt in die Ausführungsgeschwindigkeit umwandeln können.

Alle vernünftigen Mining-Implementierungen (CPU oder GPU) versuchen mehr als einen Hash gleichzeitig. Auf einer x86-CPU sind es normalerweise etwa vier Hashes gleichzeitig (einer pro Kern). Auf einer GPU sind es eher 1.000 bis 3.000 Hashes gleichzeitig (einer pro Kern). Daher die überlegene Hashing-Leistung von GPUs .

doppelter Hash wie in: „Bitcoin uses: SHA256(SHA256(Block_Header))“ en.bitcoin.it/wiki/Block_hashing_algorithm . Irgendeine Idee, warum ArtForz sagt "ein Bitcoinhash ist ~6,35k x86 INTOP". Sind Sie sicher, dass die Zahlen für einen doppelten Hash und nicht für einen einzelnen Hash sind? Ich werde in den Kernel-Code schauen.
Ups, du hast Recht. Ich werde es reparieren. Es verdoppelt sich nicht ganz, da Sie einige Optimierungen vornehmen können.
Es sieht so aus, als ob der Poclbm-Kernel beispielsweise beide SHA256 gleichzeitig ausführt, wie Sie sagten.

Es stellt sich heraus, dass es ~ 3385 Ganzzahloperationen pro Bitcoin-Hash sind

https://bitcointalk.org/index.php?topic=7964.msg550288#msg550288