Skip to main content
QUICK REVIEW

[논문 리뷰] Hierarchical Roofline Analysis: How to Collect Data using Performance Tools on Intel CPUs and NVIDIA GPUs

Charlene Yang|arXiv (Cornell University)|2020. 09. 05.
Parallel Computing and Optimization Techniques참고 문헌 16인용 수 14
한 줄 요약

이 논문은 Intel CPU와 NVIDIA GPU에서 저수준 성능 도구인 Intel Advisor, LIKWID, nvprof, Nsight Compute를 사용하여 계층적 Roofline 성능 데이터를 수집하는 도구에 종속되지 않는 종합적인 방법론을 제시한다. 이는 메모리 계층 구조 활용도와 다양한 캐시 레벨에서의 산술 강도를 정밀하게 분석할 수 있게 하며, 제조사 통합 도구에 대한 탄력 있고 재현 가능한 결과를 제공하는 융통성 있는 대안을 제공한다.

ABSTRACT

This paper surveys a range of methods to collect necessary performance data on Intel CPUs and NVIDIA GPUs for hierarchical Roofline analysis. As of mid-2020, two vendor performance tools, Intel Advisor and NVIDIA Nsight Compute, have integrated Roofline analysis into their supported feature set. This paper fills the gap for when these tools are not available, or when users would like a more customized workflow for certain analysis. Specifically, we will discuss how to use Intel Advisor, RRZE LIKWID, Intel SDE and Intel Amplifier on Intel architectures, and nvprof, Nsight Compute metrics, and Nsight Compute section files on NVIDIA architectures. These tools will be used to collect information for as many memory/cache levels in the memory hierarchy as possible in order to provide insights into application's data reuse and cache locality characteristics.

연구 동기 및 목표

  • 제조사 통합 Roofline 도구인 Intel Advisor와 NVIDIA Nsight Compute 외에 사용자 정의가 가능한 융통성 있는 대안을 제공하여 계층적 성능 분석을 수행하는 것.
  • Intel CPU와 NVIDIA GPU에서 L1, L2, HBM 등 여러 메모리 계층 수준에 걸쳐 세밀한 데이터 수집을 가능하게 하는 것.
  • 상용 도구에 접근할 수 없거나 성능 데이터 수집 워크플로우에 대해 세밀한 제어가 필요한 연구자 및 개발자들을 지원하는 것.
  • 대표적인 하드웨어(Knights Landing 및 V100 GPU)에서 다양한 성능 도구와 메트릭 세트를 사용했을 때 Roofline 결과의 일관성과 정확성을 검증하는 것.

제안 방법

  • Intel Knights Landing CPU에서 성능 데이터 수집을 위해 Intel Advisor, RRZE LIKWID, Intel SDE, Intel VTune를 활용하였다.
  • NVIDIA V100 GPU에서 저수준 성능 카운터를 수집하기 위해 nvprof, Nsight Compute 2019, Nsight Compute 2020를 사용하고, 사용자 정의 메트릭 세트를 적용하였다.
  • 하드웨어 성능 카운터를 사용하여 L1, L2, HBM 수준에서 산술 강도(FLOPs/Byte), GFLOP/s 스루풋, 메모리 트래픽를 수집하였다.
  • 성능 카운터를 Roofline 모델 구성 요소에 매핑: 명령어 실행 메트릭에서 FLOP 수 계산 및 메모리 접근 카운터에서 데이터 이동 계산.
  • 실제 HPC 워크로드에서 데이터 수집 워크플로우를 검증하기 위해 BerkeleyGW 코드베이스의 미니어플리케이션(Geeneral Plasmon Pole)을 사용하였다.
  • 도구 간 일관성을 확보하기 위해 메트릭 세트 표준화(예: sm__cycles_elapsed, l1tex__t_sectors_pipe_lsu_mem_global_op_ld)를 실시하여 Roofline 결과의 교차 도구 일관성을 확보하였다.

실험 결과

연구 질문

  • RQ1제조사 도구가 이용 불가능할 경우 오픈소스 및 저수준 성능 도구를 사용하여 계층적 Roofline 분석을 효과적으로 수행할 수 있는가?
  • RQ2동일한 GPU 워크로드에서 nvprof, Nsight Compute 2019, Nsight Compute 2020 등 다양한 성능 도구를 사용했을 때 Roofline 결과는 얼마나 일관한가?
  • RQ3LIKWID 및 Intel SDE와 같은 도구가 완전 기능 도구에 비해 다수의 캐시 레벨 분석에 대해 정확하고 세밀한 데이터를 제공하는 정도는 어느 정도인가?
  • RQ4Nsight Compute 2020의 간소화된 메트릭 세트가 이전 버전의 더 복잡한 메트릭 세트와 비교해 유사한 결과를 도출할 수 있는가?
  • RQ5실제 HPC 커널에서 메모리 계층 수준(L1, L2, HBM) 간 성능 특성(산술 강도, GFLOP/s)은 어떻게 변화하는가?

주요 결과

  • Intel Advisor와 NVIDIA Nsight Compute 외의 다양한 성능 도구를 사용하여 계층적 Roofline 모델을 성공적으로 구현할 수 있으며, 다양한 배포 환경에 대한 유연성을 제공한다.
  • nvprof, Nsight Compute 2019, Nsight Compute 2020 간 일관된 Roofline 결과를 관찰하였으며, 산술 강도 및 GFLOP/s 스루풋에서 미세한 차이가 있었을 뿐이다.
  • LIKWID는 낮은 오버헤드로 메모리 계층 특성의 프로파일링을 가능하게 하였지만, 벡터 길이 및 명령어 유형의 차이를 고려하지 못해 잠재적인 정확도 저하가 있을 수 있다.
  • Intel SDE와 VTune는 세밀한 시뮬레이션 및 샘플링 데이터를 제공하지만, LIKWID에 비해 더 높은 프로파일링 오버헤드를 가졌다.
  • NVIDIA의 Nsight Compute 2020은 복잡한 메트릭 세트에 비해 결과는 동일하게 도출하는 간소화된 메트릭 세트를 도입하여 기존 워크플로우에 쉽게 통합할 수 있도록 하였다.
  • 미니어플리케이션(GPP)은 V100 GPU에서 L1, L2, HBM 수준 간 유사한 산술 강도와 성능 특성을 보였으며, 강력한 데이터 재사용과 효율적인 메모리 접근 패턴을 나타내었다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.