CPU와 GPU의 차이는 무엇일까? 이는 병렬 연산 방식에 있다.

CPU와 GPU 차이점은 무엇일까?

GPU는 구조 면에서 CPU와 완전히 다릅니다. CPU는 다양한 환경에서 작업을 빠르게 수행하기 위해 ALU(산술 논리 장치)와 FPU(부동 소수점 장치)의 복잡한 구조를 가지고 있으며, 하나의 명령으로 처리할 수 있는 많은 기능(SIMD)을 가지고 있으며 다양한 제어의 일부입니다.

 

처리. CPU에 지속적으로 추가되고 있는 고급 명령어 세트(SSE, AVX, FMA 등)를 보면 대부분이 단일 명령어로 여러 계산을 동시에 수행하도록 설계되어 있음을 알 수 있습니다. 또는 복잡한 표현을 처리합니다. 예를 들어, 8개의 곱셈 또는 벡터 곱셈을 한 번에 수행합니다. 반면 GPU는 이러한 부분을 과감하게 제거하여 전문적인 연산을 고속으로 수행하며, 비교적 단순한(수백) ALU와 FPU가 다수 집중된 구조를 생성한다. 잃어버린. 따라서 하나의 GPU는 어떤 작업도 처리할 수 없습니다. GPU라고 하는 계산기를 사용, 제어 및 관리하는 것은 여전히 ​​CPU입니다.

 

일반 데스크탑 CPU는 2018년 Ryzen 7 2700X와 Core i9-9900K에서 1TFLOPS 범위에 불과하고, 서버 CPU도 최대 TFLOPS로 제한되지만 그래픽 카드는 일반 CPU와 동일합니다. 데스크탑 지포스 RTX 2080 Ti. 14TFLOPS, RTX 3090은 약 35TFLOPS, Radeon VII는 약 13TFLOPS, RX 6900 XT는 약 23TFLOPS로 수십 TFLOPS에서 재생하므로 컴퓨팅 블록을 확장하는 대신 다른 영역(분기 예측, 프리페칭, micro-op-cache, CPU는 reorder buffer, 연산 스케쥴러 등을 개선하여 연산 성능의 효율성을 향상시켜 성능을 향상시키려고 하므로 연산 단위가 계속되는 비디오 카드와의 격차를 좁힐 수 없습니다. 현재 확장합니다.

 

자연스럽게 슈퍼컴퓨터를 떠올리시겠지만, 2018년 기준 "세계 1위 슈퍼컴퓨터 1997-2000"은 15만원, "세계 1위 슈퍼컴퓨터 2000-2002"는 15만원의 가격으로 사용되었습니다. 가격 160만원. 2013년 현재 가장 빠른 슈퍼컴퓨터인 중국의 Tianhe 슈퍼컴퓨터는 GPU 하이브리드 아키텍처를 사용하고 있습니다.

 

CPU에는 4개의 큰 코어가 있고 GPU에는 수백 개의 작은 코어가 있습니다. 싱글 코어 성능의 경우 CPU가 빠르지만 병렬 연산에서는 GPU가 훨씬 더 중요하기 때문에 싱글 코어 성능이 높더라도 병렬 성능은 떨어지고 전력 소모는 증가한다. 따라서 CPU와 달리 GPU의 설계 목표는 "최대한 많은 코어를 통합"하는 것입니다. 애초에 CPU 대신 GPGPU를 사용하는 이유는 싱글코어 성능 향상에는 한계가 있기 때문이다. 일반적인 4GHz에서 벽을 참조하십시오. 따라서 GPGPU를 프로그래밍할 때 CPU 프로그래밍의 한 가지 상식을 정반대로 적용해야 합니다. 가능한 한 많은 스레드를 만드는 것입니다.

 

그러나 NVIDIA는 2010년대 중후반에 점차적으로 제어 장치의 수와 클럭 속도를 증가시켜 컴퓨팅 코어당 효율성을 높이려고 했습니다. 케플러 → 맥스웰은 효율성 향상을 위해 최우선 아키텍처를 변경했고, GTX 780 Ti → GTX 980도 클럭 속도를 올린 것보다 컴퓨팅 유닛을 더 줄여서 소수를 보면 성능이 8~9% 떨어진다. 실패! (FP32 GTX 780 Ti 컴퓨팅 성능은 약 5TFLOPS, FP32 GTX 980 컴퓨팅 성능은 약 4.6TFLOPS) 방향을 나타냈다. (소스의 3번째 댓글 참조) AMD도 2019년 7월부터 NVIDIA Maxwell-Turing 아키텍처로 비슷한 방향으로 방향을 틀었고, 주로 컴퓨팅 성능을 위해 시작한 GCN 마이크로 아키텍처의 성능이 점차 한계에 도달했고 그 결과가 나타났습니다. RDNA 마이크로아키텍처로. .

 

GPU는 대규모 계산을 쉽게 수행하도록 설계되었기 때문에 올바르게 사용하면 컴퓨팅 성능을 향상시킬 수 있습니다. 예를 들어, BOINC의 일부 프로젝트는 CPU 단독으로 10시간 이상 걸릴 수 있지만 프로젝트는 GPU에서 2-3시간 내에 완료될 수 있습니다. 3ds Max를 비롯한 3D 그래픽 도구 렌더러에서도 CPU를 사용할 때 5시간 이상 걸리는 내부 렌더링을 GPGPU로 렌더링하면 약 20배 빠르게 계산할 수 있습니다. GPU에 컴퓨팅 유닛이 많을수록 더 빨라집니다. Global Illumination 등에서 많은 수의 샘플을 사용하는 경우 CPU보다 빠르게 계산할 수 있습니다.

 

위의 설명을 비유하자면 CPU는 '일류 엔지니어 몇 명이 있는 엔지니어링 및 건설 회사', GPU는 '현장 작업자가 모이는 노동 시장'으로 생각할 수 있습니다. 몇 명의 엔지니어에게 재료와 도구를 제공하면 간단한 건물을 짓는 데 몇 년이 걸릴 수 있지만[2] 다음 세기에 초고층 빌딩이 건설될 것입니다. 반대로 현장 작업자가 100만 명이라고 해도 자신의 청사진을 만들 능력도 리더십 역할도 없기 때문에 아무것도 만들 수 없습니다. 여기에 수천 명의 엔지니어와 현장 작업자가 힘을 합치면 불과 몇 년 만에 초고층 빌딩을 지을 수 있습니다. GPGPU입니다.

 

프로세서는 i9-10900K의 경우 1.5 TFLOPS이며, 이론적인 FP32 성능을 기반으로 하는 인텔 및 AMD 데스크탑 제품의 최상위 제품,[3] Ryzen 9 5950X는 1.95 TFLOPS,[4] 코어 수가 가장 많은 서버 및 워크스테이션의 경우에도 프로세서로서 Xeon Platinum 8380은 3.75TFLOPS[5]인 반면 Ryzen Threadripper 3990X는 6TFLOPS[6]에 불과합니다. 이것은 프로그래밍의 편리함 때문입니다.

 

따라서 엄밀히 말하면 이것은 GPGPU가 아니라 CPU의 작업입니다. 또한 CPU 성능은 1997년 초에 도입된 MMX에서 개발되어 16년 후에 도입된 SIMD 명령어 세트인 AVX2를 사용하는 가정을 기반으로 합니다. . 특정 명령어 세트 없이 그냥 무지하게 작성하는 경우 절반 이하로 줄일 수 있습니다. 이는 이론적인 계산 성능에 거의 근접하지 않습니다! 2014년 데이터지만 실제 싱글 쓰레드 성능 측정 데이터를 보면 맞는 말이다.

 

GPU는 CPU에 탑재된 APU도 있다. (쉽게 핸드폰용 칩을 생각하면 이해가 쉽다)

APU가 완성되면 CPU와 GPU가 동등해지고 GPU가 CPU를 대신해 일을 할 수 있게 되지만 최소한 APU 자체는 기존 CPU와 다른 새로운 것으로 다루어야 한다. 또는 GPU... AMD APU 엔드포인트 - GPGPU를 통해 그래픽 칩에 내장된 메인 CPU 연산 장치 + 보조 연산 장치의 조합은 현재 CPU 아키텍처에서 상상할 수 없는 CPU 성능을 제공합니다. 첫 번째 단계는 기존 GPGPU의 복잡성을 통합 그래픽 칩으로 크게 줄이는 것이었고, 2014년 초에는 Carberry의 스팀 롤러 기반 마이크로 아키텍처를 기반으로 Heterogeneous System Architecture-HSA가 적용되었습니다.

 

인텔은 APU라고 부르지 않더라도 비슷한 개념의 프로세서에 꾸준히 투자하고 있다. 제온 파이는 슈퍼컴퓨팅과 같은 고성능 컴퓨팅을 위해 설계됐지만 데스크탑과 노트북용으로 많은 전력을 소모하는 몬스터이기 때문이다. 애초에 라라비가 출시되지 않은 이유 중 하나는 양측이 방향을 바꿔가며 "맞지 않나?" 라는 생각으로 시간을 허비했기 때문입니다... 스카이레이크에서 HSA도 OpenCL 2.0을 통해 지원하는데 열등하지 않습니다.

 

AMD HSA 지원에. 그는 장비를 가지고 떠났다. 게다가 캐시 구조를 보면 AMD보다 앞서는 것 같다. AMD는 심지어 Bristol Ridge에서도 CPU와 GPU 간에 L3 캐시를 공유하지 않았습니다.[14] 따라서 이 기능이 필요한 AMD 후원 HSA 성능 연구에서는 HSA 및 L3 캐시가 있는 가상 APU도 시뮬레이션합니다. (연구 당시 인텔 프로세서는 HSA를 지원하지 않았습니다.) 그러나 이제 Intel은 Iris가 장착된 모델에 대해 HSA+L3 캐시와 eDRAM[15]만 사용합니다.

 

실제로 HSA의 1차 제품 중 최상위 라인인 A10-7850K의 경우 HSA로 튜닝했을 때 i3 경쟁 성능에서 i5-4670을 빼는 경이적인 성능 향상을 보여줬다. 환경. 이 때문에 APU Carver는 코어 수를 표시할 때 "컴퓨팅 코어"라는 단어를 사용하여 그래픽 코어를 묶습니다. A10-7850K의 경우 CPU 4 + GPU 8[12]은 12코어로 표현된다. 유일한 단점은 HSA를 지원하는 소프트웨어가 거의 없다는 것입니다. 요즘 Adobe CC, Corel 및 HSA Foundation 소프트웨어가 증가하고 있습니다.

 

 

Designed by JB FACTORY