무료는 없습니다. GPGPU 는 SIMD입니다. GPGPU의 SIMD 명령어는 CPU의 SIMD 명령어보다 넓은 경향이 있습니다. GPGPU는 세분화 된 멀티 스레드 경향이 있으며 CPU보다 하드웨어 컨텍스트가 더 많습니다. GPGPU는 스트리밍 에 최적화되어 있습니다 . 이들은 부동 소수점 단위에 더 큰 비율의 영역을 할당하고, 캐시 할 영역에 더 낮은 비율을, 정수 성능에 더 낮은 비율을 할당하는 경향이 있습니다.
비교해 봅시다. 인텔의 코어 i7-5960x에는 8 개의 코어가 있으며 각각 4 와이드 (배정도) SIMD를 가지며 3M (3.5GHz 터보), 20M L3 캐시에서 실행되며 356mm ^ 2 및 140W를 소비하고 $ 1000가 소요됩니다 .8 * 4 * 3 * 4 = 384 배정 밀도 GFlops. (추가 4 배는 사이클 당 벡터 레인 당 2 개의 융합 곱셈 추가를 수행 할 수 있기 때문입니다.) 768 개의 단 정밀도 GFlop을 수행 할 수 있습니다. 약 1.08 DP GFlops / mm ^ 2 및 2.75 DP GFlops / Watt입니다. 약 57.5 KB / mm ^ 2의 온칩 캐시도 있습니다.
NVidia의 GeForce GTX Titan Black은 각각 32 개의 배정 밀도 SIMD를 가진 890MHz (980MHz 터보), 3.5M의 L1 + L2 캐시에서 실행되는 15 개의 SMX를 가지고 있으며, 561mm ^ 2, 250W를 소비하고 $ 1000가 소요됩니다 . * 15 * 32 * .89 * 4 = 1709 배정 밀도 GFlops. (사이클 당 벡터 레인 당 2 개의 융합 곱셈 추가에서 동일한 4 배.) 5126의 단 정밀도 GFlop을 수행 할 수 있습니다. 약 3.05 DP GFlops / mm ^ 2 및 6.8 DP GFlops / Watt입니다. 따라서 단위 면적당 DP 부동 소수점 밀도는 3 배, DP 부동 소수점 전력 효율은 3 배입니다. 그리고 트레이드 오프? 6.4KB / mm ^ 2의 온칩 캐시. CPU보다 밀도가 약 9 배 낮습니다.
따라서 주요 차이점은 GPU가 캐시보다 부동 소수점 (특히 단 정밀도 부동 소수점)을 선호하는 영역 균형을 선택했다는 것입니다. I / O를 수행하기 위해 CPU와 GPU간에 데이터를 앞뒤로 복사해야한다는 사실을 무시하더라도 GPU와 CPU가 얼마나 잘 수행되는지는 실행중인 프로그램에 따라 다릅니다.
제어 분기가 거의없는 데이터 병렬 부동 소수점 프로그램이 있고 (모든 벡터 레인이 동시에 동일한 작업을 수행함) 프로그램이 스트리밍 중이면 (캐싱의 이점은 없음) GPU는 약 단위 면적당 또는 와트 당 3 배 더 효율적입니다. 그러나 상당한 양의 분산 제어, 비 데이터 병렬 작업을 수행하거나 대량의 읽기-수-시간 데이터 구조의 이점을 얻을 수 있다면 CPU가 더 나을 것입니다.