TL;DR
- rGPU는 애플리케이션을 클라이언트에 둔 채 원격 NVIDIA GPU에서 작업을 실행하며, PyTorch 장치와 CUDA shim 두 경로를 제공함.
- PyTorch 장치는
rgpu장치를 선택할 수 있는 PyTorch 프로그램에 적합하고, TCP를 통해torch연산을 전송함. - CUDA shim은 기존 Linux CUDA 프로그램과 기본 CUDA PyTorch를 대상으로 하며, 호환 범위가 더 넓은 대신 지원해야 할 인터페이스도 더 많음.
- 연결을 인증하거나 암호화하는 프로토콜은 없으므로, PyTorch 서버는 기본 로컬호스트 바인드를 유지하고 SSH를 사용하며 CUDA 서버의 9713 포트는 방화벽으로 제한해야 함.
- 저장소에는 클라이언트·서버·공통 프로토콜·Python 장치·문서·테스트와 실험용 JAX 작업이 포함되며, JAX는 지원 제품 경로가 아님.
rGPU
- rGPU는 애플리케이션은 클라이언트에서 실행하고 GPU 작업은 원격 NVIDIA 머신에서 실행함.
- 제공 경로는 다음 두 가지임.
- PyTorch 장치:
rgpu장치를 선택할 수 있는 PyTorch 프로그램용이며, TCP를 통해torch연산을 전송함. - CUDA shim: 기본 CUDA PyTorch를 포함한 기존 Linux CUDA 프로그램용이며,
libcuda, CUDA Runtime,cuBLAS,cuBLASLt,cuDNNshim을 제공함. - PyTorch 장치는 통합이 더 간단하고, CUDA shim은 기존 바이너리를 다루지만 호환성 범위가 더 넓음.
문서
website/의 Fumadocs 사이트는 제품 문서이며, 빠른 시작, 학습, nanoGPT 예제, CUDA shim, 운영, 설정 참조, 성능, 문제 해결을 포함함.- 엔지니어링 기록과 실험은
docs/README.md에 색인됨.
빠른 시작: PyTorch 장치
pip install rgpu또는 저장소 체크아웃에서pip install -e ./python으로 rGPU를 설치한 다음, 빠른 시작 문서에 따라 서버를 배포함.- 작업 디렉터리에
smoke.py를 저장하고,torch.ones(4, device="rgpu")로 rGPU 장치의 텐서를 만든 뒤 텐서에 2를 곱하고 합산해 값을 출력함. - rGPU가 설치된 환경에서
rgpu-run --host user@gpu-host --ssh-port 2222 -i ~/.ssh/gpu_key python smoke.py를 실행하며, SSH 목적지와 옵션은 서버 환경에 맞게 지정함. - 프로그램이 장치를 선택하고
rgpu-run이 터널을 열어 연결을 설정하며, 예상 출력은8.0임. - 기존 Linux CUDA 프로그램은 CUDA shim 안내를 따르며, 시작 단계는
./scripts/build_client.sh임. - 두 프로토콜 모두 연결을 인증하거나 암호화하지 않으므로
rgpu-opserver는 기본 로컬호스트 바인드 상태로 유지하고 SSH를 사용함. - CUDA 서버는 모든 IPv4 인터페이스에서 수신하므로 SSH 터널을 사용하더라도 서버를 시작하기 전에 호스트 또는 클라우드 방화벽 규칙으로 9713 포트를 제한해야 하며, 자세한 내용은 배포 문서에 있음.
개발
- C++ 클라이언트와 가짜 드라이버 테스트는
./scripts/build_client.sh로 실행함. - Python 테스트는
python -m pip install -e './python[test]'로 테스트 의존성을 설치한 뒤python -m pytest python/tests로 실행함. - 정적 문서는
npm --prefix website ci로 의존성을 설치하고npm --prefix website run build로 빌드함. - 나머지 빌드, 클라우드, 하드웨어 명령은
scripts/README.md에 있으며, 생성된 C++ 코드는 저장소에 커밋되고 정책과 재생성 절차는codegen/README.md에 있음.
저장소 구성
client/: CUDA 클라이언트 shim과 전송 계층.server/: CUDA 서버와 디스패치.common/: 공유 프로토콜과 생성된 API 메타데이터.python/: PyTorch 장치와 실행 도구.tests/: C++, Python, CUDA, 하드웨어 검사.codegen/: CUDA 헤더 파서와 소스 생성기.website/: Fumadocs 제품 문서.docs/: 설계 기록, 측정값, 실험 보고서.jax/: 실험적 JAX 작업이며 지원 제품 경로가 아님.scripts/: 빌드, 배포, 클라우드, 테스트 도구.skills/: rGPU 사용을 위한 설치형 에이전트 지침.- 과거 구현 기록과 실험 결과는
docs/README.md에 색인됨.
라이선스
- Apache License 2.0에 따라 라이선스가 부여됨.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요