Fundamentals of Accelerated Computing with CUDA Python
(CUDA Python을 활용한 가속 컴퓨팅의 기초)
(CUDA Python을 활용한 가속 컴퓨팅의 기초)
이 교육에서는 CUDA® GPU와 Numba 컴파일러를 사용하여 GPU 가속 Python 애플리케이션을 실행하기 위한 기본 도구 및 기술을 배울 수 있습니다.
- 교육시간
- 1일 8시간
- 언어
- 한국어, 영어
- 기술
- Numba, NumPy

학습목표
교육이 끝나면 CUDA 및 Numba를 사용하여 GPU 가속 Python 애플리케이션을 실행하기 위한 기본 도구 및 기술에 대하여 수행할 수 있습니다.
-
01
몇 줄의 코드만으로 GPU 가속 NumPy ufuncs 사용 -
02
CUDA 스레드 계층 구조를 사용하여 코드 병렬화 구성 -
03
최대의 성능과 유연성을 위해 사용자 지정 CUDA 디바이스 커널 작성 -
04
메모리 결합 및 디바이스 공유 메모리를 사용하여 CUDA 커널 대역폭 증대
- 전제조건
- 변수 유형, 루프, 조건문, 함수, 어레이 처리 등 기본 Python 역량
-
>
ndarrays 및 ufuncs의 사용을 포함하는 NumPy 역량
-
>
CUDA 프로그래밍 사전 지식 필요 없음
- 인증서
- 평가를 성공적으로 완료한 참가자는 관련 분야에 대한 역량을 인정 받고, 전문적 커리어 성장을 지원하는 NVIDIA DLI 인증서를 받게 됩니다.
- 사전준비 (하드웨어 요구 사항)
- 최신 버전의 Chrome 또는 Firefox를 실행할 수 있는 데스크톱 또는 노트북을 준비한 참가자에게는 클라우드 상에서 완전하게 구성된 GPU 가속 서버에 접근할 수 있는 전용 권한이 주어집니다.
교육개요
인트로(15분) |
· 전문가 강사와 만나기 · courses.nvidia.com/join에서 계정 생성하기 |
---|---|
Numba를 사용하는 CUDA Python 개론 (120분) |
· Python에서 Numba 컴파일러 및 CUDA 프로그래밍 작업 시작하기 · Numba 데코레이터를 사용하여 숫자 Python 함수의 GPU 가속화하기 · 호스트-디바이스 및 디바이스-호스트로의 메모리 전송 최적화하기 |
휴식 (60분) | |
Custom CUDA Kernels in Python with Numba (120분) |
· CUDA의 병렬 스레드 계층과 병렬 프로그램 가능성을 확장하는 방법 알아보기 · GPU에서 대규모 병렬 맞춤형 CUDA 커널 실행하기 · CUDA 원자적 연산을 활용하여 병렬 처리 실행 시 경쟁 상태 해결하기 |
휴식 (15분) | |
다차원 그리드 및 Numba를 사용한 CUDA Python의 공유 메모리 (120분) |
· xoroshiro128+ RNG(난수 생성)을 사용하여 GPU 가속 Monte Carlo 방법 적용하기 · 다차원 그리드 생성 및 2D 행렬에서 병렬로 작업하는 방법 알아보기 · 디바이스의 공유 메모리를 활용하여 메모리 병합을 촉진하면서 2D 행렬 재구축하기 |
최종 복습 (15분) |
· 핵심 내용을 복습하고 질문에 답하기 · 평가를 완료하고 인증서 취득하기 · 워크숍 설문지 작성하기 |