File size: 1,428 Bytes
9e419a9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
---
license: mit
language:
- en
tags:
- reinforcement-learning
- compiler-optimization
- transfer-learning
- meta-learning
- llvm
---

# ๐Ÿ”ง AI Compiler Optimizer

RL ๊ธฐ๋ฐ˜ C ์ฝ”๋“œ ์ž๋™ ์ตœ์ ํ™” ๋ชจ๋ธ. `-O1` ๋Œ€๋น„ ํ‰๊ท  **+51.9%** ์†๋„ ํ–ฅ์ƒ.

## ์„ฑ๋Šฅ ์š”์•ฝ

| ๋ฐฉ๋ฒ• | ์Šคํ… | ํ‰๊ท  speedup |
|---|---|---|
| x86 PPO ํ•™์Šต | 20,000 | +51.9% |
| ARM64 ์ „์ดํ•™์Šต | 2,000 | +47.2% |
| ARM64 ๋ฉ”ํƒ€ํ•™์Šต | 100 | +45.0% |

## ๋น ๋ฅธ ์‹œ์ž‘

### ์„ค์น˜
```bash
pip install stable-baselines3 gymnasium
sudo apt install clang llvm qemu-user-static
```

### ์ƒˆ ์•„ํ‚คํ…์ฒ˜์— 100์Šคํ… ์ ์‘
```bash
git clone https://huggingface.co/sosonsong/machineai-compiler-optimizer
cd machineai-compiler-optimizer

python3 meta_agent.py \
  --meta-base models/meta_init.zip \
  --arch aarch64-linux-gnu \
  --adapt-steps 100 \
  --out-path models/my_adapted.zip
```

### ์„ฑ๋Šฅ ์ธก์ •
```bash
python3 benchmark.py --model models/my_adapted.zip
```

## ๋ชจ๋ธ ํŒŒ์ผ
- `models/x86v2_base.zip` : x86 ๋ฒ ์ด์Šค ๋ชจ๋ธ (20,000์Šคํ… ํ•™์Šต)
- `models/meta_init.zip`  : Reptile ๋ฉ”ํƒ€ ์ดˆ๊ธฐํ™” ๋ชจ๋ธ (๋น ๋ฅธ ์ ์‘์šฉ)
- `models/arm64_transfer.zip` : ARM64 ์ „์ด ๋ชจ๋ธ

## ์ง€์› ์•„ํ‚คํ…์ฒ˜
- `x86_64` (๋„ค์ดํ‹ฐ๋ธŒ)
- `aarch64-linux-gnu` (QEMU ๋˜๋Š” ๋„ค์ดํ‹ฐ๋ธŒ ARM64)
- ๊ธฐํƒ€ clang ์ง€์› ์•„ํ‚คํ…์ฒ˜ (์ „์ดํ•™์Šต์œผ๋กœ ์ ์‘ ๊ฐ€๋Šฅ)

## ํ•™์Šต ํ™˜๊ฒฝ
- clang 18.1.3 / LLVM
- stable-baselines3 PPO
- Python 3.12