CUDA 코어와 Tensor 코어의 차이점은 무엇입니까? (설명) – 모든 차이점

 CUDA 코어와 Tensor 코어의 차이점은 무엇입니까? (설명) – 모든 차이점

Mary Davis

CUDA 및 Tensor 코어는 Nvidia라는 회사에서 개발한 제품입니다. 그렇다면 CUDA 코어와 Tensor 코어는 무엇입니까? CUDA는 Compute Unified Device Architecture의 약자입니다. CUDA 코어는 Nvidia 개발자가 말했듯이 GPU, 스마트폰, 심지어 자동차에도 있습니다.

CUDA 코어는 소프트웨어가 범용 처리를 위해 특정 유형의 그래픽 처리 장치(GPU)를 사용할 수 있도록 하는 병렬 컴퓨팅 플랫폼 및 API(응용 프로그래밍 인터페이스)입니다.

반면 Nvidia에서 개발한 텐서 코어도 GPU에 사용됩니다. Tensor 코어는 정확도를 유지하면서 처리량을 늘리기 위해 동적으로 계산을 조정하여 혼합 정밀도 컴퓨팅을 가능하게 합니다.

간단히 말해서 이러한 코어는 특정 계산을 수행하기 위해 PC에서 GPU의 중요한 부분입니다. CUDA 코어는 두 숫자를 곱하고 다른 숫자에 더하는 데 사용됩니다.

Tensor 코어는 동일하지만 4×4 매트릭스를 사용합니다. 이러한 계산은 기본적으로 그래픽을 더 빠르게 렌더링합니다.

CUDA란?

2007년 6월 23일에 출시된 Nvidia에서 개발한 CUDA의 Compute Unified Device Architecture는 병렬 컴퓨팅 플랫폼이자 API(애플리케이션 프로그래밍 인터페이스)입니다.

그 소프트웨어가 범용 컴퓨팅으로 알려진 방법인 범용 처리를 위해 특정 유형의 그래픽 처리 장치(GPU)를 사용할 수 있도록 합니다.GPU(GPU).

CUDA는 컴퓨팅 커널 실행을 위해 GPU의 가상 명령어 세트 및 병렬 계산 요소에 대한 직접 액세스를 제공하는 소프트웨어 계층입니다. CUDA는 C, C++ 및 Fortran을 비롯한 다양한 프로그래밍 언어와 함께 작동하도록 개발되었습니다.

다른 프로그래밍 언어로 작업할 수 있는 기능은 Direct3D 또는 OpenGL과 같은 이전 API와 차별화되는 경우 병렬 프로그래밍 전문가가 GPU 리소스를 보다 쉽게 ​​사용할 수 있도록 합니다. 그래픽 프로그래밍의 기술 기반.

CUDA를 사용하는 GPU는 OpenMP, OpenACC, OpenCL 및 이러한 코드를 CUDA로 컴파일할 수 있는 HIP와 같은 프로그래밍 프레임워크도 지원합니다. CUDA에 사용된 첫 번째 이름은 Compute Unified Device Architecture의 약어였습니다. 그러나 Nvidia는 나중에 일반적으로 사용되는 약어를 삭제했습니다.

강력한 Nvidia 그래픽 카드 GTX 1080 Ti

CUDA에 대한 추가 정보

전문 컴퓨터 프로세서인 그래픽 처리 장치(GPU)는 실제 요구 사항을 충족합니다. -시간, 컴퓨팅 집약적인 3D 그래픽 워크로드.

약 2012년 GPU가 진화하여 큰 블록에 대한 효과적인 데이터 처리를 가능하게 하는 고도의 병렬 멀티 코어 시스템이 되었습니다.

대량의 데이터 블록을 병렬로 처리할 때 이 설계는 다음과 같은 알고리즘용 범용 중앙 처리 장치(CPU)보다 우수합니다.

  • 암호화 해시기능
  • 머신 러닝
  • 분자 역학 시뮬레이션
  • 물리 엔진
  • 정렬 알고리즘

CUDA 아키텍처의 사용 현재 및 향후

  • 3D 그래픽의 렌더링 가속화
  • 동영상 파일 형식의 상호 변환 가속화
  • 암호화, 복호화 및 압축 가속화
  • 생물 정보학, 예: NGS DNA 시퀀싱 BarraCUDA
  • 분산 계산, 예: 단백질의 기본 형태 예측
  • 의료 분석 시뮬레이션, 예: CT 및 MRI 스캔 이미지를 기반으로 한 가상 현실
  • 물리적 시뮬레이션, 특히 유체 역학
  • 기계 학습 문제에 대한 신경망 교육
  • 얼굴 인식
  • [email protected] 및 기타 프로젝트와 같은 분산 컴퓨팅 프로젝트 BOINC
  • 분자 역학
  • 암호화폐 채굴
  • SfM(Structure from motion) 소프트웨어

Tensor Core란?

텐서 코어라고 하는 특수 코어는 혼합 정밀도 교육을 허용합니다. 이러한 특수 코어의 초기 세대는 융합된 곱셈-덧셈 알고리즘을 사용하여 이를 수행합니다. 이렇게 하면 두 개의 4 x 4 FP16 행렬을 4 x 4 FP16 또는 FP32 행렬에 곱하고 더할 수 있습니다.

궁극적인 결과는 약간의 정밀도 손실만 있는 FP32가 될 것입니다.입력 행렬은 정밀도가 낮은 FP16일 수 있습니다.

실제로 이렇게 하면 모델의 최종 효율성에 거의 영향을 미치지 않으면서 계산 속도가 크게 빨라집니다. 이 용량은 이후의 마이크로아키텍처에 의해 훨씬 덜 정확한 컴퓨터 숫자 표현으로 확장되었습니다.

V100부터 Volta 마이크로아키텍처와 함께 1세대가 도입되었으며, 세대가 지날 때마다 새로운 GPU 마이크로아키텍처로 계산에 더 많은 컴퓨터 숫자 정밀도 형식을 사용할 수 있게 되었습니다.

Tensor Core의 용량과 기능이 각 마이크로 아키텍처 세대에 따라 어떻게 변경되고 개선되었는지는 다음 섹션에서 설명하겠습니다.

Titan V로 만든 그래픽 렌더링 이미지

Tensor 코어는 어떻게 작동합니까?

1세대:

Volta GPU 마이크로아키텍처는 1세대 Tensor 코어에 포함되었습니다. 이러한 코어를 통해 혼합 정밀도와 FP16 숫자 형식으로 훈련할 수 있습니다.

특정 GPU의 경우 teraFLOP 처리량이 최대 12배 향상될 수 있습니다. 최상위 V100의 640개 코어는 이전 세대의 Pascal GPU보다 최대 5배 향상된 성능 속도를 제공합니다.

2세대:

Turing GPU의 도입과 함께 2세대 Tensor Core가 도입되었습니다. Int8, Int4 및 Int1이 지원되는 Tensor Core 정밀도 목록에 추가되었습니다.이전에는 FP16으로 제한되었습니다.

혼합 정밀 훈련 절차로 인해 GPU의 성능 처리량이 Pascal GPU에 비해 ​​최대 32배 증가했습니다.

3세대:

Ampere GPU의 아키텍처는 FP64, TF32 및 bfloat16 정밀도에 대한 지원을 추가하여 Volta 및 Turing 마이크로 아키텍처의 이전 개선 사항을 확장합니다.

딥 러닝 교육 및 추론 활동은 이러한 초정밀 형식으로 훨씬 더 가속화됩니다. 예를 들어 TF32 형식은 FP32와 유사하게 작동하는 동시에 코드를 변경하지 않고도 최대 20배의 속도 향상을 보장합니다.

또한보십시오: Jordans와 Nike의 Air Jordans의 차이점은 무엇입니까? (발의 디크리) – 모든 차이점

그런 다음 몇 줄의 코드만으로 자동 혼합 정밀도 구현으로 학습 속도를 2배 더 높일 수 있습니다.

매우 빠른 다중 GPU 상호 작용을 가능하게 하는 3세대 NVLink, 3세대 레이 트레이싱 코어 및 희소 행렬 수학을 통한 전문화는 Ampere 마이크로아키텍처 의 추가 측면입니다.

4세대:

Hopper 마이크로아키텍처 기반 4세대 Tensor 코어의 향후 릴리스가 계획되어 있습니다. 2022년 3월에 출시될 예정인 차세대 H100.

의 4세대 Tensor 코어는 FP8 정밀 형식을 처리할 수 있으며 NVIDIA에 따르면 거대한 언어 모델을 "놀라운 30배" 가속화할 것입니다. 이전 세대보다.”

RTX 그래픽 카드는텐서 코어가 포함되어 있어 그래픽을 매우 빠르게 렌더링하는 데 사용됩니다.

또한보십시오: 레오파드와 치타 프린트의 차이점은 무엇입니까? (차이점 설명) – 모든 차이점

CUDA 코어와 텐서 코어의 차이점

텐서 코어는 현재 Titan V 및 Tesla V100으로 제한됩니다. 두 GPU의 5120 CUDA 코어는 GPU 클록(예: Tesla V100 PCIe 주파수는 1.38Gz)당 단정밀도 다중 누적 작업(예: fp32: x += y * z)의 최대 용량을 가집니다.

각 텐서 코어는 작은 행렬에 대해 4×4 작은 행렬에서 작동합니다. 하나의 GPU 클럭당 각 텐서 코어는 하나의 행렬 곱셈 누적 작업을 완료할 수 있습니다.

두 개의 4×4 FP16 행렬을 곱하고 4×4 FP32 행렬을 추가하여 누산기(즉, fp32 4×4 행렬)를 만듭니다.

입력 행렬이 fp16이고 곱셈 결과와 누산기가 fp32이기 때문에 알고리즘을 혼합 정밀도라고 합니다.

정확한 용어는 "4×4 매트릭스 코어"일 가능성이 높지만 NVIDIA 마케팅 팀은 "텐서 코어"를 사용하기로 했습니다.

Tensor 코어 요약 설명

GPU 카드 CUDA 코어 VRAM
GeForce GTX 1660 Ti 1536 6GB
지포스 GTX 1660 슈퍼 1408 6GB
지포스 GTX 1660 1408 6GB
GeForce GTX 1650 Super 1408 4GB
GeForce GTX 1650 1024 및896 4GB
GeForce GTX 1060 3GB 1280 4GB
지포스 GTX 1650 1280 3GB
지포스 GTX 1060 6GB 768 6GB
지포스 GTX 1050 Ti (3GB) 768 4GB
지포스 GTX 1050 (2GB) 640 3GB
GeForce GTX 960 1024 2GB
지포스 GTX 950 786 2GB
지포스 GTX 780 Ti 2880 2GB
지포스 GTX 780 2304 3GB
지포스 GTX 750 Ti 640 2GB
GeForce GTX 750 512 1GB 또는 2GB

CUDA 코어를 포함하는 GPU

결론

  • CUDA와 Tensor 코어는 둘 다 Nvidia라는 회사에서 개발한 제품입니다. CUDA는 Compute Unified Device Architecture의 약자입니다. 이 CUDA 코어는 GPU, 스마트폰, 심지어 자동차에도 있습니다.
  • 엔비디아도 개발한 텐서 코어가 GPU에도 쓰인다. "Tensor 코어"라고 하는 특수 코어는 혼합 정밀도 교육을 허용합니다. Tensor 코어의 1세대는 혼합 정밀도와 FP16 숫자 형식으로 훈련할 수 있게 했습니다.
  • 특정 GPU의 경우 teraFLOP 처리량이 최대 12배 향상될 수 있습니다. Int8, Int4 및 Int1이 지원되는 Tensor Core 정밀도 목록에 추가되었습니다.
  • 혼합으로 인한정밀 훈련 절차를 통해 GPU의 성능이 최대 32배 향상되었습니다. Hopper 마이크로아키텍처 기반 4세대 Tensor 코어의 향후 릴리스가 계획되어 있습니다.

기타 조항

    Mary Davis

    Mary Davis는 다양한 주제에 대한 비교 분석을 전문으로 하는 작가, 콘텐츠 제작자 및 열렬한 연구원입니다. 저널리즘 학위와 현장에서 5년 이상의 경험을 가진 Mary는 독자들에게 편향되지 않고 솔직한 정보를 전달하는 데 열정을 가지고 있습니다. 그녀의 글쓰기에 대한 사랑은 어렸을 때부터 시작되었으며 성공적인 글쓰기 경력의 원동력이었습니다. 연구 결과를 이해하기 쉽고 매력적인 형식으로 연구하고 제시하는 Mary의 능력은 전 세계 독자들에게 그녀의 사랑을 받았습니다. 글을 쓰지 않을 때 Mary는 여행, 독서, 가족 및 친구들과 시간을 보내는 것을 즐깁니다.