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
|