GPU에 대해 검색 하다 보면 위와 같은 형태의 표를 많이 보았을 것이다.
머 보통 관심이 많다보면 이미 알고 있겠지만, 대충이라도 한번 훑어 보고 지나가자~!
일단 GPU의 역사는 이러 하다.
nvidia에서 끝이 없이 새로운것들이 쏟아진다. performance또한 어마어마하게 좋아지고 있다.
자 이제 조금씩 더 알아가 보도록 하겠다.
FP(Floating Point) 부동소수점
FP16 = floating point 16bit, half precision
FP32 = floating point 32bit, single precision
FP64 = floating point 64bit, double precision
precision 정밀도
SM(Streaming Multiprocessor)
sm은 8개의 SP(scalar processor)로 이루어짐
8SP -> cuda core -> FP32 core
Tensor core
Volta architecture 부터 추가 되었다.
HBM2 (High Bandwidth Memory, HBM2.0) - GPU -memory
여기까지가 예전의 구성이였으며, 현재 나와있는 pascal과 volta Architecture는 아래 그림과 같다.
이 다음 Turing과 Ampere 는 다음에 글 수정을 통해 추가해 보도록 하겠다.
요즘은 PCI타입 보다는 NVLink타입의 GPU를 많이 사용하는 편이다. 물론 사용자가 직접적으로 손대기에는 아직도 PCI타입이 편하고 친근하다. 하지만 속도면에서 NVLink가 엄청나다.
NVLink는 엔비디아가 개발한 와이어 기반 통신 프로토콜 시리얼 멀티 레인 근범위 통신 링크이다.
PCI익스프레스와 달리 장치는 여러 개의 NVLink로 구성할 수 있으며 장치는 중앙 허브 대신 메시 네트워크를 사용하여
통신할 수 있다.
nvlink 1.0 = 20GB/s * 4 lane
nvlink 2.0 = 25GB/s * 6 lane
위와 같이 25Gbps 속도의 wire 8가닥을 합쳐 25GB가 되고 양방향 통신을 합쳐 50GB 된다.
그리하여 nvlink 2.0의 lane수가 6개를 합쳐 NVLink 2.0의 bandwidth가 300GB/sec 이라 말한다.
아래 첨부한 GPU Architecture를 보면 조금더 이해가 쉬울 수 있을 것 같다.
그림에서 보면 알겠지만 pascal은 nvlink 1.0 volta는 nvlink 2.0을 사용한다.
요즘 나온 아주 고가의 GPU서버들은 NVSwitch까지 달려 있어 어마어마한 속도를 낸다.
NVIDIA_NCCL 이란? 설치 방법 (2) | 2020.07.03 |
---|---|
NVIDIA GPU error 확인 (0) | 2020.07.02 |
Tensorflow 설치 방법 (0) | 2020.06.19 |
Bazel 설치 방법 (0) | 2020.06.18 |
CUDA 설치 (0) | 2020.06.16 |