Files
papers/gpu-evm-whitepaper/sections/10-cuda-backend-and-h100-projections.tex

61 lines
2.4 KiB
TeX

\section{CUDA Backend and H100 Projections}
\label{sec:future}
%% ============================================================================
All 30 CUDA kernels are ported from Metal and ready for H100 CI. All Montgomery constants
are verified byte-identical across Metal and CUDA; Keccak-256 round constants are verified
against FIPS~202.
\subsection{NVIDIA H100 Scaling}
The current production deployment runs on Apple M1 Max (32 GPU compute units).
NVIDIA H100 provides:
\begin{itemize}
\item \textbf{132 Streaming Multiprocessors} (vs 32 Metal compute units): 4.1$\times$ more
parallel execution units.
\item \textbf{80\,GB HBM3 at 3.35\,TB/s} (vs 400\,GB/s unified memory bandwidth):
8.4$\times$ memory bandwidth.
\item \textbf{Native 64-bit integer}: H100 has hardware int64 multiply; M1 Max GPU does not
(requires multi-instruction emulation for 256-bit EVM arithmetic).
\end{itemize}
Conservative projection (linear scaling from measured M1 Max numbers):
\begin{table}[h]
\centering
\small
\begin{tabular}{lrrr}
\toprule
\textbf{Metric} & \textbf{M1 Max} & \textbf{H100 (projected)} & \textbf{Factor} \\
\midrule
EVM opcodes/sec & 85.9\,M & 350--500\,M & 4--6$\times$ \\
Keccak-256 & 17.1\,Mh/s & 100+\,Mh/s & 6$\times$+ \\
ecrecover & 47\,ms/10k & $<$10\,ms/10k & 5$\times$+ \\
\bottomrule
\end{tabular}
\caption{H100 projections. Conservative estimates based on compute unit ratio (4.1$\times$)
and memory bandwidth ratio (8.4$\times$). Actual results may differ due to architectural
differences between Metal and CUDA. These are projections, not measurements.}
\label{tab:h100}
\end{table}
\subsection{Full GPU Consensus}
The ultimate target is running the entire Lux consensus pipeline on GPU:
\begin{enumerate}
\item \textbf{Network I/O}: GPU Direct RDMA (NVIDIA GPUDirect) for peer-to-peer message
passing without CPU involvement.
\item \textbf{Consensus voting}: Quasar's dual-certificate validation (BLS + Pulsar)
on GPU. Both signature schemes are already implemented as shaders.
\item \textbf{Block execution}: The cevm pipeline (this paper).
\item \textbf{State sync}: Merkle proof verification and state trie reconstruction on GPU.
\end{enumerate}
This would eliminate all CPU-to-GPU context switches during normal block processing,
with the CPU handling only exception paths and external I/O.
%% ============================================================================