CUDA Python 개요 — 어떤 구성요소들이 있나
CUDA Python 개요 — 어떤 구성요소들이 있나
CUDA C를 직접 다루기 어려운 파이썬 사용자에게 NVIDIA는 CUDA Python이라는 이름 아래 여러 공식 모듈을 제공해요. 이들은 역할이 나뉘어 있어서 목적에 따라 골라 쓰면 돼요.
주요 구성요소를 정리하면 이래요:
cuda.core— 파이썬다운(pythonic) 방식으로 CUDA 런타임과 핵심 기능에 접근하는 고수준 API예요.cuda.bindings— CUDA C API의 저수준 파이썬 바인딩이에요.driver,runtime,nvrtc,nvvm,nvml등을 직접 호출해요.cuda.pathfinder— 사용자 파이썬 환경에 설치된 CUDA 구성요소를 찾아주는 유틸리티예요.cuda.coop/cuda.compute— CCCL의 디바이스·호스트 병렬 프리미티브(정렬·스캔·리듀스 등)를 파이썬에서 쓸 수 있게 한 모듈이에요.numba.cuda— 파이썬 부분집합을 CUDA 커널·디바이스 함수로 컴파일하는 DSL이에요.cuda.tile— NumPy 비슷한 코드를 CUDA 커널에서 쓰게 해 주는 타일 프로그래밍 DSL이에요.
이렇게 많은 모듈이 있지만, 가장 기본이 되는 축은 두 가지예요. 고수준 cuda.core(생산성)와 저수준 cuda.bindings(제어력). 두 문서 페이지에서 각각의 용례를 확인할 수 있어요.
참고: 이 문서는 development 브랜치 기준이라 설치 가이드는
cuda.bindings문서의 설치 섹션을 참고하는 게 정확해요.