Search papers, labs, and topics across Lattice.
This paper introduces a GPU-resident, batched Levenberg鈥揗arquardt solver for optimizing constants in tree-based genetic programming, addressing the high per-generation costs that often lead to its omission in modern frameworks. By leveraging reverse-mode automatic differentiation, the method efficiently computes the Jacobian for a diverse population of expression trees, achieving a throughput of up to 5.1 脳 10^5 trees per second on an NVIDIA A100. The integration of this solver into EvoGP significantly enhances its performance, enabling successful recovery of governing equations for 10 out of 18 constructed problems, a notable improvement over the stock EvoGP which achieved none.
Achieving up to 9.9 times the throughput of traditional methods, this GPU-accelerated solver transforms the efficiency of constant optimization in symbolic regression.
Constant optimization refines the numerical coefficients of candidate expressions in tree-based genetic programming for symbolic regression. But its per-generation cost has led modern GPU-accelerated frameworks to omit it or restrict it to lightweight forms. We present a GPU-resident, batched Levenberg--Marquardt solver that optimizes constants across a structurally heterogeneous population of expression trees using a fixed number of population-wide CUDA launches per iteration. Reverse-mode automatic differentiation assembles the per-tree Jacobian in one backward sweep, making the dominant per-iteration cost independent of the number of constants per tree, and a double-precision delivery guard guarantees that returned constants are never worse than their initial values. On early-generation populations, the solver sustains up to $5.1{\times}10^{5}$ trees per second on an NVIDIA A100; at a GPU-saturated benchmark configuration it delivers roughly $9.9{\times}$ the throughput of Operon running on a 64-core EPYC 7763, while matching fp64-reference quality. Integrated in-process into EvoGP, the solver enables end-to-end search to recover governing equations on $10$ of $18$ constructed problems versus 0 for stock EvoGP. Our code is at https://github.com/TensorConv/CuSR.