Skip to main content
QUICK REVIEW

[논문 리뷰] Vortex: OpenCL Compatible RISC-V GPGPU

Fares Elsabbagh, Blaise Tine|arXiv (Cornell University)|2020. 02. 27.
Parallel Computing and Optimization Techniques참고 문헌 11인용 수 9
한 줄 요약

Vortex는 RISC-V 기반의 일반 목적 GPU(GPGPU)로서, RISC-V ISA에 최소한의 SIMT 확장을 도입하여 OpenCL 프로그램을 네이티브로 실행할 수 있도록 지원하는 오픈소스 시스템이다. 이는 커스터마이징된 마이크로아키텍처, RISC-V용 확장된 POCL 런타임, 15nm 공정 기술을 활용한 Rodinia 벤치마크의 일부에서의 이식성과 성능을 입증하였으며, 최적의 스레드 및 워프 구성으로 향상된 에너지 효율성을 달성하였다.

ABSTRACT

The current challenges in technology scaling are pushing the semiconductor industry towards hardware specialization, creating a proliferation of heterogeneous systems-on-chip, delivering orders of magnitude performance and power benefits compared to traditional general-purpose architectures. This transition is getting a significant boost with the advent of RISC-V with its unique modular and extensible ISA, allowing a wide range of low-cost processor designs for various target applications. In addition, OpenCL is currently the most widely adopted programming framework for heterogeneous platforms available on mainstream CPUs, GPUs, as well as FPGAs and custom DSP. In this work, we present Vortex, a RISC-V General-Purpose GPU that supports OpenCL. Vortex implements a SIMT architecture with a minimal ISA extension to RISC-V that enables the execution of OpenCL programs. We also extended OpenCL runtime framework to use the new ISA. We evaluate this design using 15nm technology. We also show the performance and energy numbers of running them with a subset of benchmarks from the Rodinia Benchmark suite.

연구 동기 및 목표

  • OpenCL를 지원하는 오픈소스의 완전한 스택을 갖춘 RISC-V 기반 GPGPU 시스템의 부족을 보완하기 위해.
  • SIMT 실행 모델을 활용해 RISC-V에서 데이터 병렬 워크로드를 효율적이고 에너지 최적화된 방식으로 실행하기 위해.
  • POCL OpenCL 런타임과 툴체인을 확장하여 RISC-V 기반 GPU에서 네이티브 실행을 지원하기 위해.
  • Rodinia 벤치마크 세트의 일부를 사용하여 Vortex 아키텍처의 이식성과 성능을 입증하기 위해.
  • 미래의 RISC-V GPGPU 연구를 위한 완전히 오픈소스이자 확장 가능한 기반을 제공하기 위해.

제안 방법

  • 스레드 수준의 병렬 처리와 제어 분열 처리를 가능하게 하기 위해 RISC-V RV32IM ISA에 5개의 새로운 명령어를 추가하여 SIMT 실행을 지원한다.
  • Synopsys 라이브러리와 RTL을 사용하여 구성 가능한 SIMT 기반 마이크로아키텍처를 설계하였으며, 15nm 공정 기술을 대상으로 하여 완전한 프레임트-앤드-루트 합성 구현을 수행하였다.
  • 네이티브 Vortex 런타임 라이브러리 구현과 함께, 기기 전용 커널 컴파일 및 실행을 지원하기 위해 POCL OpenCL 컴파일러 및 런타임을 수정하였다.
  • 시뮬레이션 시간을 단축하기 위해 축소된 데이터 세트와 예열된 캐시를 사용하여 성능 및 전력 소모를 평가하기 위해 cycle-accurate C++ 시뮬레이터 simX를 활용하였다.
  • 15nm 교육용 라이브러리와 Innovus를 사용하여 합성 기반의 전력 및 면적 분석을 수행하였으며, GDS 레이아웃과 전력 밀도 맵을 생성하였다.
  • 커널 코드 내에서 커스텀한 __if/__endif 매크로를 통해 제어 분열을 지원하여 런타임 오버헤드 없이 스레드 간 조건부 실행을 가능하게 하였다.

실험 결과

연구 질문

  • RQ1최소한의 RISC-V ISA 확장이 GPGPU에서 OpenCL 커널의 효율적이고 이식 가능한 실행을 가능하게 할 수 있는가?
  • RQ2다양한 워크로드에서 스레드 및 워프 구성에 따라 Vortex GPGPU의 성능과 에너지 효율성은 어떻게 변화하는가?
  • RQ3POCL OpenCL 스택을 얼마나 넓히면 새로운 RISC-V 기반 GPU에 SIMT 의미 체계를 지원할 수 있는가?
  • RQ4캐시 동작과 데이터 세트 크기의 영향은 RISC-V GPGPU에서 시뮬레이션 환경에서 확장성과 성능에 어떤 영향을 미치는가?
  • RQ5Ara와 Hwacha와 같은 기존의 RISC-V 가속기와 비교해 Vortex 아키텍처는 효율성과 구성 가능성 측면에서 어떻게 다른가?

주요 결과

  • Vortex GPGPU는 스레드 및 워프 구성 최적화를 통해 성능과 에너지 효율성을 향상시켰으며, 최적의 설계는 벤치마크에 따라 달라졌다.
  • 32 스레드 × 2 워프 구성이 대부분의 벤치마크에서 가장 뛰어난 전력 효율성을 보였지만, BFS는 비정규적인 메모리 액세스 패턴으로 인해 32 워프 × 32 스레드 구성에서 가장 높은 성능을 기록하였다.
  • 스레드 수(즉, SIMD 폭) 증가에 따라 성능 향상이 있었지만, 축소된 데이터 세트와 예열된 캐시로 인해 워프 수 증가에 따른 성능 향상은 제한적이었다.
  • simX 시뮬레이터가 Verilog RTL 모델 대비 94%의 사이클 정확도를 확보하여 성능 및 전력 평가에 활용할 수 있음을 검증하였다.
  • 전력 밀도 맵은 메모리 유닛(GPR, 데이터 캐시, 명령어 캐시, 공유 메모리)에서 높은 소모를 보이며 열점이 발생할 수 있음을 나타내었으며, 전력 분포가 잘 되어 있음을 확인하였다.
  • 확장된 POCL 스택을 활용하여 Vortex 설계는 Rodinia 벤치마크의 일부를 성공적으로 실행하였으며, 전체 스택 호환성과 이식성을 입증하였다.

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

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

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

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