원문 캡처 · github.com
원문 캡처 · github.com

GPGPU-Sim은 CUDA 또는 OpenCL로 작성한 GPU 컴퓨팅 워크로드를 대상으로 최신 GPU의 동작을 사이클 단위로 모델링하는 시뮬레이터다. 성능 시각화 도구 AerialVision과 전력 모델 AccelWattch도 포함하며, 연구자가 GPU 구조와 워크로드를 시뮬레이션하는 데 활용할 수 있다. 소스 저장소

GPGPU-Sim 4.0은 Accel-Sim 시뮬레이션 프레임워크와 호환되며, NVIDIA의 동적 바이너리 계측 도구 NVBit으로 생성한 NVIDIA SASS 트레이스를 실행하는 트레이스 기반 시뮬레이션을 지원한다. Accel-Sim 관련 내용은 프로젝트 사이트에서 확인할 수 있다. 프로젝트 측은 GPGPU-Sim과 AccelWattch를 실제 GPU의 성능·전력 측정값으로 검증했다고 설명한다.

AccelWattch는 GPGPU-Sim 4.2.0에서 도입됐으며, 3.2.0~4.1.0에 포함됐던 GPUWattch를 대체한다. 프로젝트 문서에 따르면 AccelWattch는 NVIDIA Volta QV100을 기준으로 검증됐다. 제공되는 SM7_QV100, SM7_TITANV, SM75_RTX2060_S, SM6_TITANX용 XML 설정 파일도 모두 SM7_QV100에 맞춰 튜닝됐으므로 다른 GPU 설정에 그대로 적용할 때는 이 조건을 고려해야 한다. 자세한 내용은 AccelWattch 개요와 MICRO’21 아티팩트 매뉴얼을 참고할 수 있다.

설치와 실행 조건

저장소는 Linux 환경에서 CUDA Toolkit과 빌드 도구를 갖춘 뒤 CMake 또는 make로 빌드하는 절차를 안내한다. 사전 구성된 Docker 이미지와 VSCode·GitHub Codespaces용 devcontainer도 선택할 수 있다. Docker 이미지 안내와 devcontainer 설정 문서를 제공한다.

CUDA 애플리케이션을 실행하려면 프로그램이 CUDA 런타임에 동적으로 연결돼 있어야 하며, 시뮬레이터 설정에 맞는 GPU 구성 파일을 작업 디렉터리에 복사해야 한다. OpenCL 워크로드는 실행 중 NVIDIA 드라이버를 통해 컴파일해야 하며, 이 작업을 원격 머신으로 보낼 수 있다. PyTorch 애플리케이션을 실행하려면 별도의 수정된 라이브러리를 설치해야 한다. PyTorch 설치 안내

문서는 이 버전이 CUDA 4.2, 5.0, 5.5, 6.0, 7.5, 8.0, 9.0, 9.1, 10, 11, 12의 일부 기능을 대상으로 테스트됐다고 밝힌다. 구체적인 모델 설정과 빌드·실행 방법은 GPGPU-Sim 매뉴얼에서 확인할 수 있다. 시뮬레이터 사용이 기술 지원을 보장하지는 않으며, 질문은 최선의 노력으로 답변한다고 안내한다. 버그는 프로젝트 버그 신고 페이지에 제출할 수 있다.

연구에 GPGPU-Sim 4.0을 사용하면 Accel-Sim 논문을 인용하도록 안내한다. CuDNN·PyTorch 지원, 체크포인팅 또는 디버깅 도구를 사용한 연구에는 관련 논문을, Tensor Core 모델이나 CUTLASS 라이브러리에는 모델링 논문을 인용하도록 요청한다. AccelWattch와 AerialVision 등 기능별 인용 정보는 저장소 문서에 정리돼 있다. SST 통합에 관한 자세한 내용은 SST 요소 문서를 참고할 수 있다.