File size: 2,463 Bytes
c397a0f
 
 
 
 
 
 
 
 
 
844c7c0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
---
license: apache-2.0
datasets:
- ByteDance-Seed/cudaLLM-data
base_model:
- Qwen/Qwen3-8B
pipeline_tag: text-generation
tags:
- code
- CUDA
---

## CudaLLM: A Language Model for High-Performance CUDA Kernel Generation

### Model Description
cudaLLM-8B is a language model for generating high-performance and syntactically correct CUDA kernels. It is based on the Qwen3-8B model and has undergone a two-stage training process to master the complexities of parallel programming for GPUs.

**Performance on KernelBench:**
| | Bo1 | Bo2 | Bo4 | Bo8 | Bo16 |
|---------|-------|-----|-----|-----|------|
| Level-1 | 79.75 | 83 | 84 | 86 | 87 |
| Level-2 | 67.30 | 70 | 71 | 72 | 73 |
| Level-3 | 20.83 | 26 | 30 | 34 | 36 |

### Training Procedure
The model was trained using the verl library. The model was trained and evaluated on:
- SFT Dataset: A high-quality dataset of CUDA problem-solution pairs ([sft_cuda_llm_r1.parquet](https://huggingface.co/datasets/ByteDance-Seed/cudaLLM-data)), originally generated by DeepSeek R1, DeepSeel Coder-7B, and Qwen2-32B.
- RL Dataset: A refined dataset ([rl_cuda_llm_0424.parquet](https://huggingface.co/datasets/ByteDance-Seed/cudaLLM-data)) used to provide performance-based rewards during the RL stage.
- Evaluation Dataset: The model's performance was benchmarked against the KernelBench dataset.

### Intended Use and Limitations
#### Intended Use
The primary use of CudaLLM is to assist developers in writing and optimizing high-performance CUDA kernels. It can be used for:
- Accelerating scientific computing and machine learning workloads.
- As a co-pilot or productivity tool for HPC and CUDA developers.
- Research into AI-driven code generation and optimization.

#### Limitations and Bias
- Correctness is Not Guaranteed: While trained to produce correct code, the model's output should always be rigorously tested and verified before deployment in production systems.
- Security Risks: The generated code is not guaranteed to be secure. Never run model-generated code from an untrusted source without careful inspection.
- Performance Variability: Kernel performance can vary significantly depending on the target GPU architecture, input data sizes, and compiler version. The generated code may require further manual tuning.
- Specialized Domain: This model is highly specialized for CUDA code generation. Its performance on general-purpose programming tasks or natural language conversation will be limited.