ๅๅธๅผๆทฑๅบฆๅผบๅๅญฆไน ่ฎญ็ปๆกๆถ
ๅบไบ Ray ็ Actor-Learner ๆถๆ๏ผ้ขๅ MuJoCo ็ฏๅข่ฟ่กๅนถ่ก้ๆ ทไธ็ญ็ฅไผๅ
|
|
|
|
|
|
| ๐ ๅๅธๅผ่ฎญ็ป็ๆง | ๐ ๅๆบ่ฎญ็ป็ๆง | โ๏ธ ๆง่ฝๅฏนๆฏ่งๅพ |
![]() |
![]() |
![]() |
DRL_MuJoCo/
โโโ main.py # ่ฎญ็ปๅ
ฅๅฃ๏ผๆฏๆๅค GPU ๆฉๅฑ๏ผ
โโโ drl/ # ๆ ธๅฟ DRL ๆจกๅ
โ โโโ config.py # ้
็ฝฎ dataclass๏ผๅซ GPU ๆฉๅฑๅญๆฎต๏ผ
โ โโโ config_loader.py # YAML ้
็ฝฎๅ ่ฝฝ
โ โโโ models.py # Actor-Critic ๆจกๅ
โ โโโ ray_components.py # Ray ๅๅธๅผ็ปไปถ๏ผLearner ๅฃฐๆ num_gpus=1๏ผ
โ โโโ logging_utils.py # ๆฅๅฟๅทฅๅ
ท
โ โโโ video_generator.py # ่ง้ข็ๆ
โโโ config/ # ้
็ฝฎๆไปถ
โ โโโ config.yaml # ๅๅธๅผ่ฎญ็ป (8 Actors)
โ โโโ config_single.yaml # ๅๆบ่ฎญ็ป (1 Actor)
โ โโโ walker2d.yaml # Walker2d ๅๅธๅผ้
็ฝฎ
โ โโโ walker2d_single.yaml # Walker2d ๅๆบ้
็ฝฎ
โ โโโ halfcheetah.yaml # HalfCheetah ๅๅธๅผ้
็ฝฎ
โ โโโ halfcheetah_single.yaml # HalfCheetah ๅๆบ้
็ฝฎ
โ โโโ scaling/ # ๐ GPU ๆฉๅฑๅฎ้ช้
็ฝฎ๏ผ่ชๅจ็ๆ๏ผ
โ โโโ hopper_gpu4.yaml
โ โโโ hopper_gpu8.yaml
โ โโโ ...
โโโ web/ # Web UI
โ โโโ server.py # FastAPI ๅ็ซฏ๏ผ๐ GPU ๆฉๅฑ + ้็พค API๏ผ
โ โโโ next.config.ts # Next.js ้
็ฝฎ
โ โโโ tailwind.config.ts # Tailwind ไธป้ข้
็ฝฎ
โ โโโ src/
โ โโโ app/ # Next.js App Router
โ โโโ components/ # React ็ปไปถ
โ โโโ hooks/ # ่ชๅฎไน Hooks
โ โโโ services/ # API & WebSocket
โ โโโ stores/ # Zustand ็ถๆ
โ โโโ types/ # TypeScript ็ฑปๅ
โโโ rust_buffer/ # Rust ้ซๆง่ฝ็ผๅฒๅบ
โ โโโ src/
โ โ โโโ buffer.rs # SoA ๅๆพ็ผๅฒๅบ
โ โ โโโ gae.rs # ๅนถ่ก GAE ่ฎก็ฎ
โ โ โโโ lib.rs # PyO3 ็ปๅฎ
โ โโโ Cargo.toml
โ โโโ pyproject.toml
โโโ scripts/ # ่พ
ๅฉ่ๆฌ
โ โโโ build.sh # ็ฏๅขๆญๅปบ
โ โโโ start.sh # ไบคไบๅผๅฏๅจๅจ
โ โโโ plot_training.py # ่ฎญ็ปๆฒ็บฟ
โ โโโ plot_comparison.py # ๅฏนๆฏๆฒ็บฟ
โ โโโ gen_scaling_configs.py # ๐ ็ๆ GPU ๆฉๅฑ้
็ฝฎ
โ โโโ analyze_scaling.py # ๐ GPU ๆฉๅฑ็ปๆๅๆ
โ โโโ slurm/ # Slurm ้็พค่ๆฌ
โ โโโ setup_env.sh # Conda ็ฏๅขๅๅปบ + ๅ็ซฏๆๅปบ
โ โโโ run_webui.sh # ๐ Web UI (Slurm ่ฎก็ฎ่็น)
โ โโโ run_single.sh # ๅๆบ่ฎญ็ป sbatch
โ โโโ run_distributed.sh # ๅๅธๅผ่ฎญ็ป sbatch
โ โโโ run_all_envs.sh # ๆน้ๆไบค 3็ฏๅขร2ๆจกๅผ
โ โโโ run_scaling.sh # ๐ GPU ๆฉๅฑๅฎ้ช sbatch
โ โโโ run_gpu_experiments.sh # ๐ ไธ้ฎๆน้ GPU ๅฏนๆฏๅฎ้ช
โ โโโ run_plot.sh # ่ฎญ็ปๅ็ปๅพ
โ โโโ monitor.sh # ไฝไธ็ๆงๅทฅๅ
ท
โโโ logs/ # Slurm ๆฅๅฟ็ฎๅฝ
๐ง macOS / Linux
bash scripts/build.sh๐ช Windows
ๅช้็กฎไฟๅทฒๅฎ่ฃ Miniforge๏ผๆจ่๏ผๆ Miniconda๏ผ่ๆฌไผ่ชๅจๅๅงๅ conda ็ฏๅข
scripts\build.batWindows ้ขๅคๆณจๆไบ้กน๏ผ
- MuJoCo ้่ฆ Visual C++ Redistributable๏ผไธ่ฌ Windows 10/11 ๅทฒ้ข่ฃ
- ๅฆ้ๆๅปบ Rust Buffer๏ผ้ๅฎ่ฃ Visual Studio Build Tools๏ผๅพ้ "C++ build tools"๏ผๅ Rust
- Ray ๅจ Windows ไธๆฏๆๅๆบๅค่ฟ็จๅๅธๅผ่ฎญ็ป๏ผๆฌ้กน็ฎๆจกๅผ๏ผ๏ผไฝไธๆฏๆๅค่็น้็พค
่ฏฅ่ๆฌๅฐ่ชๅจ๏ผ
- โ
ๆฃๆฅ & ๅๅปบ conda ็ฏๅข (
drl-arm) - โ ๅฎ่ฃ Python ไพ่ต (PyTorch, Ray, MuJoCo...)
- โ ๅฏ้ๆๅปบ Next.js ๅ็ซฏ
- โ ๅฏ้ๆๅปบ Rust ๅๆพ็ผๅฒๅบ
๐ง macOS / Linux
bash scripts/start.sh๐ช Windows
่ๆฌไผ่ชๅจๅๅงๅ conda๏ผ็ดๆฅๅจ CMD ไธญ่ฟ่กๅณๅฏ
scripts\start.bat| ้้กน | ๆ่ฟฐ |
|---|---|
1 |
ๅๅธๅผ่ฎญ็ป (8 Actors) |
2 |
ๅๆบ่ฎญ็ป (1 Actor) |
3 |
็ปๅถ่ฎญ็ปๆฒ็บฟ |
4 |
็ปๅถๅฏนๆฏๆฒ็บฟ |
5 |
ๅฏๅจ Web UI (็ไบงๆจกๅผ) |
6 |
๐ ๅฏๅจ Next.js Dev Server + Web UI (ๆจ่) |
้ๆฉ้้กน 6 ๅ๏ผๆๅผๆต่งๅจ่ฎฟ้ฎ http://localhost:3000
็ผ่พ config/config.yaml ่ฐๆด่ฎญ็ป่ถ
ๅ๏ผ
| ๅๆฐ | ้ป่ฎคๅผ | ่ฏดๆ |
|---|---|---|
env_name |
Hopper-v5 |
MuJoCo ็ฏๅขๅ็งฐ |
num_actors |
8 |
ๅนถ่ก้ๆ ทๅจๆฐ้ |
rollout_length |
2048 |
ๅๆฌก้ๆ ท่ฝจ่ฟน้ฟๅบฆ |
batch_size |
256 |
่ฎญ็ปๆนๆฌกๅคงๅฐ |
lr |
0.0003 |
ๅญฆไน ็ |
gamma |
0.99 |
ๆๆฃๅ ๅญ |
gae_lambda |
0.95 |
GAE ฮป ๅๆฐ |
clip_ratio |
0.15 |
PPO ่ฃๅชๆฏ็ |
hidden_sizes |
[256, 256] |
้่ๅฑๅคงๅฐ |
max_iters |
1000 |
ๆๅคง่ฎญ็ป่ฟญไปฃๆฐ |
lr_schedule |
linear |
ๅญฆไน ็่ฐๅบฆ็ญ็ฅ |
target_kl |
0.015 |
KL ๆฃๅบฆๆฉๅ้ๅผ |
num_gpus |
1 |
๐ GPU ๆฐ้๏ผๆฏไธช GPU ่ฟ่กไธไธช Learner๏ผ |
actors_per_gpu |
8 |
๐ ๆฏ GPU ๅ้ ็ Actor ๆฐ้ |
param_sync_interval |
1 |
๐ ๅค Learner ๅๆฐๅๆญฅ้ด้ |
# 1. ่ฟ่กๅๆบ่ฎญ็ป
bash scripts/start.sh # ้ๆฉ 2
# 2. ่ฟ่กๅๅธๅผ่ฎญ็ป
bash scripts/start.sh # ้ๆฉ 1
# 3. ็ปๅถๅฏนๆฏๆฒ็บฟ
bash scripts/start.sh # ้ๆฉ 4็ๆ output/comparison_curves.png๏ผๅฏนๆฏ ่ฎญ็ป้ๅบฆ (SPS) ๅ ๅนณๅๅๆฅใ
bash scripts/start.sh # ้ๆฉ 6่ชๅจๅฏๅจ๏ผ
- FastAPI ๅ็ซฏ โ http://127.0.0.1:8000
- Next.js ๅผๅๆๅกๅจ โ http://localhost:3000
- API ่ฏทๆฑ่ชๅจไปฃ็ๅฐ FastAPI
cd web && npm install && npm run build && cd ..
bash scripts/start.sh # ้ๆฉ 5
# ่ฎฟ้ฎ http://127.0.0.1:8000| ๅ่ฝ | ๆ่ฟฐ |
|---|---|
| ๐ฎ ่ฎญ็ปๆงๅถ | ไธ้ฎๅฏๅจ/ๅๆญขๅๅธๅผ & ๅๆบ่ฎญ็ป |
| ๐ก ๅฎๆถ็ๆง | WebSocket ๆจ้ SPSใๅๆฅใๆๅคฑใBuffer ๅคงๅฐ |
| ๐ ๅจ็บฟ็ปๅพ | Chart.js ๅฎๆถ่ฎญ็ปๆฒ็บฟ |
| โ๏ธ ๆง่ฝๅฏนๆฏ | ๅๅธๅผ vs ๅๆบๅๅฑๅฏนๆฏ |
| ๐ฌ ่ง้ข็ๆ | ไธ้ฎ็ๆๆบ่ฝไฝ่กจ็ฐ่ง้ข๏ผๆฏๆ้็ๆ |
๐ ็นๅปๅฑๅผ่ฏฆๆ
- Structure of Arrays (SoA) ๅ ๅญๅธๅฑ โ ่ฟ็ปญๅ ๅญ๏ผ็ผๅญๅฑ้จๆงๆดไผ
- Rayon ๅนถ่ก GAE โ ๅค็บฟ็จๅนถ่ก่ฎก็ฎไผๅฟๅฝๆฐ
- PyO3 Python ็ปๅฎ โ ๆ ็ผ้ๆๅฐ็ฐๆ Python ่ฎญ็ปไปฃ็
- ็ฎๆ 10-50x ๅ ๅญๆไฝ้ๅบฆๆๅ
# ๆนๅผไธ๏ผ้่ฟๆๅปบ่ๆฌ
bash scripts/build.sh # ้ๆฉๆๅปบ Rust Buffer
# ๆนๅผไบ๏ผๆๅจๆๅปบ
cd rust_buffer
pip install maturin
maturin develop --release
โ ๏ธ ้่ฆๅ ๅฎ่ฃ Rust๏ผcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
| ๅ็ซฏ | ๅ็ซฏ | ๆง่ฝไผๅ |
|---|---|---|
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Next.js Frontend โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโโ โ
โ โDistributedโ โ Single โ โComparisonโ โ Video โ โ
โ โ Tab โ โ Tab โ โ Tab โ โ Section โ โ
โ โโโโโโโฌโโโโโโ โโโโโโโฌโโโโโ โโโโโโโฌโโโโโ โโโโโโโฌโโโโโโ โ
โ โโโโโโโโโโโโโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโโโ โ
โ โโโโโโโดโโโโโโ โ
โ โ Zustand โ โ
โ โ Store โ โ
โ โโโโโโโฌโโโโโโ โ
โ โโโโโโโโโโโโโผโโโโโโโโโโโโ โ
โ โโโโโโดโโโโโ โ โโโโโโโดโโโโโ โ
โ โREST API โ โ โWebSocket โ โ
โ โโโโโโฌโโโโโ โ โโโโโโโฌโโโโโ โ
โโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโ
โ โโโโโดโโโโโโโโโโโดโโโโโโโโโโโโดโโโโ โ
โ โ FastAPI Backend โ โ
โ โโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโ โ
โ โโโโโโดโโโโโ โ
โ โ Ray โ โ
โ โ Cluster โ โ
โ โโโโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโ โ
โ โโโโโโดโโโโโ โโโโโดโโโโ โโโโโดโโโโ โโโโดโโโ โ
โ โ Actor 0 โ โActor 1โ โActor Nโ โLearnerโ โ
โ โโโโโโฌโโโโโ โโโโโฌโโโโ โโโโโฌโโโโ โโโโฌโโโ โ
โ โโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโ โ
โ โโโโโโดโโโโโ โ
โ โ Param โ โ
โ โ Server โ โ
โ โโโโโโโโโโโ โ
โ Backend (Python) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ FastAPI Backend โ
โ /api/scaling/* /api/cluster/info โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Ray Cluster โ
โ โ
โ โโ Learnerโ (GPU:0) โโ [Actorโ..Actorโ] โ 8 CPU Actors โ
โ โโ Learnerโ (GPU:1) โโ [Actorโ..Actorโโ
] โ
โ โโ Learnerโ (GPU:2) โโ [Actorโโ..Actorโโ] โ
โ โโ Learnerโ (GPU:3) โโ [Actorโโ..Actorโโ] โ
โ โ
โ ๅ
ฑไบซ: ParameterServer (ๅจๆๆงๅๆฐๅนณๅ) โ
โ ็ฌ็ซ: ๆฏไธช Learner ๆ่ชๅทฑ็ ReplayBuffer โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ๆฏไธช Learner ็ฌๅ 1 ๅ GPU + 8 ไธช CPU Actor ้ๆ ทใ้่ฟ ParameterServer ๆฏ่ฝฎๅๆฐๅนณๅ๏ผParameter Averaging๏ผไฟๆๆๆ Learner ็็ญ็ฅไธ่ดใ
้กน็ฎๆไพไบๅฎๆด็ Slurm ้็พค่ฎญ็ป่ๆฌ๏ผๆฏๆๅจ GPU ้็พคไธๆไบคๅๅธๅผ/ๅๆบ่ฎญ็ปไฝไธ๏ผไปฅๅ ๐ Web UI ไบคไบๅผ่ฎญ็ป ๅ ๐ ๅค GPU ๆฉๅฑๅฎ้ชใ
# ๅจๆฌๅฐๆบๅจไธ๏ผๅฐ้กน็ฎไธไผ ๅฐ้็พค
scp -r ./DRL_MuJoCo <็จๆทๅ>@<้็พคๅฐๅ>:~/DRL_MuJoCossh <็จๆทๅ>@<้็พคๅฐๅ>
cd ~/DRL_MuJoCo# ็ดๆฅๅจ็ฎก็่็นไธ่ฟ่ก๏ผไธ้่ฆ sbatch๏ผ
bash scripts/slurm/setup_env.sh
โ ๏ธ ่ฟ่กๅๅ ๆฃๆฅ้็พค CUDA ็ๆฌ๏ผnvidia-smi # ๆฅ็ๅณไธ่ง CUDA Versionๅฆๆๆฏ CUDA 12.1๏ผ้ๅ ็ผ่พ
scripts/slurm/setup_env.shๅฐcu118ๆนไธบcu121ใ
่ฟไธๆญฅๅฎๆๅ๏ผdrl_mujoco Conda ็ฏๅขๅ Next.js ๅ็ซฏๅฐฑๆๅปบๅฅฝไบ๏ผไปฅๅไธ้่ฆๅ่ฟ่กใ
ๅจ่ฎก็ฎ่็นไธๅฏๅจ Web UI๏ผ้่ฟ SSH ็ซฏๅฃ่ฝฌๅๅจๆฌๅฐๆต่งๅจไธญ่ฎฟ้ฎ๏ผ
# ๆไบค Web UI ไฝไธ๏ผ1 GPU ๅบ็กๆจกๅผ๏ผ
sbatch scripts/slurm/run_webui.sh
# ๆไบค Web UI ไฝไธ๏ผ4 GPU ๆฉๅฑๆจกๅผ๏ผ
sbatch --gres=gpu:4 --cpus-per-task=40 --mem=64G scripts/slurm/run_webui.sh
# ๆฅ็ๆฅๅฟ่ทๅ่ฟๆฅๅฝไปค
cat logs/webui_<JOBID>.outๆฅๅฟไธญไผๆพ็คบ SSH ็ซฏๅฃ่ฝฌๅๅฝไปค๏ผๅจๆฌๅฐ็ป็ซฏๆง่ก๏ผ
ssh -N -L 8000:<่ฎก็ฎ่็น>:8000 <็จๆทๅ>@<้็พค็ฎก็่็น>็ถๅๆต่งๅจๆๅผ http://localhost:8000 ๅณๅฏไฝฟ็จ Web UI๏ผ
- ๐ฎ ไธ้ฎๅฏๅจ/ๅๆญข่ฎญ็ป
- ๐ก ๅฎๆถ็ๆง่ฎญ็ปๆฒ็บฟ
- ๐ ๆฅ็้็พค GPU ไฟกๆฏ
- ๐ ๅฏๅจ GPU ๆฉๅฑๅฎ้ช
ๅ็ฌๆไบคไธไธชไปปๅก๏ผ
# ๅๆบๆจกๅผ
sbatch scripts/slurm/run_single.sh
# ๅๅธๅผๆจกๅผ
sbatch scripts/slurm/run_distributed.sh
# ๆๅฎๅ
ถไป็ฏๅข้
็ฝฎ
sbatch scripts/slurm/run_single.sh config/walker2d_single.yaml
sbatch scripts/slurm/run_distributed.sh config/walker2d.yamlไธ้ฎๆน้ๆไบคๅ จ้จ 6 ไธชไปปๅก๏ผ
bash scripts/slurm/run_all_envs.sh --dry-run # ้ข่ง
bash scripts/slurm/run_all_envs.sh # ๆไบคๆฏๆ 4/8/16/32 GPU ็ๆฉๅฑๆงๅฏนๆฏๅฎ้ช๏ผ
# 1. ็ๆ็ผฉๆพ้
็ฝฎ๏ผ่ชๅจ็ผฉๆพ actorsใbatch_sizeใbuffer๏ผ
python scripts/gen_scaling_configs.py --gpu_counts 4 8 16 32
# 2. ้ข่งๅฎ้ช
bash scripts/slurm/run_gpu_experiments.sh --dry-run
# 3. ๆไบคๅ
จ้จๅฎ้ช
bash scripts/slurm/run_gpu_experiments.sh
# 4. ไนๅฏไปฅๅช่ท้จๅๅฎ้ช
bash scripts/slurm/run_gpu_experiments.sh --envs hopper --gpus 4 8
# 5. ๅๆ็ปๆ
python scripts/analyze_scaling.py --input_dir output/scalingGPU ๆฉๅฑ่ตๆบ็ผฉๆพๅฏน็ ง่กจ๏ผ
| GPU ๆฐ้ | ่็นๆฐ (ๆฏ่็น 4 GPU) | Actors ๆปๆฐ | batch_size | CPU ๆ ธๅฟ | ๅ ๅญ |
|---|---|---|---|---|---|
| 4 | 1 | 32 | 2048 | 40 | 64G |
| 8 | 2 | 64 | 4096 | 40/่็น | 64G/่็น |
| 16 | 4 | 128 | 8192 | 40/่็น | 64G/่็น |
| 32 | 8 | 256 | 16384 | 40/่็น | 64G/่็น |
โ ๏ธ run_gpu_experiments.shไธญ็GPUS_PER_NODE=4้ๆ นๆฎๅฎ้ ้็พคไฟฎๆนใ
# ๆฅ็ๆๆไฝไธ็ถๆ
bash scripts/slurm/monitor.sh
# ๅฎๆถๆฅ็ๆไธชไฝไธ็ๆฅๅฟ
bash scripts/slurm/monitor.sh <JOB_ID>
# ๅๆถๆๆไฝไธ
bash scripts/slurm/monitor.sh --cancel-all# ็ปๅถๅ
จ้จๅพ่กจ
sbatch scripts/slurm/run_plot.sh
# ๆไป
็ปๅถ็นๅฎ็ฑปๅ
sbatch scripts/slurm/run_plot.sh --training # ่ฎญ็ป่ฏฆๆ
ๅพ
sbatch scripts/slurm/run_plot.sh --comparison # ๅค็ฏๅขๅฏนๆฏๅพ| ่ๆฌ | CPUs | ๅ ๅญ | GPU | ๆถ้ | ่ฏดๆ |
|---|---|---|---|---|---|
run_single.sh |
4 | 8G | 1 | 7ๅคฉ | ๅๆบ 1 Actor + 1 Learner |
run_distributed.sh |
12 | 32G | 1 | 7ๅคฉ | ๅๅธๅผ 8 Actors + Ray ้็พค |
run_plot.sh |
2 | 4G | 0 | 1ๅฐๆถ | ็บฏ CPU ็ปๅพไปปๅก |
๐ run_webui.sh |
16 | 32G | 1+ | 7ๅคฉ | Web UI + ่ฎญ็ป๏ผๅฏ็ณ่ฏทๅค GPU๏ผ |
๐ run_scaling.sh |
16 | 32G | 1+ | 7ๅคฉ | GPU ๆฉๅฑๅฎ้ช๏ผๆฏๆๅค่็น๏ผ |
้ฆๆฌกไฝฟ็จ:
โ bash scripts/slurm/setup_env.sh โ ไป
้่ฟ่กไธๆฌก
Web UI ๆจกๅผ (ไบคไบๅผ):
โก sbatch scripts/slurm/run_webui.sh โ ๆไบค Web UI ไฝไธ
โข ssh -N -L 8000:<node>:8000 user@gateway โ ๆฌๅฐ็ซฏๅฃ่ฝฌๅ
โฃ ๆต่งๅจๆๅผ http://localhost:8000 โ ๅฏ่งๅๆไฝ
ๅฝไปค่กๆจกๅผ (ๅๅฐๆน้):
โก sbatch scripts/slurm/run_single.sh โ ๆไบคๅๆบ่ฎญ็ป
ๆ sbatch scripts/slurm/run_distributed.sh โ ๆไบคๅๅธๅผ่ฎญ็ป
ๆ bash scripts/slurm/run_all_envs.sh โ ไธ้ฎๆไบคๅ
จ้จ6ไธชไปปๅก
GPU ๆฉๅฑๅฎ้ช:
โก python scripts/gen_scaling_configs.py โ ็ๆ็ผฉๆพ้
็ฝฎ
โข bash scripts/slurm/run_gpu_experiments.sh โ ไธ้ฎๆไบคๅฏนๆฏๅฎ้ช
่ฎญ็ปไธญ:
โค bash scripts/slurm/monitor.sh โ ็ๆงไฝไธ
่ฎญ็ปๅ:
โฅ sbatch scripts/slurm/run_plot.sh โ ็ปๅพ
โฆ python scripts/analyze_scaling.py โ ๐ ๅๆ GPU ๆฉๅฑ็ปๆ
ๆฅๅฟๆไปถ่ชๅจๅๅ ฅ
logs/็ฎๅฝ๏ผๆ ผๅผไธบsingle_<JOBID>.outใdist_<JOBID>.outใwebui_<JOBID>.outใscale_<JOBID>.outใ
| ็ซฏ็น | ๆนๆณ | ่ฏดๆ |
|---|---|---|
/api/scaling/configs |
GET | ่ทๅๆๆ GPU ๆฉๅฑๅฎ้ช้ ็ฝฎ |
/api/scaling/metrics?config_name=hopper_gpu4 |
GET | ่ทๅๆฉๅฑๅฎ้ช่ฎญ็ปๆๆ |
/api/scaling/start?config_name=hopper_gpu4 |
POST | ๅฏๅจ GPU ๆฉๅฑๅฎ้ช |
/api/scaling/status |
GET | ่ทๅๆฉๅฑๅฎ้ช่ฟ่ก็ถๆ |
/api/cluster/info |
GET | ่ทๅ้็พค GPU ไฟกๆฏ + Ray ่ตๆบ |



