Thanks to visit codestin.com
Credit goes to github.com

Skip to content

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

License

Optima-CityU/Evolution_of_Kernels

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

GitHub release (latest by date including pre-releases) GitHub last commit Maintenance GitHub issues GitHub pull requests GitHub

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.

About The Project

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.

Table of Contents

Getting Started

Quickstart/Demo

We are working on an easy-deployment demo as our first priority.Stay tuned!

You can check out the roadmap for more information.

Prerequisites

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.

Installation

  1. Fill in the config.toml

  2. Run main.py on host device ("uv run main.py")

  3. After task_initializing successed, run task_hosting.py to host the task for devices parallelly evolving kernels

  4. Similarly, use uv to setup the environment on devices, then run task_hosting.py on devices to evolving the kernels

  5. Collect the results from devices, and run gen_report.py to generate the final report

(Back to top)

Usage

(Back to top)

Roadmap

  • 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

See the open issues for a full list of proposed features (and known issues).

Contribute

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.

(Back to top)

Reference

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}, 
}

License

Distributed under the MIT License. See LICENSE for more information.

(Back to top)

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages