mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
61 lines
2.4 KiB
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.
|
|
|
|
%% ============================================================================
|