[Pascal Architecture] Streaming Multiprocessor (SM) design (P100)

지난 2016년 5월에 NVIDIA에서 Pascal architecture를 공개하였다. 지난 몇 개월간 개인적인 사정으로 Pascal 구조를 들여다볼 시간이 없었다. 하지만 나는 GTX 1060을 구매하여서 사용하고 있다. 오늘은 Pascal architecture의 Streaming Multiprocessors (SMs)의 구조를 정리해 볼 계획이다. 대부분 정보는 “NVIDIA Tesla P100 White Paper (출처)”에서 읽은 내용이다. Pascal SM은 지난 세대의 Kepler와 Maxwell SM (SMX or SMM)의 구조 보다 상당히 작은 편이다.

Kepler SM

그림 1: Kepler SM (SMx) (출처)

Pascal SM그림 2: Pascal SM (출처)

그림 1은 Kepler 구조의 SM (SMX) 이며, 그림 2는 이번에 발표한 Pascal 구조의 SM이다. 그림에서 볼 수 있듯이 각 SM에 들어있는 CUDA core (또는 Streaming Processors (SPs))의 개수가 Pascal 구조에서 줄어든 것을 확인할 수 있다. 상당히 많은 양이 줄었다. 하지만  GPU에 있는 총 SM의 개수가 2배 이상으로 증가하여서 Pascal의 총 core 개수는 이전 버전보다 더 증가하였다. 또한, 각 SM이 가지고 있는 register의 개수는 Kepler, Maxwell과 동일하게 6만 개 정도이다. 결과적으로 한 칩에 사용되는 register의 양이 거의 2배 이상 증가하였다. 이렇게 더 많은 register를 담을 수 있었던 이유는 manufacturing process 기술 발전이 큰 이유라고 생각한다. 아래 그림(표)은 white paper에서 가져온 테이블이다. 그림(표)는 Kepler, Maxwell, Pascal의 상세 정보이다.

테이블

그림 3: Kepler, Maxwell, Pascal의 정보 정리 (출처)

TotalChip

그림 4: Pascal GP100 GPU 사진 (출처)

그림 3(표)에서 보여주듯이 총 코어 개수는 3,584개이며 최대 register의 크기는 무려 14MB (14,336KB)에 해당한다. (정말이지 엄청난 양의 register다) White paper를 읽으면서 든 하나의 의문점은 4개의 SM을 사용하지 않는다는 점이다. 그림4은 GP100의 사진이다. 보이듯이 총 SM의 개수는 60개이다. 이론상 총 3,840개의 코어가 사용할 수 있는데 왜 white paper에서는 56개만 사용을 한다고 이야기를 하였을까? 이 부분은 개인적으로 조금 찾아 볼 필요가 있는 것 같다.

오늘은 Pascal의 SM 구조를 간단하게 정리해보았다. 다음은 Pascal의 다른 부분을 읽어보고 정리할 계획이다.

 

1 thought on “[Pascal Architecture] Streaming Multiprocessor (SM) design (P100)”

  1. 이론상 총 3,840개의 코어가 사용할 수 있는데 왜 white paper에서는 56개만 사용을 한다고 이야기를 하였을까?
    여기에 대한 답을 찾은 것 같다. GP100은 chip의 이름을 의미한다. 반면 P100은 GPU 제품 이름이다.
    결과적으로 P100은 GP100의 chip의 SM을 줄여서 출시한 GPU이다.

    Reply

Leave a Reply to Admin Cancel reply