문제

모든 사람이 거대한 대규모 병렬 슈퍼 컴퓨터에서 자신의 데스크톱에서의 형태 그래픽 카드 GPU.

  • 무슨은"hello world!"해당하는 GPU 커뮤니티가 있습니까?
  • 나는 무엇을,어디로 가야 하는,시작하는 프로그래밍 GPU 에 대한 주요 GPU 공급업체?

-Adam

도움이 되었습니까?

해결책

NVIDIA의 CUDA를 확인하십시오. IMO는 GPU 프로그래밍을 수행하는 가장 쉬운 플랫폼입니다. 읽을 수있는 멋진 재료가 많이 있습니다.http://www.nvidia.com/object/cuda_home.html

Hello World는 GPU를 사용하여 모든 종류의 계산을 수행하는 것입니다.

도움이되기를 바랍니다.

다른 팁

  1. GPU에서 코드를 직접 실행하여 그릴 버퍼를 조작 할 수있는 프로그래밍 가능한 정점 및 픽셀 셰이더가 제공됩니다. 이러한 언어 (즉, OpenGL의 GL 셰이더 Lang 및 High Level Shader Lang 및 DirectX의 동등성)는 C 스타일 구문이며 사용하기 쉽습니다. HLSL의 일부 예를 찾을 수 있습니다 여기 XNA Game Studio 및 Direct X. 이 셰이더 언어는 그래픽 카드에서 직접 픽셀 또는 픽셀 당 레벨에서 그려지는 것을 조작 할 수있는 엄청난 양의 전력을 제공하여 그림자, 조명 및 블룸과 같은 물건을 실제로 구현하기 쉽습니다.
  2. 떠오르는 두 번째는 사용하는 것입니다Opencl 새로운 범용 라인을 코딩하기 위해 GPU. 나는 이것을 사용하는 방법을 잘 모르겠지만, 내 이해는 OpenCL이 그래픽 카드와 일반 CPU 모두에서 프로세서에 액세스 할 수있는 시작을 제공한다는 것입니다. 이것은 아직 주류 기술이 아니며 Apple에 의해 주도되는 것 같습니다.
  3. 쿠다 뜨거운 주제 인 것 같습니다. Cuda는 Nvidia의 GPU 전력에 접근하는 방법입니다. 여기 약간의 소개입니다

나는 다른 사람들이 당신의 두 번째 질문에 대답했다고 생각합니다. 첫 번째, Cuda의 "Hello World"에 관해서는, 나는 정해진 표준이 있다고 생각하지 않지만 개인적으로는 평행 가산기를 추천합니다 (즉, n 정수를 합산하는 프로그램).

NVIDIA SDK에서 "감소"예를 보면, 피상적으로 간단한 작업을 확장하여 합병 된 독서, 메모리 뱅크 충돌 및 루프 Unrolling과 같은 수많은 CUDA 고려 사항을 보여줄 수 있습니다.

자세한 내용은이 프레젠테이션을 참조하십시오.

http://www.gpgpu.org/sc2007/sc07_cuda_5_optimization_harris.pdf

살펴보십시오 ATI 스트림 컴퓨팅 SDK. 그것은 기반입니다 Brookgpu 스탠포드에서 개발되었습니다.

앞으로 모든 GPU 작업은 사용하여 표준화됩니다. Opencl. 그래픽 카드 공급 업체 중립이 될 Apple 후원 이니셔티브입니다.

Cuda는 우수한 프레임 워크입니다. C에서 GPGPU 커널을 작성할 수 있습니다. 컴파일러는 코드에서 GPU 마이크로 코드를 생성하고 CPU에서 실행되는 모든 것을 일반 컴파일러로 보냅니다. 그것은 NVIDIA 일 뿐이지 만 8 시리즈 카드 또는 더 나은 경우에만 작동합니다. 체크 아웃 할 수 있습니다 쿠다 존 무엇을 할 수 있는지 확인합니다. 에는 큰 데모가 있습니다 CUDA SDK. SDK와 함께 제공되는 문서는 실제로 코드를 작성하기위한 아주 좋은 출발점입니다. 그것은 매트릭스 곱셈 커널을 쓰는 것을 안내합니다. 이는 시작하기에 좋은 곳입니다.

OpenCL 하기위한 노력의 일환입니다 확인 크로스-플랫폼할 수 있는 라이브러리를 프로그래밍 코드에 적합한 다른 것들 사이에,Gpu 있습니다.그것은 하나의 코드를 작성하지 않고 무엇을 알고 GPU 에서 실행함으로써 사용하기 쉽게 만드는 일부의 GPU 의 전원을 대상으로 지정하지 않고 여러 가지 형태의 GPU 니다.나는 그것을 의심하지 않으로 성능으로 기본 코드 GPU(또는 것과 같은 기본 GPU 제조 업체 허용할 것)그러나 교환할 수 있습한다.

그것은 여전히 그 자리에 상대적으로 초기 단계(1.1 으로의 이 대답)하지만,일 견인 업계에서 예를 들면 그것은 기본적으로 지원되는 OS X10.5 습니다.

Cuda 또는 OpenCL에 들어 가지 않고 GPU 프로그래밍에 들어가는 또 다른 쉬운 방법은 OpenAcc.

OpenACC는 OpenMP와 같이 작동하며 컴파일러 지침 ( #pragma acc kernels) GPU에 작업을 보냅니다. 예를 들어, 큰 루프가있는 경우 (더 큰 루프 만 실제로 이익이됩니다) :

int i;
float a = 2.0;
float b[10000];
#pragma acc kernels
for (i = 0; i < 10000; ++i) b[i] = 1.0f;
#pragma acc kernels
for (i = 0; i < 10000; ++i) {
  b[i] = b[i] * a;
}

편집 : 불행히도 NVIDIA GPU 카드를 위해 PGI 컴파일러 만 현재 OpenACC를 지원합니다.

노력하다 GPU ++ 그리고 libsh

Libsh Link는 프로그래밍 언어를 그래픽 프리미티브 (그리고 분명히 프리미티브 자체)에 어떻게 결합시키는 지에 대한 좋은 설명을 가지고 있으며, GPU ++는 코드 예제와 함께 무엇에 관한 것인지를 설명합니다.

MATLAB을 사용하는 경우 기술 컴퓨팅에 GPU를 사용하는 것이 매우 간단 해집니다 (매트릭스 계산 및 무거운 수학/번호 위기). 게임 이외의 GPU 카드를 사용하는 데 유용합니다. 아래 링크를 확인하십시오.

http://www.mathworks.com/discovery/matlab-gpu.html

또한이 주제와 병렬 프로그래밍에 관심이 있습니다. 그리고 나는 다음을 발견했다 링크, udacity.com을 살펴보십시오!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top