Fundamentals of Accelerated Computing with 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분)
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분)
  • · 핵심 내용을 복습하고 질문에 답하기
  • · 평가를 완료하고 인증서 취득하기
  • · 워크숍 설문지 작성하기