Evolution of Kernels: Automated RISC-V Kernel Optimization with Large Language Models

Siyuan Chen, Zhichao Lu, Qingfu Zhang
9/14/2025
cs.SEcs.AI

No official code found. Best implementation: Optima-CityU/Evolution_of_Kernels (5 stars, MIT, last commit 2025-12-02).

Abstract

Automated kernel design is critical for overcoming software ecosystem barriers in emerging hardware platforms like RISC-V. While large language models (LLMs) have shown promise for automated kernel optimization, demonstrating success in CUDA domains with comprehensive technical documents and mature codebases, their effectiveness remains unproven for reference-scarce domains like RISC-V. We present Evolution of Kernels (EoK), a novel LLM-based evolutionary program search framework that automates kernel design for domains with limited reference material. EoK mitigates reference scarcity by mining and formalizing reusable optimization ideas (general design principles + actionable thoughts) from established kernel libraries' development histories; it then guides parallel LLM explorations using these ideas, enriched via Retrieval-Augmented Generation (RAG) with RISC-V-specific context, prioritizing historically effective techniques. Empirically, EoK achieves a median 1.27x speedup, surpassing human experts on all 80 evaluated kernel design tasks and improving upon prior LLM-based automated kernel design methods by 20%. These results underscore the viability of incorporating human experience into emerging domains and highlight the immense potential of LLM-based automated kernel optimization.

View on arXivView PDF

Code Implementations(1)

MIT

Reference Code Implementation of paper "Evolution of Kernels: Automated RISC-V Kernel Optimization with Large Language Models"

53PythonAug 27, 202510 months agoMIT

Similar Papers

Cite this paper

@article{chen2025evolution,
  title  = {Evolution of Kernels: Automated RISC-V Kernel Optimization with Large Language Models},
  author = {Siyuan Chen and Zhichao Lu and Qingfu Zhang},
  year   = {2025},
  eprint = {2509.14265},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2509.14265v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2509.14265.svg)](https://codeofpaper.com/paper/2509.14265)

Discussion