[논문 리뷰] Instructions' Latencies Characterization for NVIDIA GPGPUs.
이 논문은 NVIDIA GPGPU의 다섯 가지 GPU 아키텍처(Kepler부터 Turing까지)에서 지시어 지연과 메모리 하이어라키 액세스 오버헤드를 측정하기 위한 저비용, 이식 가능한 방법론을 제시한다. 파이pline 및 메모리 행동을 측정함으로써 CUDA 컴파일러 최적화가 성능에 미치는 영향을 드러내어, 개발자와 아키텍트가 정확한 하드웨어 모델링과 정보 기반 소프트웨어 최적화를 수행할 수 있도록 한다.
The last decade has seen a shift in the computer systems industry where heterogeneous computing has become prevalent. Graphics Processing Units (GPUs) are now present in supercomputers to mobile phones and tablets. GPUs are used for graphics operations as well as general-purpose computing (GPGPUs) to boost the performance of compute-intensive applications. However, the percentage of undisclosed characteristics beyond what vendors provide is not small. In this paper, we introduce a very low overhead and portable analysis for exposing the latency of each instruction executing in the GPU pipeline(s) and the access overhead of the various memory hierarchies found in GPUs at the micro-architecture level. Furthermore, we show the impact of the various optimizations the CUDA compiler can perform over the various latencies. We perform our evaluation on seven different high-end NVIDIA GPUs from five different generations/architectures: Kepler, Maxwell, Pascal, Volta, and Turing. The results in this paper can help architects to have an accurate characterization of the latencies of these GPUs, which will help in modeling the hardware accurately. Also, software developers can perform informed optimizations to their applications.
연구 동기 및 목표
- 공급업체 문서에 명시되어 있지 않은 NVIDIA GPU의 숨겨진 마이크로아키텍처 지연 특성을 드러내기 위해.
- 여러 세대의 GPU에서 CUDA 컴파일러 최적화가 지시어 및 메모리 지연에 미치는 영향을 평가하기 위해.
- GPGPU 워크로드에서 파이pline 및 메모리 액세스 지연을 측정하기 위한 이식 가능하고 저비용의 분석 기법을 제공하기 위해.
- 이전에 공개되지 않은 지연 행동을 드러냄으로써 정확한 하드웨어 모델링과 정보 기반 소프트웨어 최적화를 가능하게 하기 위해.
제안 방법
- GPU 파이pline에서 지시어 지연을 측정하기 위한 이식 가능하고 저비용의 커널 기반 벤치마킹 프레임워크를 개발하였다.
- 다양한 메모리 하이어라키 수준(레지스터, 공유 메모리, L1, L2, 글로벌 메모리)의 액세스 지연을 고립하고 측정하기 위해 마이크로 벤치마크를 설계하였다.
- Kepler, Maxwell, Pascal, Volta, Turing의 다섯 가지 아키텍처를 포함하는 일곱 대의 고성능 NVIDIA GPU에서 측정를 수행하였다.
- 알려진 의존성과 함께 지정된 지시어 시퀀스의 실행 시간을 측정함으로써 지연 값을 유추하기 위해 타이밍 기반 분석을 사용하였다.
- 관측된 지연과 컴파일러 최적화 수준을 관련시켜 성능 특성에 미치는 영향을 평가하였다.
- 다양한 런과 GPU 모델에서 결과를 검증하여 방법론의 일관성과 이식 가능성을 확보하였다.
실험 결과
연구 질문
- RQ1현대의 NVIDIA GPU에서 다양한 아키텍처 간 실제 지시어 지연은 무엇인가?
- RQ2다양한 GPU 세대와 메모리 유형 간 메모리 하이어라키 액세스 지연은 어떻게 달라지는가?
- RQ3CUDA 컴파일러 최적화가 지시어 및 메모리 액세스의 관측 지연에 얼마나 큰 영향을 미치는가?
- RQ4제안된 지연 특성화 방법론은 다양한 GPU 아키텍처에서 얼마나 일관되고 이식 가능하게 작동하는가?
- RQ5지연 측정에서 도출할 수 있는 통찰은 하드웨어 모델링과 소프트웨어 최적화를 향상시키는 데 어떤가?
주요 결과
- 연구는 NVIDIA GPU 아키텍처 간 지시어 지연의 상당한 차이를 드러내었으며, 신규 세대에서 핵심 연산의 지연이 감소한 것으로 나타났다.
- 메모리 액세스 지연은 메모리 수준 간에 크게 다름을 보였으며, 글로벌 메모리가 가장 높은 지연을 보이고 레지스터가 가장 낮은 지연을 보였다.
- 지시어 스케줄링 및 루프 변환과 같은 CUDA 컴파일러 최적화는 특히 메모리 기반 커널에서 관측 지연을 크게 감소시켰다.
- 제안된 방법론은 최소한의 성능 오버헤드로 높은 정확도를 달성하여 생산용 GPU에서 신뢰할 수 있는 지연 측정을 가능하게 하였다.
- 지연 값은 아키텍처 간에 뚜렷한 차이를 보였으며, 이는 성능 모델링이 마이크로아키텍처적 차이를 고려해야 한다는 것을 시사한다.
- 결과는 Volta 및 Turing과 같은 신규 아키텍처에서 이전에 문서화되지 않은 지연 행동을 드러내었으며, 이는 정확한 성능 예측에 필수적이다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.