mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
Retract the fabricated '581M/597ns / 100M+/s / 434M GPU / planet-scale' headline (a time.Sleep sim + x40 fudge that measured nothing) across the corpus. Flagship lux-lightspeed-dex rewritten (decomplected d-chain engine / dexvm atomic proxy / Go wrapper / 0x9010 CLOB facade; measured GB10 104-126M & M4 Max ~250M fills/s byte-parity-gated; Knuth-D division lever; Block-STM settlement; P3Q->starkfri rollup to Z-Chain). Technical papers (precompile-engineering, gpu-crypto-stack, evmgpu-benchmark, p3q-corona, smart-order-routing, fhe-mpc-hybrid) carry the measured impl + cross-ref the flagship. >1B/s framed honestly as N-node aggregation, never single-GPU. All compile.
73 lines
2.5 KiB
TeX
73 lines
2.5 KiB
TeX
\documentclass[11pt]{article}
|
|
\usepackage{../shared/luxcover}
|
|
\usepackage{amsmath,amssymb}
|
|
\usepackage{graphicx}
|
|
\usepackage{booktabs}
|
|
\usepackage{hyperref}
|
|
\usepackage{listings}
|
|
\usepackage{xcolor}
|
|
\usepackage{tikz}
|
|
\usepackage{pgfplots}
|
|
\pgfplotsset{compat=1.18}
|
|
\usepackage{siunitx}
|
|
\usepackage{multirow}
|
|
\usepackage{subcaption}
|
|
\usetikzlibrary{arrows.meta,positioning,calc}
|
|
|
|
\sisetup{group-separator={,}}
|
|
|
|
\definecolor{luxblue}{RGB}{30,64,175}
|
|
\definecolor{luxgold}{RGB}{234,179,8}
|
|
\definecolor{gpugreen}{RGB}{22,163,74}
|
|
\definecolor{cpured}{RGB}{220,38,38}
|
|
\definecolor{cppblue}{RGB}{37,99,235}
|
|
\definecolor{gogreen}{RGB}{0,125,156}
|
|
|
|
\title{GPU-Accelerated EVM Execution: Measured Benchmarks\\on Apple M1 Max Metal}
|
|
\author{
|
|
Zach Kelling\thanks{Corresponding author: [email protected]}\\
|
|
\textit{Lux Industries, Inc.}\\
|
|
\texttt{[email protected]}
|
|
}
|
|
\date{February 2025}
|
|
|
|
\begin{document}
|
|
|
|
\luxcoverpage
|
|
|
|
\begin{abstract}
|
|
We present measured benchmarks of GPU-accelerated Ethereum Virtual Machine (EVM) execution
|
|
on Apple M1 Max with 32-core Metal GPU and 64\,GB unified memory. The GPU EVM kernel
|
|
achieves 85.9\,M opcodes/sec versus 17.7\,M opcodes/sec on CPU---a \textbf{4.85$\times$ peak speedup}.
|
|
GPU acceleration becomes advantageous above $\sim$500 opcodes per transaction, reaching
|
|
2.08$\times$ at 2{,}000 ops/tx, 2.83$\times$ at 5{,}000 ops/tx, and 3.09$\times$ at 10{,}000 ops/tx.
|
|
|
|
Independent of GPU work, the C++ evmone interpreter with a full state layer achieves
|
|
20.9\,Ggas/s (best: 23.4\,Ggas/s)---\textbf{5.1$\times$ faster} than the Go EVM's 4.2--5.4\,Ggas/s
|
|
on EVM-only execution. Profiling confirms that \textbf{87\% of Go block processing} is
|
|
secp256k1 ecrecover; parallelizing ecrecover across 10 CPU cores yields 7.1$\times$ speedup.
|
|
|
|
The system is validated by 1{,}183 tests across C++/Rust/Go, 35 Metal shaders and 11 WGSL
|
|
shaders (all compiling clean), 14 host dispatch functions, and 8 GPU state DB tests passing.
|
|
\end{abstract}
|
|
|
|
\tableofcontents
|
|
\newpage
|
|
|
|
\input{sections/01-introduction}
|
|
\input{sections/02-hardware-and-environment}
|
|
\input{sections/03-gpu-evm-kernel-benchmarks}
|
|
\input{sections/04-c-evm-vs-go-evm}
|
|
\input{sections/05-profiling-the-signature-bottleneck}
|
|
\input{sections/06-gpu-shader-inventory}
|
|
\input{sections/07-test-coverage}
|
|
\input{sections/08-block-stm-parallel-execution}
|
|
\input{sections/09-gpu-acceleration-cryptographic-operation}
|
|
\input{sections/10-discussion}
|
|
\input{sections/11-gpu-clob-matcher}
|
|
\input{sections/12-addendum-optimized-gpu-kernel}
|
|
\input{sections/13-named-competitor-comparison}
|
|
\input{sections/99-conclusion}
|
|
|
|
\end{document}
|