2008-08-26 16 views
13

CUDA와 같은 CPU 이니셔티브로서의 GPU의 미래는 무엇이라고 생각하십니까? 그들이 주류가되어 업계에서 다음에 채택 된 유행이 될 것이라고 생각하십니까? 애플은 GPU를 사용하여 CPU 작업을 수행하는 새로운 프레임 워크를 구축하고 있으며 과학 분야의 Nvidias CUDA 프로젝트에서 많은 성공을 거두었습니다. 학생들이이 분야에 시간을 할애 할 것을 제안합니까?GPU를 CPU로 사용할 수 있습니까?

답변

5

우선이 질문을 생각하지 않습니다. 정말로 SO에 속합니다.

제 생각에는 GPU는 벡터 기반 플로트 수학을 할 때마다 매우 흥미로운 대안입니다. 그러나 이것은 다음과 같이 번역됩니다. 그것은 주류가되지 않을 것입니다. 대부분의 주류 (데스크톱) 응용 프로그램은 부동 소수점 계산을 거의 수행하지 않습니다.

그것은 이미 게임 (물리 엔진)과 과학 계산에서 견인을 얻었습니다. 이 두 가지를 "주류"로 간주한다면, GPU가 주류가 될 것입니다.

저는이 두 가지를 주류로 생각하지 않으므로 GPU가 주류 업계에서 다음에 채택 된 유행이 될 것이라고 생각합니다.

학생들이 물리학에 기반한 과학 계산에 관심이있는 경우 GPU가 매우 흥미로운 하드웨어라고 할 수 있습니다.

+1

의견,하지만 대답은 ... – leppie

+1

슈퍼 컴퓨터가 내장되어 있음을 고려하지 과학 계산 및 비디오 게임의 유일한 목적은 그래픽, 인공 지능 및 물리 응용 프로그램 (특히 모든 것을 한 번에)의 개발을 이끌 기 때문입니다. 어떻게하면 주류가 아닌지 생각할 수 있습니다. 그러나 나는 동의한다, GPU는 결코 CPU를 대체하지 않을 것이다. GPU에는 유연성이 없습니다. – Narcolapser

+0

몇 년 후이 질문을 흥미롭게 보았습니다. 나는 GPU가 분명히 더 많은 주류가되었다고 생각하지만, CPU 교체는 거의 불가능하다. 그들은 계속해서 더 많은 코어를 계속 추가하고 있습니다.) 그리고 아마도 이것은 [Programmers] (http://programmers.stackexchange.com/)에 사는 것보다 나을 것이 좋습니다. –

2

나는 그것이 올바른 길이라고 생각합니다.

GPUs have been tapped to create cheap supercomputers을 고려하면 자연스럽게 전개되는 것으로 보입니다. 많은 컴퓨팅 성능과 R & D가 이미 제공되었으므로 사용 가능한 기술을 악용하지 않는 이유는 무엇입니까?

그래서 진행하십시오. Crysis와 Assassin 's Creed를 전체 그래픽 디테일로 플레이 할 수 있도록 하이 엔드 그래픽 카드를 구입할 수있는 합법적 인 이유뿐만 아니라 멋진 연구를 할 것입니다.)

1

너무 많은 미개척의 힘으로 나는 너무 오랫동안 사용하지 않을 것입니다. 그러나 문제는 GPU가이를 위해 어떻게 사용될 것인가입니다. 쿠다 (CUDA)는 당분간 좋은 추측으로 보일 수 있지만 다른 기술들이 수평 적으로 부상하고있어 평균 개발자가 더욱 쉽게 접근 할 수 있습니다.

애플은 최근에 OpenCL을 발표했는데 CUDA보다 훨씬 간단하지만 매우 간단합니다. 정확히 무엇을 만들지는 모르겠지만 khronos 그룹 (OpenGL 표준을 연구하는 사람들)은 OpenCL 표준을 연구하고 OpenGL과의 상호 운용성을 높이려고합니다. 이것은 정상적인 소프트웨어 개발에 더 적합한 기술로 이어질 수 있습니다.

재미있는 주제이고, 덧붙여 말하자면 CUDA를 주안점으로 GPU 전원을 가능한 한 평균 개발자가 (가능한 경우) 사용할 수있게하는 방법에 관한 주제로 석사 학위 논문을 시작하려고합니다.

+0

GPU ++를 보았습니까? 당신이 시작하려고하는 것과 유사한 논문에서 나왔습니다. 너에게 큰 도움이 될지도 모른다. – gbjbaanb

+0

감사합니다. 흥미로운 읽을 거리입니다. –

2

하나 또는 두 가지 응용 프로그램을 볼 수 있지만 그 중 일부는 곧 더 빠른 속도로 더 일반적으로 유용한 작업을 수행하는 방법을 알아내는 '킬러 응용 프로그램'이 생길 것입니다.

float 값의 큰 배열에 루틴을 적용하는 픽셀 셰이더는 일부 GIS 적용 범위 응용 프로그램을 보게 될지도 모릅니다. 잘 모르겠습니다. 내가 가진 것보다 더 많은 시간을 할애하지 않으면 나처럼 통찰력이 똑같을거야.

인텔과 S3처럼 하드웨어가 추가되거나 백열전 구가있는 사람이 필요합니다.

6

GPU는 범용 프로세서가 이러한 기능을 대신하도록 진화함에 따라 GPU가 중단 될 것으로 생각합니다. Intel's Larrabee이 첫 번째 단계입니다. 역사에 따르면 x86에 대한 베팅은 나쁜 생각입니다.

대규모 병렬 아키텍처 및 벡터 처리에 대한 연구가 여전히 유용 할 것입니다.

+0

답변을 주셔서 감사합니다. 주제에 대해 다르게 생각하게했습니다. –

18

과학 및 병렬 컴퓨팅에 관심이있는 경우 커밋 시간. CUDA를 생각하지 않고 GPU를 CPU로 보이게하십시오. 그것은 GPU를 프로그래밍하는 데 이전 GPGPU 프로그래밍 기법보다 더 직접적인 방법만을 허용합니다.

범용 CPU는 분기 예측, 파이프 라이닝, 수퍼 스케일러 등으로 진행된 모든 작업에서 다양한 작업에서 잘 작동하는 능력을 발휘합니다. 따라서 다양한 종류의 작업에서 좋은 성능을 얻을 수 있습니다 처리량이 많은 메모리 집약적 인 부동 소수점 연산에서이를 처리 할 수 ​​있습니다.

GPU는 원래 한 가지 작업을 수행하도록 설계되었으며 매우 훌륭하게 수행됩니다. 그래픽 작업은 본질적으로 평행합니다. 결과간에 데이터 종속성이 없기 때문에 화면의 모든 픽셀의 색상을 동시에 계산할 수 있습니다. 또한 필요로하는 거의 모든 분기가 계수를 0 또는 1로 설정함으로써 달성 될 수 있으므로 필요한 알고리즘은 분기를 처리 할 필요가 없었습니다. 따라서 하드웨어는 매우 간단 할 수 있습니다. 분기 예측에 대해 걱정할 필요가 없으며 프로세서를 슈퍼 스칼라로 만드는 대신 칩에 넣을 수있는만큼 많은 ALU를 추가 할 수 있습니다.

프로그래머블 텍스쳐와 버텍스 쉐이더를 사용하면 GPU가 일반적인 프로그래밍 기능을 사용할 수 있지만 여전히 높은 처리량 부동 소수점 연산을 위해 설계된 하드웨어에 의해 제한을받습니다. 보다 일반적인 목적의 계산을 가능하게하기 위해 일부 추가 회로가 추가 될 것이지만 한 지점까지만 가능할 것입니다. GPU가 그래픽을 할 수있는 능력을 손상시키는 것은 아무 것도 할 수 없습니다. 결국 GPU 회사는 여전히 그래픽 비즈니스에 종사하고 있으며 목표 시장은 여전히 ​​게이머이자 하이 엔드 시각화가 필요한 사람들입니다.

GPGPU 시장은 여전히 ​​버킷에 드롭이며, 어느 정도까지 그렇게 유지됩니다. 결과적으로 "100 % 보장되고 재현 가능한 결과"를 충족시키는 것보다 훨씬 더 표준을 준수하는 것입니다.

간단히 말해 GPU는 결코 CPU로는 실현 될 수 없습니다. 이들은 다양한 종류의 작업 부하에 맞게 설계되었습니다. GPU는 다양한 문제를 신속하게 해결하는 데 유용한 기능을 얻을 수있을 것이라고 기대하지만, 항상 그래픽 인 처리 단위가 가장 먼저 나옵니다.

항상 문제를 해결해야하는 가장 적합한 도구와 항상 일치시키는 것이 중요합니다.

+0

+1 "어쨌든"매끄럽게 보입니다 "는 때마다"100 % 보증되고 재현 가능한 결과보다 매끄럽게 만날 수있는 기준이 훨씬 낮습니다. ""완벽하게 말했습니다! – Blindy

+0

좋은 설명을 위해서 +1 –

+0

+1 항상 가지고있는 문제를 해결할 가장 적절한 도구와 항상 일치시키는 것이 중요합니다. – Adam

5

GPU는 절대로 CPU를 대체하지 않습니다. CPU는 일련의 순차 명령을 실행하고 GPU는 매우 구체적인 계산 유형을 병렬로 수행합니다. 이 GPU는 수치 계산 및 그래픽에 유용합니다. 그러나 대부분의 프로그램은 이러한 방식의 컴퓨팅을 결코 사용할 수 없습니다.

곧 표준 CPU 계산뿐만 아니라 GPU-esque 부동 소수점 벡터 계산이 포함 된 새로운 프로세서를 Intel 및 AMD에서 보게됩니다.

+0

감사합니다! GPU의 전문 기술이 병렬 인 동안 CPU의 전문 지식이 직렬화 된 지침이라는 것을 정확히 읽었습니까? 현실 세계의 예를들 수 있습니까? 미리 감사드립니다. –

1

오래 전, 80386과 같이 끔찍한 성능의 (현재 표준에 따라) CPU에서 부동 소수점 계산을 수행하는 것은 정말 어려웠습니다 (명령당 수천/수백만 사이클의 사이클). 부동 소수점 성능이 필요한 사람들은 FPU를 얻을 수 있습니다 (예 : 80387).기존의 FPU는 CPU의 동작에 상당히 밀접하게 통합되었지만 외부에 존재했습니다. 나중에 그들은 FPU가 내장 된 80486과 통합되어 통합되었습니다.

구시대 FPU는 GPU 계산과 유사합니다. 우리는 이미 AMD의 APU를 통해이를 얻을 수 있습니다. APU는 GPU가 내장 된 CPU입니다.

그래서, 나는. 귀하의 질문에 대한 실제 대답은, GPU의이 CPU의는 GPU가 내장 것 대신에 CPU가되지 않습니다 생각