프로젝트 소개
NVIDIA CUDA 샘플은 CUDA 툴킷의 기능과 성능을 보여주는 예제 프로그램들의 공식 저장소입니다. 이 샘플들은 NVIDIA GPU로 작업하는 개발자들을 위한 교육 및 참고 자료로 사용되며, 기본 CUDA 개념부터 고급 GPU 프로그래밍 기술까지 광범위한 주제를 다룹니다.
저장소는 C++ 샘플과 Python 샘플의 두 가지 주요 섹션으로 구성됩니다. C++ 샘플은 10개 그룹으로 분류됩니다: 소개(기본 CUDA 개념 및 런타임 API), 유틸리티(디바이스 기능 쿼리 및 대역폭 측정), 개념 및 기법(일반적인 문제 해결 접근법), CUDA 기능(협력 그룹, 동적 병렬 처리, CUDA 그래프), CUDA 라이브러리(NPP, NVJPEG, cuBLAS, cuFFT, cuSPARSE, cuSOLVER, cuRAND), 도메인 특화(그래픽, 금융, 이미지 처리), 성능(최적화 기법), libNVVM(NVVM IR 사용), 플랫폼 특화(Tegra, cuDLA, NvMedia, NvSci, OpenGL ES), 및 CUDA 타일(CUDA 타일 C++).
Python 샘플은 cuda.core를 사용하는 CUDA Python을 통해 디바이스, 프로그램, 실행, 메모리 관리를 처리하며, NumPy, CuPy 또는 프레임워크 상호 운용을 함께 사용합니다. 이들은 시작하기, 핵심 개념, 프레임워크 상호 운용(PyTorch 및 TensorFlow), 분산 컴퓨팅, 유틸리티로 구성됩니다.
빌드 시스템은 CMake를 사용하며 Linux, Windows, Tegra 크로스 컴파일, QNX 및 QNX 안전 플랫폼을 지원합니다. 샘플은 지원되는 모든 GPU 아키텍처용으로 빌드하거나 특정 아키텍처를 대상으로 빌드할 수 있습니다. 저장소에는 모든 샘플을 실행하는 테스트 러너 스크립트(run_tests.py)가 포함되어 있으며, 구성 가능한 인자, 병렬 실행, 그래픽 디스플레이가 필요한 샘플에 대한 건너뛰기 옵션을 제공합니다.
일부 샘플에는 FreeImage, MPI, DirectX 및 DirectX 12를 포함한 타사 종속성이 있습니다. 설치 시스템은 빌드된 샘플을 대상 아키텍처, OS 및 빌드 유형에 따라 구조화된 디렉터리 레이아웃으로 구성합니다. 이 샘플들은 CUDA의 검증 제품군이 아니라 GPU 프로그래밍 패턴과 기술의 실용적인 데모 역할을 합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.