본문으로 바로가기
반응형
  RTX 3070(2020) PS5(2020) SnapDragon865
(2020)
GTX650(2012) XBOX SeriesX
(2020)
GPU Name GA104(8nm)
Ampere
Oberon(7nm)
RDNA 2.0
Adreno 650(7nm) GK106(26nm)
Kepler
Scarlett(7nm)
RDNA 2.0
Base Clock 1500MHz
1725MHz
(Boost Clock)
2233MHz 250MHz
587MHz
(Boost Clock)
1058MHz

1825MHz
Memory Clock


Memory Size
Memory Type
Memory Bus
Bandwidth
1750MHz
14 Gbps effective

8GB
GDDR6
256bit
448.0 GB/s
1750MHz
14 Gbps effective

16GB
GDDR6
256bit
448.0 GB/s
2750MHz
/

LPDDR4X(or LPDDR5)

64bit
44 GB/s
1250MHz


1GB
GDDR5
128bit
80.00 GB/s
1750MHz
14 Gbps effective

10GB
GDDR6
320bit
560.0 GB/s
Shading Units
TMUs
ROPs
5888
184
96
2304
144
64
512
24*2
7
384
32
16
3328
208
64
Pixel Rate
Texture Rate

FP16(half) 
FP32(float)
FP64(double) 
165.6 GPixel/s
317.4 GTexel/s

20.31 TFLOPS(1:1)
20.31 TFLOPS
317.4 GFLOPS(1:64)
142.9 GPixel/s
321.6 GTexel/s

20.58 TFLOPS(2:1)
10.29 TFLOPS
643.1 GFLOPS(1:16)
14.1 GPixel/s
28.1 GPixel/s

/
1.3 TFLOPS
/
8.464 GPixel/s
33.86 GTexel/s

/
812.5 GFLOPS
33.86 GFLOPS(1:24)
116.8 GPixel/s
379.6 GTexel/s

24.29 TFLOPS(2:1)
12.15 TFLOPS
759.2 GFLOPS(1:16)

Adreno 830 specifications : https://en.wikipedia.org/wiki/Adreno#Adreno_800_series

  PS5(2020) PS5 Pro(2024) Snap Dragon
Gen Elite(2024)
RTX 5070(2025)
GPU Name Oberon(7nm)
RDNA 2.0
Viola(4nm)
RDNA 2.0
Adreno 830(3nm)
Oryon Gen 2
GB205(5nm)
Blackwell 2.0
Base Clock 2233MHz 2170MHz
2350MHz(Boost)
1100MHz
1200MHz(for Galaxy)
2325MHz
2515MHz(Boost)
Memory Clock


Memory Size
Memory Type
Memory Bus
Bandwidth
1750MHz
14 Gbps effective

16GB
GDDR6
256bit
448.0 GB/s
2250MHz
18 Gbps effective

16GB
GDDR6
256bit
576.0 GB/s
5300MHz
/

12MB(on chip) Shared Meomry
LPDDR5X
64bit
84.8 GB/s
1750HMz
28 Gbps effective

12GB
GDDR7
192bit
672.0 GB/s
Shading Units
TMUs
ROPs
2304
144
64
3840
240
64
1536
/
/
6144
192
80
Pixel Rate
Texture Rate

FP16(half) 
FP32(float)
FP64(double) 
142.9 GPixel/s
321.6 GTexel/s

20.58 TFLOPS(2:1)
10.29 TFLOPS
643.1 GFLOPS(1:16)
150.4 GPixel/s
564.0 GTexel/s

36.10 TFLOPS(2:1)
18.05 TFLOPS
1128 GFLOPS(1:16)
/
/

6.7584 TFLOPS(2:1)
3.3792 TFLOPS
844.8 GFLOPS
201.0 GPixel/s
482.3 GTexel/s

30.87 TFLPOPS)1:1
30.87 TFLPOPS
482.3 GFLPOPS (1:64)

PS5의 Compute Unit (CU)는 AMD GPU에서 셰이더 연산, 텍스처 처리, 벡터 연산 등을 담당하는 병렬 처리 블록으NVIDIA의 Streaming Multiprocessor(SM)에 해당하는 구조를 말한다.  셰이딩 연산량, 텍스처 처리량등 병렬처리 성능에 영향을 주는 요소이다. PS5에서는 36개에서 Pro에서 60개로 그 수가 늘어났다

 

Nvidia는 tile based rendering으로 전환하고 xclipse랑 이번 adreno 830은 IMR(IMR (Immediate Mode Rendering) 으로 다시 돌아왔다. xclipse야 RDNA 아키텍처 때문인가 싶은데, 애플 A18 바이오닉보다 벤치 성능이 잘 나오는걸보면 이유가 있지 싶은데...(완전 전통방식 그대로는 아닌듯하고 특히 캐쉬 사이즈 변경등 몇몇 이유를 짐작할 부분이 보인다. 이 추세면 5년뒤 10년뒤 포터블 디바이스 시장은 지금과도 꽤 다를듯)

https://www.reddit.com/r/hardware/comments/1gqubjv/why_does_the_snapdragon_8_elites_gpu_have_so_much/?rdt=59896


 

Bandwidth : GPU와 VRAM(그래픽 메모리) 간의 초당 데이터 전송량(Byte/s)
  → GPU가 처리할 데이터를 메모리에서 얼마나 빠르게 가져올 수 있느냐에 따라 전체 처리 속도가 달라짐.

Bandwidth = Memory Bus Width × Memory Clock Speed × 2 (DDR) ÷ 8

* Snapdragon 865의 경우 계산으로는 88GB/s이 나오지만 실제 LPDDR4X5의 효율을 반영해 44GB/s으로 표기

GDDR3/GDDR4/GDDR5 칩 하나당 32bit interface가 있는데, 2개를 병렬로 연결하면 64bit GDDR5 bus, 4개면 128 bit, 6개면 192 bit, 8개면 256 bit, 12개면 384 bit, 16개면 512 bit.
메모리칩을 하나의 GPU에 연결하기 위해서 PCB설계가 더욱 더 복잡해지고, 메모리 클럭도 떨어지게 된다. 더 높은 메모리 버스 일수록 파워를 더 많이 먹게되고, 발열, 그리고 GPU자체도 메모리 컨트롤러 때문에 커지게 됨. 256과 512비트의 경우 PCB 기판 가격도 고가가 된다.

GDDR 방식은 메모리 버스를 늘려 대역폭을 확보하는 반면, HBM은 버스폭을 크게 하고 클럭은 낮추는 방식으로 더 높은 대역폭을 달성함. HBM/HBM2 경우 1스택당 1024 bit bus를 제공하여, 적은 클럭으로도 Bandwidth는 크다.

 

Shading Units : GPU의 계산 유닛 또는 코어에 해당하며 물리, 조명, 그림자등 각종 비주얼 계산에 사용된다. FP32 연산(부동소수점 계산) 단위를 기준으로 GPU FLOPS(연산능력) 계산. Cuda core(Nvidia) /  Stream Processor(AMD)
AMD와 Nvidia의 연산방식 차이에 따라 유닛 숫자는 차이날 수 있다.

 

TMU(Texture Mapping Units) : 텍스처(이미지)를 픽셀에 힙히는 작업을 담당하는 유닛

  • 텍스처 좌표 변환, 필터링(Bilinear, Trilinear, Anisotropic)
  • Mipmapping 처리 (화질 및 성능 최적화용 텍스처 축소 기술)
  • 텍셀(Texel) → 픽셀(Pixel) 매핑

Texture Fillrate (텍스처 필레이트) = TMU 수 × GPU 클럭으로 계산되며 이는 초당 몇 개의 텍스처를 처리할 수 있는지를 의미(단위: GTexel/s)

 

ROPs (Render Output Units / Raster Operations Pipelines) : 렌더링 파이프라인의 최종 출력 처리를 담당하는 유닛. 픽셀을 최종 이미지로 출력하기 직전의 "마무리 작업" 수행.

  • 블렌딩(반투명 처리), Z-buffer(깊이 정보 처리), 스텐실 처리, 안티앨리어싱
  • 프레임버퍼로의 출력, 최종 해상도에 맞는 픽셀화

Pixel Fillrate (픽셀 필레이트) = ROP 수 × GPU 클럭. 초당 출력 가능한 픽셀 수 (단위: GPixel/s)

 

렌더링 과정은 [Shading Units : 계산] → [TMUs : 텍스처] → [ROPs : 출력] 순으로 이루어진다.

 

부동소수점 연산 성능(Floating Point Operations Per Second) : 초당 부동 소수점 연산 수행 능력을 나태는 지표로 1 GFLOPS는 초당 10억, 1 TFLOPS 1조번 연산능력을 이야기 한다

FLOPS = 연산 유닛 수 × 클럭 속도 × IPC( Instructions Per Cycle)[각주:1]

이론상 최대값이므로 실제 성능은 이보다 낮을 수 있음. 보통 FP16연산이 FP32보다 빠르게 처리됨. FP64의 경우 게임용 GPU에서는 매우 느리게 작동한다.

 

GPU 아키텍처마다 정밀도별 유닛 지원 비율이 다르기 때문에 FP16, FP32, FP64의 비율이 다르게 나타난다.

연산포맷 설명 bit 수 용도
FP16 (Half) Half Precision Floating Point 16bit 모바일, AI 추론
FP32 (Float) Single Precision 32bit 일반 게임, 그래픽 처리
FP64 (Double) Double Precision 64bit 과학, 공학, 물리 시뮬레이션 등
 

FP16 : AI연산 가속 목적으로만 지원하는 경우가 많음. 전통적인 셰이더 코어(SM, CU)와 별개로 존재. 특정 조건에서만 높은 성능 발휘

GPU FP32 FP16 비율
RTX 3070 20.31 TFLOPS 20.31 TFLOPS 1:1 (FP16 연산은 SM에서 처리)
RTX 3090 35.58 TFLOPS 71 TFLOPS (Tensor Core) 1:2 이상
Adreno 650 1.3 TFLOPS (FP32) 미지원 / 미기재 AI용 NPU에서 처리
플랫폼 설계 목적 정밀도 지원
모바일 SoC 전력효율, 중간 정밀도 FP16/INT8 위주, FP64 없음
콘솔 GPU 게임 그래픽 FP32 중점, FP16 일부
서버/과학용 GPU 시뮬레이션, AI FP64/FP16 병렬성 극대화

 

Reference :

RTX 3070 : https://www.techpowerup.com/gpu-specs/geforce-rtx-3070.c3674  
GTX 650 : https://www.techpowerup.com/gpu-specs/geforce-gtx-650.c894 
PS5 : https://www.techpowerup.com/gpu-specs/playstation-5-gpu.c3480  
XBOX Series X : https://www.techpowerup.com/gpu-specs/xbox-series-x-gpu.c3482

  1. 한번의 클럭 주기당 몇개의 명령어(instruction)을 실행할 수 있는지를 나타내는 성능지표. 주요 게임용 Nvidia/AMD GPU의 IPC 는 2.0으로 추정되나 Snapdragon 865의 경우 4.3정도로 추산됨(이는 AI unit 가속을 포함한 수치로 추정됨. 단순 비교하기 어려움) [본문으로]
반응형