Improving a Parallel C++ Intel AVX-512 SIMD Linear Genetic Programming Interpreter

Jan 1, 2026·
William B Langdon
,
Carol Hanna
· 0 min read
Abstract
We use evolution to speedup the Single Instruction Multiple Data (SIMD) parallel interpreter for Peter Nordin’s linear genetic programming GPengine. MAGPIE (Machine Automated General Performance Improvement via Evolution of software) is provided with existing hand-optimised source code, its revision history and the Intel 256 bit SSE intrinsics documentation as XML. Fitness is measured via perf’s hardware instruction count, while validity and safety are enforced through systematic test cases and memory sandbox protection via Linux mprotect. In a matter of hours local search discovered small, non-obvious program modifications that improve the performance of 128 lines of SIMD C++ code by 2%, without sacrificing correctness. We see genetic improvement can effectively exploit Intel Advanced Vector Extensions (AVX) parallelism, automatically refining complex code that is difficult for human developers to optimise reliably.
Type
Publication
In International Workshop on Genetic Improvement@ ICSE
publications