Skip to content

기글하드웨어기글하드웨어

컴퓨터 / 하드웨어 : 컴퓨터와 하드웨어, 주변기기에 관련된 이야기, 소식, 테스트, 정보를 올리는 게시판입니다.

분석
2020.06.18 00:42

NVIDIA의 20TFLOPS급 GPU, A100이란?

profile
조회 수 7397 댓글 12
Extra Form
참고/링크 https://www.4gamer.net/games/121/G012181/20200527061/

이렇게 긴글을 천천히 옮기면 공부도 되고 개인적으로도 재미가 있는데, 요새는 읽을만한 것도 없고 다른 일이 바빠서 좀처럼 못 올렸네요. 하여간 오래간만에 올려 봅니다.

 

 

 

5월 14일에 NVIDIA의 젠슨 황 CEO는 암페어 아키텍처를 쓴 새로운 GPU, A100을 발표했습니다. 암페어는 전류의 단위인 암페어의 어원, 프랑스의 물리학자 앙드레 마리 앙페르의 이름에서 따왔습니다. NVIDIA는 GPU 아키텍처 코드네임에 유명한 과학자의 이름을 붙이는데요. 지포스 RTX 20의 튜링이나 그 이전 세대인 볼타 역시 마찬가지입니다.

 

1.jpg

 

A100

 

2.jpg

 

DGX A100

 

3.jpg

 

EGX A100

 

이 기조 강연에선 A100을 탑재한 슈퍼컴퓨터인 DGX A100과 엣지 컴퓨팅 제품인 EGX A100을 발표했으나, 모두 GPGPU용이며 지포스나 쿼드로 그래픽카드가 발표되진 않았습니다. 따라서 일반 소비자들과는 거리가 있지만, 2018년의 튜닝 이후 2년만에 새로 등장한 NVIDIA의 새 아키텍처이기에 어떤 제품인지는 한번 쯤 볼 필요가 있을 겁니다. 

 

 

A100 아키텍처 개요

 

우선 GPU의 기본 정보부터 봅시다. A100은 TSMC의 7nm 공정으로 제조된 GPU입니다. 다이 크기는 846제곱mm, 트랜지스터 수는 542억개로 NVIDIA GPU 중 역대 최대입니다. 기존 제품 중에서 가장 컸던 볼타 V100은 TSMC 12nm 공정으로 815제곱mm에 211억개의 트랜지스터였으나, 다이 크기는 비슷하게 유지하면서 트랜지스터 수를 2배로 늘린 셈입니다. V100이 나왔을 때만 해도 '최신 첨단 노광 장치가 한번에 노출할 수 있는 최대 크기'임을 강조했는데, 거기서 더 커졌습니다. 참고로 게이머를 위한 그래픽카드와 비교하자면 지포스 RTX 2080 Ti에 들어가는 TU102가 754제곱mm에 186억 개의 트랜지스터입니다.

 

4.png

 

A100의 블럭 다이어그램입니다. CPU의 코어에 해당하는 미니 GPU 클러스터인 Graphics Processor Cluster(GPC)가 8개입니다. 다만 이 그림은 A100의 풀 버전을 표시한 것입니다. 반도체 다이가 위 그림대로 나온 건 맞으나, 처음 출시된 A100 제품은 수율을 높이기 위해 GPC 1개를 비활성화합니다. 그리고 A100의 GPC는 개별적으로 작동하는 미니 GPU입니다. Multi-Instance GPU라고도 부릅니다. MIG는 GPC 단위로 독립적인 GPU처럼 작동하며, 가상 머신의 가상 GPU라고도 볼 수 있습니다. 

 

GPU에는 Streaming Multiprocessor(SM)이 다수 탑재됩니다. 타이탄 V의 GV100은 14개, 테슬라 P100의 GP100은 10개, 지포스 RTX 2080 Ti의 TU102는 12개, 그리고 이번에 나온 A100은 GPC 1가당 SM이 16개고 GPC가 8개 있으니 총 128개의 SM이 나옵니다. 지금까지 NVIDIA의 GPU는 제품 세다가 바뀔 때마다 SM당 쉐이더 프로세서(쿠다 코어)의 수도 달라졌습니다. 엠페어 세대의 A100은 볼타, 튜링과 똑같이 SM 1개당 64개의 쿠다 코어를 갖춥니다. 따라서 8 GPC x 16 SM x 64 CUDA 코어로 총 8192개가 나옵니다. NVIDIA 역사상 가장 많은 숫자지요.

 

제품 세대 GPU CUDA 코어의 수 SM 개당 CUDA 코어의 수
테슬라 GT200 240 8
페르미 GF100 512 32
케플러 GK104 1536 192
맥스웰 GM200 3072 128
파스칼 GP102 3840 128
볼타 GV100 5120 64
튜링 TU102 4608 64
암페어 A100 8192 64

 

위에 나왔던 블럭 다이어그램을 보면 GPU에 TPC라는 이름이 등장합니다. 암페어의 스펙을 보면 GPU 1개에 TPC는 8개, TPC 1개에 SM은 2개라는 설명도 있습니다. TPC는 Texture Processing Cluster의 줄임말로 튜링 아키텍처에서도 도입한 개념입니다. GPGPU에서는 Thread Processing Cluster, 그래픽 코드에서는 Texture Processing Cluster로 나눈다고 했지만 지금은 다들 텍스처로 통일했습니다. 

 

TPC는 텍스처 유닛을 공유하는 SM 그룹을 가리킵니다. 이게 와 중요하냐면 SM의 쿠다 코어 수가 GPU 아키텍처에 따라 달라지기에, TPC와 SM 수의 관계에 따른 GPU의 특징을 파악하기가 까다로워지기 때문입니다. 지금까지 NVIDIA GPU에서 TPC 1개당 할당되는 SM의 숫자는 다음과 같았습니다. 

 

테슬라 GT200 : TPC 1개 SM 3개
페르미 GF100 : TPC 1개에 SM 3개
케플러 GK104 : TPC 1개에 SM 1개
맥스웰 GM200 : TPC 1개에 SM 1개
파스칼 GP102 : TPC 1개에 SM 2개
볼타 GV100 : TPC 1개에 SM 2개
튜링 TU102 : TPC 1개에 SM 2개
암페어 A100 : TPC 1개에 SM 2개

 

앞서 말한대로 SM의 쿠다 코어 수는 GPU의 세대에 따라 달라지고, SM 1개당 할당된 텍스처 유닛 수도 변하기에 TPC 1개에 할당되는 SM의 숫자를 따지기 복잡합니다. 그보다는 SM 1개당 들어가는 쿠다 코어와 텍스처 유닛, 그리고 그 비율을 파악하는 게 더 낫습니다. 

 

GPU CUDA 코어 텍스처 유닛 쿠다 코어:텍스처 유닛
테슬라 GT200 8 8 1 : 1
페르미 GF100 32 4 8 : 1
케플러 GK104 192 16 12 : 1
맥스웰 GM200 128 8 24 : 1
파스칼 GP102 128 8 16 : 1
볼타 GV100 64 4 16 : 1
튜링 TU102 64 4 16 : 1
암페어 A100 64 4 16 : 1

 

SM 1개당 쿠다 코어의 숫자는 케플러가 가장 많았고, 이후 계속해서 줄어들었습니다. 다만 파스칼부터 암페어까지의 GPU는 연산 성능과 텍스처 성능의 비율을 16:1로 유지해 왔음을 알 수 있습니다. A100의 쿠다 코어는 8192개지만 실제 출시되는 GA100은 1280개의 쿠다 코어가 비활성화돼 실질적으로 작동하는 쿠다 코어는 6912개입니다. 1280개라면 지포스 GTX 1650 슈퍼 하나 수준이 날라가는 거군요. 어쨌건 8개의 GPC 중 1개를 끄니까 7개의 GPC에서 SM 2x2가 꺼집니다. 그래서 1 GPC x 16 SM x 64 CUDA 코어 = 1024, 4 SM x64 CUDA 코어 = 256개라는 계란이 나옵니다. 

 

5.png

 

SM의 내부 구조로 넘어갑시다. 배정밀도 부동소수점(FP64) 연산은 FP32(쿠다 코어)의 절반이니, 쿠다 코어 전체 숫자의 절반인 4096개가 이론적인 최대 값이 됩니다. 하지만 실제로 출시되는 GA100은 쿠다 코어가 6912개고, 이것의 FP64 연산은 3456개가 됩니다. 단정밀도 부동소수점 연산과 배정밀도 부동소수점 연산의 비율은 이론적으로 2:1입니다. 

 

A100의 내장 추론 가속기인 텐서 코어는 512개입니다. 볼타 세대의 GV100은 640개였으니 다소 줄어들었습니다. GV100이 SM 1개당 텐서 코어가 8개라는 비율이었으나, A100은 SM 1개당 텐서 코어가 4개입니다. 숫자는 줄어도 A100의 텐서 코어 아키텍처를 고쳐 연산 성능은 오히려 향상됐습니다. 

 

GM100의 클럭은 부스트 클럭만 공개됐습니다. 1410Mhz입니다. 베이스 클럭은 공개하지 않았습니다. NVIDIA는 부스트 클럭으로 계속 작동하기에 이게 사실상 베이스 클럭과 같다고 주장합니다. 여기까지를 감안해서 계산하면 A100의 전체 성능은 8192 × 2 OPS × 1410MHz =23.10TFLOPS입니다. 실제로 출시되는 GA100은 코어 수를 줄여서 나오니 6912 × 2 OPS × 1410MHz = 19.49TFLOPS가 됩니다. GPU 1개의 이론적인 최대 성능이 20테라플롭스까지 도달한 것입니다. 

 

6.jpg

 

그래픽 메모리는 2세대 High Bandwidth Memory인 HBM2이며 용량은 48GB입니다. GPU 패키지에 6개의 HBM2 스택이 있고, 각 스택에 8Gbit(1GB)의 다이를 8층 적층한 구조라 매우 비쌉니다. 메모리 인터페이스는 1024비트 x6으로 총 6144비트입니다. 위 그림에서 GPU 옆에 6개의 메모리 칩이 있지요?

 

여기서 재밌는 건 패키지에 장착된 6개의 메모리 스택 중 1개를 비활성화했다는 겁니다. 그러니까 48GB의 HBM2가 패키지에 들어갔는데 실제로 쓰는 건 40GB, 메모리 인터페이스도 1024비트 x5스택의 5120비트입니다. 이것도 수율을 높이기 위한 방법으로 보입니다. GA100에서 HBM2는 8층 메모리 다이를 관통하는 TSV를 사용하는데, 기술적으로 매우 어려운 배선 방법이기도 합니다. 

 

여기에 동작 클럭은 1215MHz, 5120비트 메모리 인터페이스가 DDR(Double Data Rate)로 데이터를 전송하기에 전체 메모리 버스 대역폭은 5120bit × 1215GHz × 2(DDR) ÷ 8(byte) = 1555GB/s가 됩니다. 이것도 업계 최고 수준입니다. 

 

 

진화한 캐시 시스템과 CUDA 11에서 실현한 Async Copy

 

이제 더 깊게 들어가 봅시다. 먼저 캐시 메모리와 공유 메모리입니다. 볼타 세대의 GV100은 SM 1개당 128KB의 L1 캐시와 공유 메모리를 겸하는 초고속 메모리 서브시스템을 탑재합니다. 전용 명령을 통해 이동하며, 128KB의 메모리 중 L1 캐시에 얼마, 공유 메모리에 얼마 할당하는 식으로 유연하게 작동합니다.

 

A100은 아키텍처를 유지하고 용량을 192KB로 늘렸습니다. GV100은 공유 메모리에 할당할 수 있는 용량이 최대 96KB였으나 A100에서 164KB까지 늘었습니다. 164KB라는 어중간한 숫자가 나온 이유는 160KB에 비동기 기술을 위한 4KB까지 더한 숫자입니다. L2 캐시 용량은 GV100의 6MB에서 A100은 6.7배인 40MB로 늘었습니다. 단순히 GPU 아키텍처 변경 때문이 아니라 A100의 새로운 메모리 액세스 모델에 따른 결과입니다. 

 

A100은 최신 버전의 CUDA인 CUDA 11에서 채택한 Asynchronous Copy(비동기 복사)라는 새로운 메모리 액세스 모델을 사용합니다. 비동기 복사는 GPGPU 처리 계통이 앞서 시작한 작업이 끝날때까지 기다리지 않고, 다음에 처리할 데이터 세트를 준비할 수 있는 기능입니다. 

 

7.png

 

왼쪽은 기존의 GPGPU 처리 계통입니다. GPGPU 처리 커널에서 할당된 데이터 처리를 끝낼 때까지 기다리고, 그 다음에야 다음 작업의 데이터 세트를 준비합니다. 오른쪽은 비동기 복사 방식입니다. GPGPU 처리 커널이 작업을 끝내지 않았지만, 그 순간에도 필요한 데이터 세트를 준비합니다. 작업 처리와 데이터 준비(복사)가 동기화되 함께 진행되지 않고, 제각각 따로 움직이기에 비동기 복사라는 이름이 붙습니다.

 

8.png

 

이 기능을 쓰려면 쿠다 11에 새로 추가된 전용 프로그래밍 모델을 써야 합니다. 또 비동기 수행이 가능한 데이터 세트를 준비하기 전까지는 커널을 동기화해야 합니다. 어쨌건 이 방법의 도입에 따라 NVIDIA는 A100의 L1 캐시와 L2 캐시에 비동기 복사 전용 동작 모드를 추가했습니다. 왼쪽이 GV100, 오른족이 A100에서 캐시 액세스의 플로우 차트입니다. GV100 이전에는 그래픽 메모리(DRAM)에서 읽은 데이터를 L2와 L1 캐시에 넣고, 레지스터 파일을 통해 공유 메모리에 전송합니다. A100에서는 비동기 복사를 쓰는 동안에는 L2 캐시에서 직접 공유 메모리에 전송해, L1 캐시의 저장 과정을 생략합니다. 

 

9.png

 

비동기 복사를 쓴다고 해서 L1 캐시가 필요하지 않다는 소린 아닙니다. 저장 과정을 생략할 뿐입니다. GPGPU 처리에선 스트림 처리가 많기에, 데이터가 L1 캐시에 저장될 필요가 없으니 생략해도 됩니다. 또 A100은 비동기 복사를 실행하는 동안 전용 명령을 통해 L2 캐시의 동작을 제어할 수 있습니다. GPGPU 처리 시스템에서 커널이 그래픽 메모리의 데이터를 처리하는 것처럼 보이지만, 실제로는 L2 캐시 데이터를 처리하는 경우가 있습니다. 커널에서 처리를 끝낸 L2 캐시 내용을 그래픽 메모리에 기록(캐시 라이트 백)하는 것입니다. 

 

10.png

 

그런데 특정 GPGPU 처리에선 하나, 혹은 여러 커널이 집중해 특정 메모리 영역을 처리하는 경우가 있습니다. 이 때 하나의 커널이 처리를 끝낼 때마다 다시 쓰기 작업을 하면 불필요한 메모리 버스 대역폭을 소비하고, 다음 커널 역시 같은 메모리 영역을 참조하니까 라이트 백 처리 자체가 필요하지 않습니다. 그래서 A100에선 CUDA 11에서 비동기 복사를 사용할 때 l2 캐시의 내용을 라이트 백하지 않도록 제어가 가능해졌습니다. 

 

11.png

 

NVIDIA는 A100의 L2 캐시 활용도와 액세스 효율을 높이기 위헤 L2 캐시와 쉐이더 코어 사이에는 무손실 압축 기법을 적용하도록 설계했습니다. 이로서 메모리 버스 대역폭과 메모리 용량을 절약합니다. 압축률은 최대 4배로, 데이터의 값에 따라 변합니다. 

 

 

연산 정밀도보다 처리량이 중요. AI에 최적화된 신형 텐서 코어

 

SM 내부의 GPU 코어 부분을 봅시다. 쿠다 코어는 튜링 세대에서 큰 변화가 없습니다. 오히려 텐서 코어가 많이 변했지요. 텐서 코어는 일종의 추론 가속장치로, AI 프로세서라고도 부릅니다. 대단해 보이는 이름이지만 실제로는 행렬의 FMA(Fused Multiply-Add) 연산을 실행하는 유닛입니다. FMA 연산을 AI 학습이나 추론 단계에서 많이 사용하며, 좌표 변환에도 응용할 수 있습니다. 이를 통해 영상이나 음성 신호를 보다 빠르게 처리해 냅니다. 

 

GV100의 1세대 텐서 코어는 1개당 16비트 반정밀도 부동소수점(FP16)의 FMA 연산을 1클럭당 64개를 동시에 실행해냅니다. FP32를 옵션으로 선택할 수 있어 혼합 정밀도(Mixed-Precision) 연산이라고도 부릅니다. 2세대 텐서 코어를 탑재한 튜링 세대의 GPU도 아키텍처는 GV100과 같습니다. 

 

이에 비해 A100에 탭재된 3세대 텐서 코어는 혼합 정밀도의 연산을 1클럭 당 256개 수행할 수 있습니다. SM 1개의 텐서 코어 숫자는 GV100의 8개에서 4개로 줄었으나, 연산 능력은 4배 증가한 셈입니다. 같은 클럭에서 작동한다면 A100의 텐서 코어 성능이 GV100보다 2배 향상됐다는 말도 됩니다.

 

그런데 NVIDIA는 A100의 텐서 코어가 GV100 대비 2.5배 향상됐다고 말하고 있지요. 그럼 이 2.5라는 숫자는 어디서 나온걸까요? 이걸 알려면 GA100과 GV100의 클럭과 SM 숫자를 비교하면 됩니다. GV100은 SM 80개, 클럭 1530MHz입니다. GA100은 SM 108개, 클럭 1410MHz입니다. (108 ÷ 80) × (1410 ÷ 1530) × (텐스 코어 1개당 2배의 성능 향상) = 2.488. 그러니까 2.5배라고 말할 수도 있겠군요.

 

튜링의 2세대 텐서 코어는 INT8, INT4, INT1를 지원합니다. INT8은 8비트 정수(0 ~ 255), INT4는 4비트 정수(0 ~ 15), INT1은(0 또는 1)입니다. INT8은 그렇다 치고 INT4, INT1까지 텐서코어가 지원할 필요가 있나 싶은데요. 머신 러닝의 AI 개발에서는 학습하는 데이터에 따라 취급하는 값의 범위가 바뀌지만, 실제로 쓰는 수의 표현은 그리 많이 필요하지 않는 경우가 있습니다. 정규화된 학습 데이터를 수행하는 추론 처리일수록 그런 경향이 강하기에 INT4와 INT1로도 충분한 분야가 있습니다.  

 

12.png

 

GA100의 텐서 코어는 숫자 형식 외에도 BF16, TF32 같은 새로운 포맷을 지원했습니다. BF16의 B는 Brain으로 학습용 데이터 포맷이란 의미입니다. NVIDIA가 설정한 게 아니라 AI 개발 업계에서 전부터 썼던 것이죠. TF32의 T는 Tensor에서 따온 글자입니다. BF16은 +와 -를 나타내는 1비트, 가수 항을 7비트로 단순화하고 지수를 8비트로 해서 총 16비트의 숫자를 표현합니다. TF32는 1비트 부호, 가수는 반정밀도 부동소수점을 모방한 10비트, 지수를 8비트로 해서 총 19비트입니다.

 

모두 지수를 FP32와 같은 8비트로 해서 AI의 학습 데이터나 신호 데이터의 동적 범위를 넓힙니다. 수치 계산 값의 정밀도보다 기록하는 데이터의 폭을 넓히는 걸 중요하게 여긴 방식입니다. INT4나 INT1과는 반대로, 학습하는 데이터의 다이나믹 레인지가 넓은 경우 BF16이나 TF32가 더 유리합니다. 

 

13.png

 

A100의 구조를 설명하는 문장에서 'A100의 텐서 코어는 총 512개로 볼타의 640개보다 적다'고 말했는데요, A100의 텐서 코어 숫자는 줄었어도 성능은 더 높아졌습니다. 볼타와 튜링의 텐서 코어는 FP16의 행렬 연산을 지원했지만 FP32 행렬 연산은 지원하지 않았습니다. 암페어 세대의 텐서 코어는 기존과는 달리 FP32의 행렬 연산을 지원합니다. 또 암페어 세대의 텐서 코어는 2개의 FP16이나 2개의 BF16 연산을 동시에 수행해 냅니다.

 

A100의 텐서 코어는 내부 연산 정밀도가 FP32가 아닌 TF32에 최적화됩니다. FP32의 데이터를 입출력할 수 있지만 곱셈 계산에선 FP32를 TF32로 바꿔 연산을 수행합니다. 덧셈에서는 FP32 정밀도를 유지합니다. 즉 암페어 세대의 텐서 코어는 19비트 TF32 연산 유닛이 있고, 덧셈의 연산 정밀도를 희생해 FP32연산이 가능한 수준입니다. 또 A100의 19비트 TF32 연산 회로의 규모는 FP32 연산 유닛에 가깝습니다. TF32의 데이터는 레지스터와 메모리 크기도 FP32와 같은 32비트 크기입니다. 

 

Peak FP64 9.7 TFLOPS
Peak FP64 Tensor Core 19.5 TFLOPS
Peak FP32 19.5 TFLOPS
Peak FP16 78 TFLOPS
Peak BF16 39 TFLOPS
Peak TF32 Tensor Core 156 TFLOPS | 312 TFLOPS
Peak FP16 Tensor Core 312 TFLOPS | 624 TFLOPS
Peak BF16 Tensor Core 312 TFLOPS | 624 TFLOPS
Peak INT8 Tensor Core 624 TFLOPS | 1248 TFLOPS
Peak INT4 Tensor Core 1248 TFLOPS | 2496 TFLOPS

 

A100의 주요 연산 값입니다. Peak Tensor Core라면 A100이 갖고 있는 모든 텐서 코어를 활용했을 경우의 성능입니다. 텐서 코어라고 표기하지 않은 항목은 쿠다 코어를 사용한 연산 값입니다. 모든 항목의 클럭은 부스트 클럭입니다. 여기서 TF32 값이 156TFLOPS라고 됐는데 4x4 행렬의 16개 유닛에 FMA 연산을 실행한다 치고 계산하면 155.934TFLOS가 나옵니다. NVIDIA가 발표한 값과 일치하며, FP16, BF16, INT8, INT4는 이것의 두배에 해당하니 굳이 계산할 필요는 없겠습니다. 

 

텐서 코어를 썼을 때 FP64의 이론적인 성능은 19.5TFLOPS가 나옵니다. 쿠다 코어만 사용한 9.7TFLOPS의 2배지만, FP32와 TF32 포맷과 비교하면 1/8 수준입니다. 이는 TF32에 최적화된 연산 유닛의 특성 때문이라고 합니다. FP64는 텐서 코어에서 다루는 포맷 중에서는 우선 순위가 낮기에 이렇게 만들었다고 하네요. 19.5TFLOPS로도 연산 성능은 충분한 편이긴 합니다. 

 

14.png

 

A100의 텐서 코어는 또 다른 개선점이 있습니다. 희소 행렬(Sparse Matrix) 연산의 지원과 최적화입니다. 희소 행렬은 행렬 요소에 0이 많이 들어 있는 행렬입니다. 0의 곱셈은 0이고, 0에 덧셈이나 뺄셈을 수행하는 의미가 없습니다. 그래서 0이 있다면 연산을 무시하고 지나치는 식으로 최적화합니다. 희소 행렬은 머신 러닝과 딥 러닝에 자주 등장하는데요. 다층 신경망에서 학습 주제에 따라 특정 노드 사이의 연결이 필요하지 않는다면 그 노드의 연결을 해제합니다. 이를 가지치기(Pruning)라고 부릅니다. 

 

15.png

 

학습 데이터의 정규화(Normalize)와 양자화(Quantize)도 마찬가지입니다. 크고 작은 값이 섞인 학습 데이터에서 절대 값이 아주 작아 0이라고 판단해도 될 경우, 그 값은 희소 행렬 계산이 자주 발생합니다. 이렇게 희소 행렬의 최적화 대비는 최근의 학습/추론 가속 장치의 트렌드이며, A100도 여기에 맞췄습니다. A100은 2 out of 4 패턴, 즉 4개의 요소 중 2개가 0이 아닌 실효 값을 가진 행렬 계산을 지원합니다. 희소 행렬은 4개 중 어디가 0인지를 나타내는 4비트 인덱스 비트(보라색 Non-zero indices)와 함께 표현합니다. 그럼 2out 4 패턴의 4요소 희소 행렬 계산은 기존 방식의 절반 수준에 해당되는 연산 유닛만 있으면 되니, 전체 처리량은 2배가 됩니다. 

 
  V100 A100 A100 Sparsity A100 Speedup A100 Speedup with Sparsity
A100 FP16 vs V100 FP16 (TFLOPS) 31.4 78 N/A 2.5배 N/A
A100 FP16 TC vs V100 FP16 TC (TFLOPS) 125 312 624 2.5배 5배
A100 BF16 TC vs V100 FP16 TC (TFLOPS) 125 312 624 2.5배 5배
A100 FP32 vs V100 FP32 (TFLOPS) 15.7 19.5 N/A 1.25배 N/A
A100 FP32 TC vs V100 FP32 (TFLOPS) 15.7 156 312 10배 20배
A100 FP64 vs V100 FP64 (TFLOPS) 7.8 9.7 N/A 1.25배 N/A
A100 FP64 TC vs V100 FP64 (TFLOPS) 7.8 19.5 N/A 2.5배 N/A
A100 INT8 TC vs V100 INT8 (TOPS) 62 624 1248 10배 20배
A100 INT4 TC (TOPS) N / A 1248 2496 N/A N/A
A100 Binary TC (TOPS) N / A 1248 2496 N/A N/A

 

A100의 희소 행렬 계산 최적화를 사용했을 경우의 성능을 비교한 표입니다. TC는 텐서 코어를 쓴 연산을 의미합니다. A100과 A100 Sparsity(A100의 희소 행렬 계산 최적화 이론 값)을 비교하면 딱 2배입니다. 텐서 코어를 사용한 희소 행렬 계산의 최적화 이론 값은 FP64와 INT1을 지원하지 않습니다. INT1은 0과 1밖에 없는 이진 값이니 더 이상 단순하게 줄일 수가 없겠고, FP64를 지원하지 않는 건 눈여겨 볼만한 부분입니다. 

 

 

A100을 7개의 GPU처럼 사용하는 MIG 모드

 

A100의 새 기능 중에는 MIG(Multi-Instance GPU)가 있습니다. A100의 8개 GPC(GA100에서는 7개)를 저마다 독립된 GPU로 작동시키는 기술입니다. MIG는 슈퍼컴퓨터와 데이터센터에서 가상 머신을 더욱 효율적으로 운용하기 위해서 도입됐습니다.

 

17.png

 

파스칼 이전의 NVIDIA GPU는 가상 머신에서 1개의 물리 GPU만 소프트웨어 가상화가 가능했습니다. 따라서 여러 사용자(여러 가상 머신)이 보낸 GPU 작업을 소프트웨어 처리로 싱글 GPU 작업인 것처럼 GPU에 보내고, 그 결과를 소프트웨어가 나눠서 반송합니다. 볼타부터는 하드웨어 지원을 통해 여러 가상 머신이 실행한 GPU 작업을 태그해 보냄으로서 그대로 GPU에서 처리할 수 있게 바뀌었습니다. 처리가 끝난 순서대로 가상 머신에 반환하기에 결과적으로 성능도 오릅니다. 

 

18.png

 

볼타 이후의 GPU 가상화를 통해 큰 문제가 해결됐지만 여전히 문제가 남아 있습니다. 각각의 가상 머신에서 메모리와 캐시 사용이 크게 차이가 날 경우, 하나의 작업에서 메모리 버스를 많이 사용하면 다른 가상 머신에서 GPU 캐시를 제대로 쓰지 못하게 됩니다. 그래서 NVIDIA는 GA100에서 7개의 GPC를 최대 7개의 물리적인 GPU처럼 쓸 수 있도록 MIG를 구현했습니다.

 

19.png

 

7개의 GPC 할당 범위를 바꿀 수 있어, 3개의 가상 머신에 4개, 2개, 1개 같은 식으로 나누는 것도 가능합니다. 가상 머신의 사용자 계약이나 처리량에 따라서 GPC 할당을 자유롭게 바꾸는 것입니다. 덕분에 다른 가상 머신에서 메모리나 캐시를 어떻게 사용하던 영향을 주지 않습니다. 

 

다만 MIG는 GPGPU 전용 기능이라 일부 사용 제한이 있습니다. A100 뿐만 아니라 최근의 NVIDIA GPU는 그래픽 처리와 GPGPU 처리를 함께 담당하는 파이프라인이 1개 있고, 그 외의 파이프라인은 모두 GPGPU 처리 전용 파이프라인입니다. GA100에는 7개의 파이프라인이 있으나, MIG 모드에선 모든 파이프라인이 GPGPU 전용이 됩니다. 따라서 MIG 모드의 GA100은 GPGPU 전용 GPU가 되버리며 그래픽 렌더링은 실행하지 못합니다. 또 MIG 모드와 일반 싱글 GPU 모드로의 전환에는 재설정이 필요합니다. 

 

 

NVIDIA GPU 최초의 PCIe 4.0 지원 

 

GA100과 함께 NVIDIA는 NVLink 인터커넥트를 강화했습니다. CPU와 GPU, GPU와 GPU 사이를 연결하는 NVIDIA 전용 버스로 파스칼에서 처음으로 도입, 볼타에서 2세대, A100에서 3세대로 발전했습니다. 3세대 NVLink는 차동 전송 기술(Differential Signaling)을 사용해 전송 레인의 대역폭을 두배로 늘리돼 1링크의 신호 선은 절반으로 줄였습니다. 

 

튜링 세대 이전의 NVLink는 1레인 당 대역폭이 단방향 25Gbps(3.125GB/s)입니다. 이걸 8개 묶어서 NVLink 1링크를 구성하며, 링크 당 8레인 x2(상행/하행)으로 구성되기에 1링크의 대역폭은 양방향 모두 따져서 3.125GB/s(25Gbps)×8레인×2=50GB/s가 나옵니다. 

 

암페어의 NVLink는 싱글 엔드 전송에서 클럭을 높이는데 유리한 차동 전송 기술을 도입해 1레인 전송 속도를 두배로 늘렸습니다. 따라서 링크당 4레인 x2라는 동일 구성에서 50GB/s가 나옵니다. 실질적인 신호 선을 줄일 수 있기에 링크를 늘리는 것도 가능합니다. 볼타 GV100은 6링크, 튜링 TU102는 2링크, TU104는 1링크지만 GA100은 12링크입니다. 

 

최근 NVIDIA GPU의 양방향 NVLink 대역폭입니다. 튜링은 그래픽용 GPU고, 병렬 GPU도 쓰지 않기에 대역폭이 넓진 않습니다. 그에 비해 GPGPU 전용인 GV100과 GA100의 대역폭은 대단히 높습니다. 

 

GV100 : 300GB/s
TU102 : 100GB/s
TU104 : 50GB/s
GA100 : 600GB/s

 

20.png

 

GA10은 12링크 구성의 NVLink를 통해 다른 GA100과 연결합니다. A100과 동시에 발표된 슈퍼컴퓨터, DGX A100은 8개의 GA100을 탑재하며 각각의 GA100은 GPU 인터커넥트인 NVSwitch를 6개 써서 연결합니다. 8개의 GA100가 NVSwitch와 NVLink를 통해 연결되는 구조입니다. NVSwitch는 GPU와 GPU 사이의 연결과도 같습니다. 

 

DGX A100에 탑재된 NVSwitch는 A100에 맞춰 새로 설계했습니다. 8개의 A100을 연결하기 위해 NVLink 16링크를 넣었는데요. 그렇다면 50Gbps × 2(양방향) × 4레인 × 16링크 = 6400Gbps(800GB/s)의 전송 대역폭이 나옵니다. 또 NvSwitch로 연결된 GA100 8개의 전송 대역폭을 계산한다면 800GB/s ÷ (NVSwitch 16링크 ÷ GA100 12링크) = 600GB/s가 나옵니다. GA100이 지닌 NVLink 대역폭과 일치합니다. 

 

NVIDIA는 3세대 NVLink에서 전송 성능이 향상됐을 뿐만 아니라 오류 수정과 GPU 동기화를 쉽게 진행하기 위해 개선하고, 송수신 가능한 명령의 제한도 풀었다고 설명합니다. 그리고 GA100은 NVIDIA GPU 최초로 PCIe 4.0을 지원하기도 합니다. 그리고 I/O 가상화 기술인 SR-IOV도 지원해 가상 머신 시스템에 최적화했습니다.

 

 

암페어 기반 지포스가 출시될까?

 

2019년엔 NVIDIA의 플래그쉽 GPU가 나오지 않았습니다. 이번에 나온 A100은 오래간만의 GPU 아키텍처입니다. 거기에 거대하기까지 하지요. 826제곱mm의 크기에 542억 개의 트랜지스터를 넣었습니다. 하지만 이 암페어 아키텍처의 칩이 지포스나 타이탄으로 출시될 가능성은 낮아 보입니다. GA100은 실시간 레이 트레이싱 처리를 위한 RT 코어와 비디오 인코더인 NVENC를 내장하지 않았기 때문입니다. GA100 같은 비싼 칩으로 그래픽카드를 만들었는데 하드웨어 레이 트레이싱 유닛이 없다면? 그건 말이 안되죠.

 

21.jpg

 

NVIDIA는 GA100의 생산을 통해 7nm 공정을 활용하는 노하우를 터득해 나갈 겁니다. 따라서 암페어를 통해 차세대 하이엔드 GPU가 어떤 모습일지를 예측할 수 있는데요. 볼타 세대의 GV100은 12nm 공정에 210억 개의 트랜지스터와 815제곱mm의 다이 크기, 5120개의 쿠다 코어를 지녔습니다. GA100은 7nm 공정에 542억 개의 트랜지스터와 826제곱mm의 다이 크기에 6912개의 쿠다 코어(풀 스펙은 8192개)를 지닙니다. 다이 크기가 같다고 치면 제조 공정의 개선을 통해 트랜지스터 수는 2.58배, 쿠다 코어는 1.6배 늘어났다는 말이 됩니다. 

 

현재 하이엔드 GPU인 지포스 RTX 2080 Ti의 TU102는 GV100과 같은 12nm 공정으로 만들었으며 다이 크기는 754제곱mm, 트랜지스터 수는 186억개, 쿠다 코어는 4608개입니다. 7nm 공정으로 754제곱mm의 칩을 만든다면 트랜지스터 수는 186억 개의 2.58배인 480억개까지도 가능해 보입니다. 마찬가지로 쿠다 코어의 수는 4608개에서 1.6배 늘어난 7372개가 됩니다. 64배수라고 치면 7296개고요. GA100과 똑같이 GPU 클럭이 1.4GHz라고 치면 성능은 20TFLOPS가 나옵니다. 지포스는 GPC를 1개 비활성화해 수율을 확보하니 쿠다 코어를 6272개로 줄였다 치고, 그럼 17.5TFlOPS의 성능이 나옵니다. 어느 쪽이 됐건, 차세대 지포스는 올해 하반기에 출시됩니다 



  • ?
    미주 2020.06.18 01:03
    신공정에 엄청난 면적에 엄청난 인터커넥트까지 다 때려박고...바쌀 요소를 다 가지고 나서도 일부 면적을 비활성화(라 쓰고 낭비라 읽는다) 한걸 보면 가격이 엄청날거 같군요
  • profile
    냐아      (대충 좋은 소리) 2020.06.18 01:08
    대체 몇 암페어를 먹길래 코드명이 암페어인가....
    아마 12V 기준 300W를 먹으면 25A를 먹으니 (후략)
  • ?
    고자되기 2020.06.18 01:10
    [NVIDIA Geforce XTX 3080Ultra 이벤트 신청]
  • profile
    title: 민트초코미쿠미쿠 2020.06.18 01:25
    이야 엄청나네요. 그야말로 괴물이군요. HBM2 스택이 미래적인 느낌이네요.
    정성들인 글 잘봤습니다!
  • profile
    GENESIS      쪼렙이에요 2020.06.18 02:51
    확실히 더 비싸지겠네요
  • profile
    TundraMC      자타공인 암드사랑/GET AMD, GET MAD. Dam/컴푸어 카푸어 그냥푸어/니얼굴사... 2020.06.18 05:32
    이런거 보면 진짜 암드는 자율주행 시장 진입도 못해보고 끝나겠어요.
  • profile
    유우나      7460 2020.06.18 05:38
    좋아보이긴 하는데 구미가 당기진 않는군요
  • ?
    하늘군군 2020.06.18 08:33
    비싼 소재와 공정은 다 집어넣어놨고 수율도 똥망일 것 같고..
    가격은.. 아.. 안드로메다인가.. ㅎㅎ 저거야 전문영역의 카드니까 그렇다 치고..

    저걸 바탕으로 그래픽카드에서 얼마나 쳐내고 나올 것인가.. 그게 우리한테는 더 중요할 것 같네요 ㅎㅎ
  • profile
    군필여고생쟝- 2020.06.18 09:21
    int1을 기계적으로 지원하는군요,,, relu땜에 쓰는건가요? 희소행렬 최적화도 대단하네여
  • ?
    퉁퉁이 2020.06.20 19:39
    Binary Neural Network라고 weight가 1bit인 뉴럴넷도 사용됩니다.
  • profile
    군필여고생쟝- 2020.06.20 20:24
    그런 신경망에 쓰이는거군요 감사합니다
  • profile
    Precompile 2020.06.18 09:27
    암페어 타이탄은 한 6천코어 정도로 나올까요...

작성된지 4주일이 지난 글에는 새 코멘트를 달 수 없습니다.


  1. 와사비망고 DP 케이블 분해기

    에일리언웨어 모니터 사용기 3편을 쓰던 중, DP 케이블의 고질병인 화면 깜빡임 문제가 발생하여 교체용 케이블을 몇 개 주문했습니다.   이 문제의 주요 원인 중 하나로 지목받는것은 20번 핀이 살아있어서 생기는 역전류 문제인데요. 현...
    Date2020.03.20 분석 ByAstro Reply9 Views2070 file
    Read More
  2. 샤오미 USB 3.0 허브 XMFXQ01QM 분해

    샤오미 USB 3.0 허브 XMFXQ01QM의 분해 사진입니다. USB 3.0 포트 4개, USB-C 전원 공급 가능, 케이블 길이 0.24m, 크기 89x23.6x18.5mm, 무게 33g. 4가지 기능을 표시. 개봉 허브와 설명서 USB-A 케이블이 달린 허브입니다. 케이스 재질...
    Date2020.03.07 분석 By낄낄 Reply7 Views2520 file
    Read More
  3. AMD 젠 2 CPU 코어의 실제 모습이 공개

    AMD는 국제 반도체 학회 ISSCC(IEEE International Solid-State Circuits Conference) 2020에서 젠 2 코어의 구현에 대해 강연했습니다. Zen 2 : The AMD 7nm Energy-Efficient High-Performance x86-64 Microprocessor Core(T. Singh, e...
    Date2020.03.03 분석 By낄낄 Reply1 Views3647 file
    Read More
  4. ISSCC 2020: AMD 젠 2 프로세서의 CPU 코어와 칩렛 기술

    ISSCC 2020에서 AMD가 시연한 젠 2 프로세서의 액체 질소 쿨링 벤치마크. AMD는 차세대 마이크로 프로세서인 젠2 CPU 코어 기술과 칩렛 기술을 반도체 회로 기술의 국제학회인 ISSCC 2020에서 발표했습니다. 2020년 2월 17일의 발표는 2...
    Date2020.02.21 분석 By낄낄 Reply2 Views3177 file
    Read More
  5. 현대 PC에서 DOS 부팅 USB를 통해 MS-DOS 사용하기

    제가 쓰는 노트북은 Vaio P로, 뛰어난 디자인과 완성도 but 그지같은 성능으로 인해 용도가 지나치게 한정된 제품이죠.    일반적으로 '컴퓨터의 성능' 을 일상생활 속에서 평가한다면, 평가에 대한 기준은 컴퓨터 프로세서의 절대적인 연...
    Date2020.02.03 분석 By우즈 Reply21 Views2167 file
    Read More
  6. UGREEN USB-C 멀티포트 어댑터 CM260 분해

    UGREEN USB-C 멀티포트 어댑터 CM260의 분해 사진입니다. UGREEN의 멀티포트 어댑터를 한국에서 쓰는 분들이 은근히 많아서 하나 소개해 봅니다. 뒷면의 제품 정보. 포장. 보증서와 설명서. 샌딩 처리된 케이스로 지문이 잘 묻지 않습니...
    Date2020.01.31 분석 By낄낄 Reply11 Views2232 file
    Read More
  7. No Image

    메모리의 발전과 컴퓨팅의 미래

    요 아래 나온 인텔의 MRAM 기술개발 소식( https://gigglehd.com/gg/6517977 )과 같이, 현재 대부분의 반도체 회사들은 계속해서 PRAM, MRAM등의 차세대 매모리를 개발하고 있습니다. 하지만 일반 소비자 입장에서는 지금 당장 사용하질 ...
    Date2020.01.27 분석 Bytitle: 흑우Moria Reply26 Views3333
    Read More
  8. No Image

    EVGA의 RTX 2060 KO, RTX 2070 SUPER과 비슷한 성능?

    유튜버인 Gamers Nexus에 따르면 EVGA RTX 2060에 들어간 칩셋이 TU104라서 RTX 2070 Super과 비슷한 성능을 낸다고 하는군요
    Date2020.01.24 분석 Bytitle: 민트초코라데온HD6950 Reply4 Views1235
    Read More
  9. Ryzen 7 4800U의 내장 그래픽, MX250보다 강력?

    (단순 중국어 번역문입니다)   차세대 Ryzen 4000U 시리즈 프로세서가 Zen2 아키텍처의 CPU 코어를 예상대로 사용했지만 GPU는 여전히 Vega 아키텍처에 다소 실망했습니다. 또한 Vega 10에서 Vega 8로 축소되어 2 세트의 컴퓨팅 장치를 거...
    Date2020.01.15 분석 Bytitle: 민트초코라데온HD6950 Reply19 Views9056 file
    Read More
  10. 다들 아시겠지만 축교환 기계식 키보드 주의점

    요즘 축교환 키보드가 흔합니다. 3년 전에는 드물었는데 지금은 개나소나 달고 나오죠.   보통은 이렇게 소캣이 ㅇ형태입니다. 이 경우 오테뮤 말고는 호환이 거의 안 됩니다. 오테뮤 축이 유난히 핀이 굵더군요.  반면 -형태의 소캣은 호...
    Date2020.01.11 분석 Bytitle: 부장님호무라 Reply17 Views7189 file
    Read More
  11. 2019년 SSD 성능 순위

    (단순 중국어 번역문입니다)   1 월 9 일 뉴스, Master Lu는 2019 년 하드 드라이브 성능 순위를 발표했으며, 삼성 PM981은 "가장 강력한 하드 드라이브"를, Kingston SA400S37 240GB는 "가장 인기있는 하드 드라이브"를 획득했습니다. 성...
    Date2020.01.10 분석 Bytitle: 민트초코라데온HD6950 Reply19 Views6046 file
    Read More
  12. 2019년 RAM 성능 순위

    (단순 중국어 번역문입니다)   Master Lu는 연간 PC 프로세서 목록 외에도 2019 년 PC 메모리 순위를 오늘 발표했습니다. 목록에서 8GB는 여전히 PC 플레이어의 첫 번째 선택입니다. 그중 Zhiqi DDR4 4266MHz 8GB는 올해 가장 강력한 메모...
    Date2020.01.10 분석 Bytitle: 민트초코라데온HD6950 Reply9 Views3155 file
    Read More
  13. 2019년 CPU 성능 순위

    (단순 중국어 번역문입니다)   1 월 8 일, 마스터 루는 2019 년 PC 프로세서 순위를 발표했습니다. 이 목록은 2018 년 연례 성능 챔피언십에 이어 32 개의 코어와 64 개의 스레드를 갖춘 AMD Ryzen Threadripper 2990WX가 다시 한 번 PC ...
    Date2020.01.10 분석 Bytitle: 민트초코라데온HD6950 Reply3 Views8222 file
    Read More
  14. 2019년 그래픽 카드 성능 순위

    (단순 중국어 번역문입니다)   이 목록은 NVIDIA TITAN RTX가 성공적으로 우승했으며 상위 5 개는 모두 N 카드이며 A 카드는 상위 5 개가 아닙니다.     마스터 Lu는 RTX 2080 Ti의 고급 버전으로서 NVIDIA TITAN RTX는 동일한 TU102 코어...
    Date2020.01.10 분석 Bytitle: 민트초코라데온HD6950 Reply8 Views2734 file
    Read More
  15. 스팀에서의 AMD 그래픽 카드 vs 엔비디아 그래픽 카드 점유율 비교 +a

    (단순 중국어 번역문입니다)   Steam은 사용자의 하드웨어 및 소프트웨어 데이터에 대한 월간 설문 조사를 실시하지만 설문 조사는 사용자의 의지를 기반으로하지만 Steam 플레이어의 전체 하드웨어 및 소프트웨어 상황을 반영 할 수는 없...
    Date2020.01.07 분석 Bytitle: 민트초코라데온HD6950 Reply22 Views3824 file
    Read More
  16. 애플 맥 프로 2019 분해 사진

    애플 맥 프로 2019의 분해 사진입니다. 인텔 8코어 제온 프로세서, 부스트 클럭 4GHz, 24.5MB L3 캐시 8GB DDR4-2666MHz ECC 메모리 4개 라데온 프로 580X 8GB GDDR5 256GB PCIe 플래시 스토리지 802.11ac WiFi, 블루투스 5.0 미국 텍사...
    Date2019.12.17 분석 By낄낄 Reply27 Views5907 file
    Read More
  17. VLSI: 무어의 법칙 3단계. 멀티 다이로 구성된 모듈화

    작은 칩을 모아 큰 칩을 만든다 무어의 법칙은 3단계가 있습니다. 여러 다이로 구성된 칩을 만드는 모듈화, 칩 설계의 완전 자동화까지 앞으로 반도체 칩이 나아갈 방향은 이 3단계에서 이루어진다고 예측합니다. 지금까지는 반도체 칩의 ...
    Date2019.10.07 분석 By낄낄 Reply10 Views2555 file
    Read More
  18. No Image

    SSD 데이터 복구의 어려움. 스마트폰은 복구가 거의 불가능

    일본 데이터 복구 협회가 진행한 데이터 복구 활동 발표회의 내용을 간추렸습니다. 현재 SSD의 출하량은 크게 늘어나고 있습니다. 2015년에는 전세계 8천만대도 팔리지 않았으나 2018년에는 1억 6715만대로 늘어났습니다. 하드디스크는 4...
    Date2019.09.22 분석 By낄낄 Reply18 Views5234
    Read More
  19. 타오바오 NAS는 왜 저렴하게 판매되는가?

    아무리 생각해도 이렇게 저렴할 이유가 없는데, 가진 스펙에 비해 타오바오 NAS는 너무 저렴하게 판매되고 있었습니다. 중고라고 쳐도, 이 많은 물량은 어디에서 온 것일까요? 그래서 조금 더 파보니 가상화폐 채굴에 사용되었다가 나온 ...
    Date2019.08.31 분석 Bytitle: 흑우Moria Reply41 Views35559 file
    Read More
  20. 부동 소수점 연산. 단정밀도와 배정밀도의 차이

    계산식의 자리수를 억제. 부동 소수점 컴퓨터는 숫자를 연산할 때 정수 연산과 소수 연산의 2가지로 나눠 구현합니다. 이건 '처리해야 하는 숫자의 자리수'가 매번 다르기 때문입니다. 정수는 보통 10자리 정도면 충분합니다. 대...
    Date2019.08.12 분석 By낄낄 Reply15 Views13321 file
    Read More
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 Next
/ 11

최근 코멘트 30개
아라
15:06
슈베아츠
15:04
조마루감자탕
15:04
이수용
15:00
조마루감자탕
15:00
조마루감자탕
15:00
애플마티니
14:58
극한
14:56
AKG-3
14:52
까마귀
14:52
까마귀
14:50
까마귀
14:49
고자되기
14:47
린네
14:46
카토메구미
14:41
파란화면
14:41
까마귀
14:38
ExyKnox
14:38
아이들링
14:37
고자되기
14:36
폴짝쥐
14:34
파란화면
14:30
야생감귤
14:29
카토메구미
14:29
야생감귤
14:29
AiryNyan
14:28
야생감귤
14:27
야생감귤
14:26
피자피자
14:24
까마귀
14:22

한미마이크로닉스
MSI 코리아
더함
AMD

공지사항        사이트 약관        개인정보취급방침       신고와 건의


기글하드웨어는 2006년 6월 28일에 개설된 컴퓨터, 하드웨어, 모바일, 스마트폰, 게임, 소프트웨어, 디지털 카메라 관련 뉴스와 정보, 사용기를 공유하는 커뮤니티 사이트입니다.
개인 정보 보호, 개인 및 단체의 권리 침해, 사이트 운영, 관리, 제휴와 광고 관련 문의는 이메일로 보내주세요. 관리자 이메일

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소