코스 개요

소개

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

CUDA 기능 및 아키텍처 개요

  • GPU와 CPU 아키텍처 비교
  • SIMT (Single Instruction, Multiple Threads) 이해
  • CUDA 프로그래밍 모델

개발 환경 설정

  • CUDA Toolkit 및 드라이버 설치
  • Python과 Numba 설치
  • 환경 설정 및 검증

병렬 프로그래밍 기초

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

Numba 컴파일러 사용

  • Numba 소개
  • Numba를 사용한 CUDA 커널 작성
  • @cuda.jit 데코레이터 이해

사용자 정의 CUDA 커널 구축

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

메모리 관리

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

GPU 가속 고급 주제

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

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

  • CPU 코드 프로파일링
  • 병렬화 가능한 섹션 식별
  • 논리를 CUDA 커널로 이식

트러블슈팅

  • CUDA 애플리케이션 디버깅
  • 일반적인 오류와 해결 방법
  • 테스트 및 검증을 위한 도구와 기술

요약 및 다음 단계

  • 주요 개념 요약
  • GPU 프로그래밍 최선의 관행
  • 계속 학습할 수 있는 자원

요건

  • Python 프로그래밍 경험이 필요합니다.
  • NumPy (ndarrays, ufuncs 등)에 대한 경험.

대상자

  • 개발자들
 14 시간

참가자 수


참가자별 가격

회원 평가 (1)

예정된 코스

관련 카테고리