본문 바로가기

GPGPU

(5)
가상 CUDA 오류 검사 함수 void cuErr(const char *msg){ cudaError_t err = cudaGetLastError(); if(cudaSuccess != err) printf("*cudaErr(%d) in %s : %s \n",err,msg,cudaGetErrorString(err)); } 아직 확실히 테스트는 안 해봤지만, 이런게 있단다. MPI나 OpenMP를 먼저 공부해야 하는 것인가. 근데, 한글자료는 왜 이리 부족하니. 2010. 1. 8. 17:49
CUDA 개발 환경 설정하기 #2. Visual Studio 환경 설정 가상 CUDA 개발 환경 설정하기 #2. Visual Studio 환경 설정 [CUDA 개발 환경 설정하기 #1. CUDA driver, toolkit, SDK 설치] 에 이어서, 이번에는 Visual Studio(이하 VS)에 CUDA 개발환경을 설정해보자. 1. 파일 확장자 등록 .cu, .cuh VS의 옵션 메뉴에 들어가서, 텍스트 편집기(Text Editor) > 파일 확장명(File Extension) 부분에 들어가서, cu와 cuh 파일에 대한 확장자를 등록한다. 2. CUDA Syntax 하이라이트 기능 등록 CUDA에서 사용하는 변수명이나 명령어에 하이라이트 기능을 주기 위하여, CUDA SDK에서 제공되어지는 usertype.dat 파일을 VS 폴더로 복사한다. - 대상 파일 : SDK 폴더 안에서 usertype.dat 파일 (NVIDIA GPU Computin.. 2010. 1. 2. 15:30
CUDA 개발 환경 설정하기 #1. CUDA driver, toolkit, SDK 설치 가상 CUDA 개발 환경 설정하기 #1. CUDA driver, toolkit, SDK 설치 첫째로, CUDA Driver, Toolkit, SDK 코드를 nVidia 홈페이지에서 다운 받는다. [다운로드 페이지 바로 가기] - CUDA 드라이버는 CUDA 지원 GPU 제품만 설치하면 된다고 명시되어 있다. [지원 제품 목록 바로가기] 지원하지 않는 환경에서는 Emulation 모드로 프로그램 할 수 있다. - CUDA Toolkit에는 컴파일러, 디버거 등의 C 언어에서의 개발 환경을 제공하고 있다. - CUDA SDK에는 개발자들이 참고할 만한 소스들이 들어있다. 병렬 정렬, 행렬 곱셈 등 다양한 예제 소스가 있으므로 참고하면 좋을 것이다. 드라이버 카드가 ati계열이라서 driver 설치는 생략하였다. toolkit을 설치하고 CUDA 폴더를 보니 doc 폴더가 있었고, 그 안에는 다양한 .. 2009. 12. 26. 15:38
GPU 프로그래밍의 시작, CUDA 가상 GPU 프로그래밍의 시작, CUDA CUDA(an acronym for "Compute Unified Device Architecture", 쿠다)는 GPU에서 수행하는 (병렬 처리) 알고리즘을 C 프로그래밍 언어 등을 사용하여 작성할 수 있도록 하는 GPGPU 기술이다. CUDA는 엔비디아가 개발해오고 있으며 이 아키텍처를 사용하려면 엔비디아 GPU와 특별한 스트림 처리 드라이버가 필요하다. CUDA는 G8X GPU로 구성된 지포스 8 시리즈급 이상에서 동작한다. CUDA는 CUDA GPU 안의 명령셋과 대용량 병렬 처리 메모리를 접근할 수 있도록 해 준다. (그래픽 카드가 없는 경우, Emulation Mode에서 테스트가 가능하다.) 개발자는 패스스케일 오픈64 C 컴파일러로 컴파일 된 '쿠다를 위한 C' (C언어를 엔비디아가 확장한.. 2009. 12. 22. 12:18
가상 GPGPU ; General-Purpose computing on GPU 범용 GPU(GPGPU, General-Purpose computing on Graphics Processing Units: 그래픽 처리 장치를 통한 일반 목적의 컴퓨팅)는 GPGP 또는 GP2 라고도 불리며, 컴퓨터 그래픽스를 위한 계산만 다루는 GPU를 사용하여 CPU가 전통적으로 취급했던 응용 프로그램들의 계산을 수행하는 기술이다. 이를 가능하게 한 것은 프로그램 가능한 "단"과 고정도 연산을 그래픽 파이프라인에 연결하는 것으로, 이를 통하여 소프트웨어 개발자들이 그래픽이 아닌 데이터에 흐름 처리(Stream Processing)를 사용할 수 있게 된다. GPU 프로그래밍 개념 GPU는 그래픽에 특화되어 설계되었으며 따라서 연산과 프로그래밍에 있어서 매우 제한적이다. 그 본성에 따라, GPU는 흐름.. 2009. 12. 21. 10:40