Course Outline

소개

  • GPU 프로그래밍이란 무엇인가?
  • CUDA와 함께 Python를 사용하는 이유는?
  • 핵심 개념: 스레드, 블록, 그리드

CUDA 기능과 아키텍처 개요

  • GPU vs CPU 아키텍처
  • SIMT (단일 명령 다중 스레드) 이해하기
  • CUDA 프로그래밍 모델

개발 환경 설정

  • CUDA 툴킷과 드라이버 설치
  • Python와 Numba 설치
  • 환경 설정 및 확인하기

병렬 Programming 기초

  • 병렬 실행 소개
  • 스레드와 스레드 계층 이해하기
  • 워프와 동기화 작업 수행하기

Numba 컴파일러 사용하기

  • Numba 소개
  • Numba로 CUDA 커널 작성하기
  • @cuda.jit 데코레이터 이해하기

커스텀 CUDA 커널 구축하기

  • 기본 커널 작성 및 실행하기
  • 요소별 작업을 위한 스레드 사용하기
  • 그리드와 블록 차원 관리하기

메모리 Management

  • GPU 메모리 유형 (전역, 공유, 로컬, 상수)
  • 호스트와 디바이스 사이의 메모리 전송
  • 메모리 사용 최적화 및 병목 현상 피하기

GPU 가속화 고급 주제

  • 공유 메모리와 동기화
  • 비동기 실행을 위한 스트림 사용하기
  • 멀티-GPU 프로그래밍 기초

CPU 기반 애플리케이션을 GPU로 변환하기

  • CPU 코드 프로파일링
  • 병렬 처리 가능한 부분 식별하기
  • 로직을 CUDA 커널로 포팅하기

문제 해결

  • CUDA 애플리케이션 디버깅하기
  • 자주 발생하는 오류와 그 해결 방법
  • 테스트 및 검증을 위한 도구와 기술

요약과 다음 단계

  • 핵심 개념 복습
  • GPU 프로그래밍의 베스트 프랙티스
  • 계속 학습을 위한 자료

Requirements

  • Python 프로그래밍 경험
  • NumPy(ndarrays, ufuncs 등) 경험

청중

  • 개발자
 14 Hours

Number of participants


Price per participant

회원 평가 (1)

Upcoming Courses

Related Categories