C.W.K.
Stream
Lesson 07 of 12 · published

GPU runner

~11 min · gpu, runners, cost

Level 0Apprentice
0 XP0/101 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

GPU 워크로드 어디서 돌리나

GitHub 가 표준 hosted runner 에 GPU 포함 안 함. 가능한 세 옵션:

1) GitHub Larger Runner (GPU)

  • Org level 에서 사용 가능. NVIDIA T4 / A10 옵션.
  • 활성화 쉬움 — 같은 runs-on: 라벨 syntax.
  • 분 단위 가격; 가끔 GPU CI 에 합리적.

2) Self-hosted GPU runner

  • 아빠 머신 (홈랩 Linux 박스, MLX 작업용 Apple Silicon Mac) 에 설정.
  • 라벨로 태그: [self-hosted, gpu, linux-x64] 또는 [self-hosted, macos, apple-silicon].
  • 분당 무료; 전기와 유지보수 지불.
  • 최선: 지속 헤비 사용, persistent cache, 특수 하드웨어.

3) CI 에서 service 로서의 cloud GPU

  • 정규 Linux runner 에서 Modal, RunPod, vast.ai, Lambda Cloud 호출.
  • 거기서 GPU job 실행, 결과 가져옴.
  • 초당 과금; idle 일 때 0 으로 스케일.
  • 최선: 뾰족한 워크로드, 유지 fleet 없음.

Apple Silicon 특수 케이스

Apple Silicon 의 MLX 작업은 self-hosted Mac runner 만 동작. GitHub 의 hosted macOS runner 는 Intel Mac VM 사용 (MLX 지원 없음). MLX 가 eval suite 에 있으면 사무실 Mac 에 self-hosted runner 설정.

Code

Apple Silicon MLX self-hosted runner·yaml
  mlx-eval:
    runs-on: [self-hosted, macos, apple-silicon]
    timeout-minutes: 30
    steps:
      - uses: actions/checkout@v4
      - name: Activate mlx env (preset on the runner)
        run: |
          source ~/miniconda3/etc/profile.d/conda.sh
          conda activate mlx
          pip install -U mlx mlx-lm  # always latest, MLX is fast-moving
      - run: |
          source ~/miniconda3/etc/profile.d/conda.sh && conda activate mlx
          pytest tests/mlx/ -q

External links

Exercise

GPU 워크로드 있으면 (PyTorch, MLX, JAX, ML 학습) 사용 패턴에 가장 싼 가능한 runner 옵션 선택. 첫 GPU job 의 cold-start vs warm-start 시간 재; 그게 weight cache 가 byte 가치 있는지 말해줌.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.