Tag Roman,
was spricht eigentlich dagegen, dass Monero auf einem FPGA geminet werden kann? Das spielt doch eigentlich lediglich einen recht dynamischen Programmcode herunter wie eine normale CPU auch. Meine Denke war bisher immer, wenn es einen GPU-Code gibt, dann gibt es auch einen für FPGA. Was macht also RandomX, damit das nicht funktioniert?
Grüße :)
Das Design von RandomX lief etwas anders als bisher bei ASIC resistent PoW Algos.
Man hat nicht geschaut was FPGAs / ASICs besonders schlecht können sondern was normale CPUs besonders gut können.
Z.b AES Caching Floating Point etc.
Man hat den Algo quasi so entwickelt das ein normaler CPU schon ein „perfekter“ ASIC dafür wäre.
Der einzige overhead ist in dem Fall I/O den man weg optimieren könnte. Aber im Endeffekt würde man einen kompletten CPU entwerfen.
Ein Limit was in Zukunft sicher ein Problem sein wird ist DDR4 weil dieser die Hashrate für jede Instanz hart limitiert.
Einen FPGA für RandomX zu entwerfen wäre soweit kein Problem nur würde es darauf hinauslaufen einen abgespeckten CPU zu emulieren was ziemlich sicher teurer/ineffizienter (zur zeit) wäre als es direkt auf einem CPU auszuführen. Gleiches gilt für GPUs.
4 „Gefällt mir“
Wow Danke für die ausführliche Antwort hat mich auch interessiert!
Also kurz, man nutzt die High-Level-CPU-Features, die in der eigentlichen x86 Spezifikation nicht enthalten sind wie Hashing oder Kompression oder Verschlüsselung und nicht in GPU/FPGA/ASIC vorkommen. Das heißt aber auch, dass bei fortschreitender Intergration diese Features irgendwann im FPGA ankommen werden, weil die dort ebenfalls nützliche Anwendung fänden als skalierbare Basisfunktionen. Also stellt sich die Frage: Ab wann sind alle Funktionen in der CPU drin, so dass sie weiter zu den spezialisten diffundieren und keine neuen mehr bei der CPU dazukommen?
1 „Gefällt mir“