IMPORTANT: This is a very early version, and is not ready for scale use.
We are working hard with our corporators to provide a more stable and user-friendly version. The roadmap is shown below.
Evolution of Kernels (EoK) is an open-source Platform leveraging Large Language Models (LLMs) for Automatic Kernel Optimization. Please refer to the paper for detailed information, including the overview, methodology, and benchmark results.
We are working on an easy-deployment demo as our first priority.Stay tuned!
You can check out the roadmap for more information.
You need to prepare two nodes with different IP addresses for kernel evolving and testing currently. However, we are working on a more convenient deployment method.
Additionally, we use uv to set up the environment. Conda or pip would be working correctly; however, we have not conducted any tests. We welcome anyone to test and provide feedback to us.
A container version is developing. However, the hardware requirements are still being tested, and existing evidences show that the containerized version for kernel evaluation can lead to large errors.
-
Fill in the config.toml
-
Run main.py on host device ("uv run main.py")
-
After task_initializing successed, run task_hosting.py to host the task for devices parallelly evolving kernels
-
Similarly, use uv to setup the environment on devices, then run task_hosting.py on devices to evolving the kernels
-
Collect the results from devices, and run gen_report.py to generate the final report
- Support Asynchronous operator performance evaluation
- Support Single-Device Deployment for user testing
- Provide a more stable and user-friendly deployment document
- Support More Types of Devices/Kernels
- Huawei Ascend / CANN
- Nvidia GeForce / CUDA
- AMD / ROCm
- Support Customized Methods
- LLM4AD
- Modular Design
See the open issues for a full list of proposed features (and known issues).
We are more than welcome to contribute including developing code and ideas to improve our platform.
- Issue: If you find a bug or you have any kind of concern regarding the correctness, please report us an issue.
- Profit Purpose: If you intend to use LLM4AD for any profit-making purposes, please contact us.
If you find EoK helpful please cite:
@misc{chen2025evolutionkernelsautomatedriscv,
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},
primaryClass={cs.SE},
url={https://arxiv.org/abs/2509.14265},
}Distributed under the MIT License. See LICENSE for more information.