강좌 목록으로 돌아가기
AI021 Professional

CUDA 프로그래밍 가이드

개발자가 NVIDIA GPU에서 실행되는 고성능 코드를 작성하는 방법을 배우고 CUDA 프로그래밍 모델을 이해할 수 있도록 하는 공식이고 종합적인 자료입니다. 이 안내서에서는 플랫폼 아키텍처, 프로그래밍 인터페이스, 고급 하드웨어 기능 및 기술 사양에 대해 다룹니다.

5.0
30.0h
1762 학생들
1 좋아요
인공지능
수강 시작하기

강좌 개요

📚 콘텐츠 요약

개발자가 NVIDIA GPU에서 실행되는 고성능 코드를 작성하기 위해 CUDA 프로그래밍 모델을 배우는 공식이고 종합적인 자료. 이 가이드는 플랫폼 아키텍처, 프로그래밍 인터페이스, 고급 하드웨어 기능 및 기술 사양을 다룹니다.

업계 표준인 NVIDIA CUDA 안내서를 통해 병렬 컴퓨팅의 예술을 마스터하세요.

저자: NVIDIA Corporation

감사의 말: 저작권 © 2007-2024 NVIDIA Corporation 및 계열사. 모든 권리 보유.

🎯 학습 목표

  1. 이질적 시스템 내에서 호스트(클라이언트)와 디바이스(그래픽 처리 장치)의 역할을 정의합니다.
  2. SIMT 프로그래밍 모델과 스레드, 블록, 격자 간의 계층적 조직 구조를 설명합니다.
  3. PTX(병렬 스레드 실행)와 바이너리 코드(cubins)의 차이점을 구분하고, 즉시 컴파일(JIT) 컴파일이 호환성을 어떻게 지원하는지 설명합니다.
  4. CUDA 커널 개발 및 컴파일: global 함수 작성, 삼중 화살표 표기법을 사용한 실행 구성, NVCC 컴파일 워크플로우 관리.
  5. 메모리 및 데이터 이동 최적화: 유니티드, 명시적, 매핑된 메모리 모델의 차이점을 구분하고, 효율적인 전송을 위한 페이지 잠금 호스트 메모리 구현.
  6. 병렬 실행 관리: CUDA 스트림, 이벤트, 협력 그룹을 활용하여 비동기 작업을 관리하고 CPU-GPU 연산을 동기화합니다.
  7. 복잡한 포인터 산술 수행 및 아키텍처적 성능 저하 요인(본 네만 대비 하버드 구조) 식별.
  8. 프로그래밍 기반 의존성 커널 실행 및 이질적 버치 메모리 전송과 같은 고급 CUDA 실행 패턴 구현.
  9. 스레드 범위, 비동기 프록시, 파이프라인과 같은 하드웨어 전용 기능을 활용하여 동시성 최대화.
  10. 프리패칭, 사용 힌트, 페이지 크기 관리 등을 통해 유니티드 메모리 성능을 구성하고 튜닝.

수업