GPU가 CPU보다 더 강력한 이유
GPU가 CPU보다 어떻게 더 빠릅니까? 저는 GPU가 CPU보다 암호를 깨는 데 얼마나 더 빠른지에 대한 기사를 읽었습니다. 그렇다면 왜 CPU는 GPU와 같은 방식으로 속도를 균등하게 설계 할 수 없습니까?
GPU는 한 가지 목표를 염두에두고 설계되었습니다. 그래픽을 정말 빠르게 처리하는 것입니다. 이것이 그들이 가진 유일한 관심사이기 때문에 특정 계산이 기존 프로세서에서보다 훨씬 빠르게 진행될 수 있도록 몇 가지 특수 최적화가 마련되어 있습니다.
암호 크래킹 (또는 분자 동적 " 집에서 접기 "프로젝트)의 경우 프로그래머가 이러한 최적화 된 프로세스를 활용하여 빠른 속도로 암호 크런치와 같은 작업을 수행하는 방법을 찾았습니다.
표준 CPU는 그래픽 프로세서가 수행하는 것보다 훨씬 더 다양한 계산 및 처리 유형을 수행해야하므로 유사한 방식으로 최적화 할 수 없습니다.
GPU는 비용으로 속도를 얻습니다. 단일 GPU 코어는 실제로 단일 CPU 코어보다 훨씬 느리게 작동합니다. 예를 들어 Fermi GTX 580의 코어 클럭은 772MHz입니다. 요즘에는 코어 클럭이 낮은 CPU를 원하지 않을 것입니다.하지만 GPU에는 32 와이드 SIMD 모드에서 각각 작동하는 여러 코어 (최대 16 개)가 있습니다. 이를 통해 500 개의 작업이 병렬로 수행됩니다. 그러나 일반 CPU에는 최대 4 개 또는 8 개의 코어가 있으며 훨씬 낮은 병렬 처리를 제공하는 4 와이드 SIMD에서 작동 할 수 있습니다.
특정 유형의 알고리즘 (그래픽 처리, 선형 대수, 비디오 인코딩 등)은 이러한 엄청난 수의 코어에서 쉽게 병렬화 될 수 있습니다. 암호를 깨는 것은 그 범주에 속합니다. 그러나 다른 알고리즘은 병렬화하기가 정말 어렵습니다. 이 분야에서 진행중인 연구가 진행 중입니다. 이러한 알고리즘은 GPU에서 실행되면 성능이 매우 나빠질 것 입니다.
CPU 회사는 이제 단일 스레드 프로그램을 실행하는 기능을 희생하지 않고 GPU 병렬 처리에 접근하려고합니다. 그러나 그 일은 쉬운 일이 아닙니다. Larabee 프로젝트는 문제의 좋은 예입니다. 인텔은 수년 동안 작업 해 왔지만 여전히 시장에 나와 있지 않습니다.
참고 URL : https://stackoverflow.com/questions/6435428/why-are-gpus-more-powerful-than-cpus
'program tip' 카테고리의 다른 글
Lua에 파일이 있는지 확인 (0) | 2020.11.24 |
---|---|
파이썬에서 컴파일 된 정규식 객체의 유형 (0) | 2020.11.24 |
문장에서 물음표와 콜론은 의미합니까? (0) | 2020.11.24 |
Java 개발에 사용되는 프로그래밍 언어는 무엇입니까? (0) | 2020.11.24 |
5GB보다 큰 파일에 대해 Amazon-S3 Etag를 계산하는 알고리즘은 무엇입니까? (0) | 2020.11.24 |