엔비디아의 CUDA 기술이란 무엇인가.

by Rapter posted Jun 10, 2008
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
엔비디아 CUDA 기술은 엔비디아 GPU의 프로세싱 성능을 활용할 수 있는 세계 유일의 C 언어 환경이다. CUDA는 개발자들이 석유/가스 폭발, 재정 위기 관리, 제품 디자인, 의학 이미지, 과학 연구와 같이 가장 복잡하고 연산 집약적인 문제들을 풀어나갈 때 엔비디아 GPU를 이용할 수 있도록 해준다.

CUDA™ 툴킷은 CUDA를 지원하는 GPU를 위한 C언어 기반의 개발 환경입니다. CUDA 개발 환경에 포함된 요소는 다음과 같습니다:

nvcc C 컴파일러
GPU를 위한 CUDA 고속 푸리에 변환 (FFT : Fast Fourier Transform) 와 기본 선형대수 서브루틴 (BLAS : Basic Linear Algebra Subroutines) 라이브러리
프로파일러
GPU를 위한 gdb 디버거 (알파 버전 2008년 3월 제공 예정)
CUDA 런타임 드라이버 (표준의 NVIDIA GPU 드라이버에서도 사용 가능)
CUDA 프로그래밍 매뉴얼
CUDA 개발자용 SDK 는 소스 코드와 함께 예시를 제공하여 개발자로 하여금 CUDA를 시작하는 데 도움을 줍니다. 포함된 예시는 다음과 같습니다:

병렬 바이토닉 정렬 (Parallel bitonic sort)
행렬의 곱 (Matrix multiplication)
전치행렬 (Matrix transpose)
타이머를 이용한 성능 정보 수집 (Performance profiling using timers)
대용량의 배열에서의 병렬 접두어 총합(검색) (Parallel prefix sum (scan) of large arrays)
이미지 회선(Image convolution)
Haar 웨이블릿을 이용한 1D DWT (1D DWT using Haar wavelet)
OpenGL과 Direct3D의 상호운용 예시 (OpenGL and Direct3D graphics interoperation examples)
CUDA BLAS와 FFT 라이브러리의 사용 예시 (CUDA BLAS and FFT library usage examples)
CUP와 GPU의 C, C++의 코드 통합 (CPU-GPU C- and C++-code integration)
이항옵션 가격결정모형 (Binomial Option Pricing)
블랙-숄즈 옵션 평가모델 (Black-Scholes Option Pricing)
몬테 카를로 옵션 평가모델 (Monte-Carlo Option Pricing)
병렬 메르센 트위스터(랜덤 숫자 생성) (Parallel Mersenne Twister (random number generation))
병렬 막대그래프 (Parallel Histogram)
이미지 노이즈 제거 (Image Denoising)
소벨 에지 감지 필터 (Sobel Edge Detection Filter)
MathWorks MATLAB® 플러그인 (여기를 눌러 다운로드 받을 수 있습니다)
CUDA 1.1 버전에 포함된 새로운 SD 샘플을 지금 사용할 수 있습니다. 모든 목록과 다운로드 코드를 여기 에서 확인할 수 있습니다.

기술적 특징
GPU에서 구현되는 표준의 C 프로그래밍 언어
CUDA 지원이 가능한 NVIDIA GPU에서 구현되는 병렬 컴퓨팅을 위한 통합된 하드웨어와 소프트웨어 솔루션
저전력의 노트북 GPU에서 고성능, 다수의GPU 시스템에서도 구현이 가능한 CUDA 호환이 가능한 GPU
CUDA 지원이 가능한 GPU를 지원하는 패러럴 데이터 캐시(Parallel Data Cache )와 쓰레드 집행 매니저(Thread Execution Manager)
FFT(Fast Fourier Transform : 고속 푸리에 변환) 과 기본 선형대수 서브루틴 (BLAS : Basic Linear Algebra Subroutines) 을 위해 표준 통계 라이브러리
연산을 위한 CUDA 전용의 드라이버
CPU에서 CUDA 사용 가능한 GPU 간의 최적화된 직접 업로드 다운로드 경로
OpenGL과 DirectX 그래픽 드라이버와 호환 가능한 CUDA 드라이버
리눅스 32/64 비트, 윈도우 XP 32/64 비트 지원
리서치와 언어 개발을 위한 CUDA를 통한 직접 드라이버와 어셈블리 레벨의 접근

출처 - http://kr.nvidia.com