Sandra : GPGPU Icon

Sandra : GPGPU


SiSoftware Sandra Benchmark Official Image


▌SiSoftware - Sandra

▒ General-Purpose computing on GPU

메인프레임을 위시한 슈퍼컴퓨터 업계는 고성능 컴퓨팅(HPC, High Performance Computing)의 새로운 트렌드인 GPU 연산에 많은 투자를 하고 있습니다. 비록 처리할 수 있는 데이터의 카테고리를 바꾸기는 어렵지만, 지정된 카테고리에서 처리할 수 있는 데이터 연산량은 비교할 수 없을만큼 압도적인 우위를 제공하기 때문입니다.

근래에는 3D 그래픽 외에도 이미지나 영상 편집의 경우 GPU를 활용해 일부 기능의 작업속도를 가속시키는 범용 GPU 컴퓨팅(GPGPU)이라는 카테고리로 일반 사용자들도 쉽게 접할 수 있게 되었습니다.

초창기에는 NVIDIA 그래픽 카드에서 사용할 수 있는 CUDA를 이용한 가속 기능이 개발되었지만, 이후에는 다른 GPU로도 사용할 수 있는 OpenCL 기반으로 추가되는 경우가 많습니다. 인공지능(AI) 역시 GPU를 활용할 수 있지만, 학습이 아닌 서비스 사용에는 범용성보다 효율성이 중시되어 NPU(Neural Processing Unit)라는 새로운 대체재를 투입하는 방향으로 전환되고 있습니다.

GPGPU 연산은 용도에 따라 필요한 정밀도가 달라집니다. 일반적으로 단정밀도(FP32, Single Precision)가 그래픽 처리를 포함하여 널리 사용되며, 반정밀도(FP16, Half Precision)는 빠른 작업속도와 리소스 효율화를 위해 단정밀도와 함께 사용되는 혼합 정밀도 모델에 주로 쓰입니다. 배정밀도(FP64, Double Precision)는 일상적으로 쓰이는 경우는 거의 없고, 지진이나 일기예보처럼 수치 범위가 넓고 정확한 값이 필요한 과학 분야에서 사용됩니다.

GPU Architecture Diagram Image
▲ 3D 그래픽 가속을 위해 시작된 GPU는 이제 대규모 병렬 처리에 필수적인 요소가 되어가고 있습니다.
CPU는 복잡한 연산 처리를 할 수 있지만 코어 수가 적은 반면, GPU는 비교적 단순한 계산에 수천 개의 코어가 동원됩니다.


▌GPGPU Overall Test

▒ GPGPU 종합 성능 (Aggregate)

아래 테스트 중 OpenCL 범용 GPU 컴퓨팅 연산의 모든 정밀도 결과값을 종합해 포인트 스코어로 환산한 자료입니다. 단순히 결과값들을 더하거나 평균만 낸 것이 아니며, 각 정밀도 연산이 가지는 범용성이나 처리속도를 고려해 가중치가 적용된 종합 성능을 나타냅니다.

SiSoftware Sandra GPGPU Processing Result Image
▲ SiSoftware Sandra - OpenCL 기반 GPGPU Processing 테스트 결과 화면
모든 결과를 종합한 Aggregate 결과값과 Half(FP16), Single(FP32), Double(FP64), Quad(FP128) 정밀도별 성능이 출력됩니다.


▌OpenCL Processing Test

▒ 범용 GPU 컴퓨팅 연산 테스트 (FP16 / FP32 / FP64)

범용 GPU 컴퓨팅 연산은 렌더링과 같이 화면 출력과 관련된 파이프라인을 생략할 수 있고, 데이터 타입에 따라 계산의 정밀도를 달리하는 혼합 정밀도 방식으로 더 높은 성능을 추구할 수도 있습니다. 특히 인공지능(AI) 기술이 대중화됨에 따라 3D 그래픽 성능과 유사한 단정밀도(FP32) 뿐만 아니라 반정밀도(FP16) 이하의 연산 성능도 주목 받기 시작했습니다.

이와 반대로 과학 연구 시뮬레이션에서 주로 사용되는 배정밀도(FP64) 이상의 고정밀 연산은 일반적인 용도로 쓰이는 일이 거의 없다보니 그래픽 카드에 따라서 FP32 대비 성능 비율이 4:1 에서 32:1 이하로 떨어지기도 합니다. 따라서 고정밀도 연산은 이에 특화된 연산 전용 GPU가 사용되는 경우가 많습니다.

OpenCL Official Logo Image
▲ OpenCL은 독점 기술로 출시된 CUDA에 대응하기 위해 2009년 출시되었습니다.
Apple의 주도하에 Intel, AMD, NVIDIA가 협력하여 개발되었으며, 비영리 표준 관리 단체인 크로노스 그룹을 통해 정식 출시되었습니다.


▌CUDA Processing Test

▒ NVIDIA 전용 GPGPU 연산 테스트 (FP16 / FP32 / FP64)

NVIDIA GPU 제품군에서만 사용할 수 있는 독점 기술로 자사 드라이버 소프트웨어에 특화되어 있어 상대적으로 높은 추상화 수준과 짧은 문법이 강점입니다.

현재 주력으로 사용되고 있는 GPGPU 프레임워크 중 가장 먼저 발표되었으며, 이에 따른 선점효과와 적극적인 기술지원 덕분에 두터운 사용자층을 자랑합니다. 따라서 대부분의 범용 GPU 컴퓨팅 기술들이 CUDA 기반으로 개발해 출시한 뒤, OpenCL로 이식하는 경우가 많아 NVIDIA GPU 사용자들은 OpenCL보다 CUDA를 선호하는 편입니다.

NVIDIA CUDA Official Logo Image
▲ CUDA는 2006년 지포스 8 시리즈와 함께 발표, 2007년 소프트웨어 개발 도구(SDK)로 출시되었습니다.
통합 셰이더CUDA로 3D 그래픽 외의 연산도 가능하다는 것을 증명했고, 인공지능(AI)을 통해 새로운 패러다임으로 거듭났습니다.

STiCH | 산드라 : GPGPU 성능차트 - 기존 결과값 초기화 완료 | 2023-10-04 (10:22)

Measured by http://indexdr.com
Sandra : GPGPU - 범용 연산 성능차트 (GPU)