강좌 목록으로 돌아가기
AI021
전문가
CUDA 프로그래밍 가이드
개발자가 NVIDIA GPU에서 실행되는 고성능 코드를 작성하는 방법을 배우고 CUDA 프로그래밍 모델을 이해할 수 있도록 하는 공식이고 종합적인 자료입니다. 이 안내서에서는 플랫폼 아키텍처, 프로그래밍 인터페이스, 고급 하드웨어 기능 및 기술 사양에 대해 다룹니다.
5.0
30.0h
1762 학생들
5개 레슨
1 좋아요
인공지능
강좌 개요
콘텐츠 요약
개발자가 NVIDIA GPU에서 실행되는 고성능 코드를 작성하기 위해 CUDA 프로그래밍 모델을 배우는 공식이고 종합적인 자료. 이 가이드는 플랫폼 아키텍처, 프로그래밍 인터페이스, 고급 하드웨어 기능 및 기술 사양을 다룹니다.
업계 표준인 NVIDIA CUDA 안내서를 통해 병렬 컴퓨팅의 예술을 마스터하세요.
저자: NVIDIA Corporation
감사의 말: 저작권 © 2007-2024 NVIDIA Corporation 및 계열사. 모든 권리 보유.
학습 목표
- 이질적 시스템 내에서 호스트(클라이언트)와 디바이스(그래픽 처리 장치)의 역할을 정의합니다.
- SIMT 프로그래밍 모델과 스레드, 블록, 격자 간의 계층적 조직 구조를 설명합니다.
- PTX(병렬 스레드 실행)와 바이너리 코드(cubins)의 차이점을 구분하고, 즉시 컴파일(JIT) 컴파일이 호환성을 어떻게 지원하는지 설명합니다.
- CUDA 커널 개발 및 컴파일: global 함수 작성, 삼중 화살표 표기법을 사용한 실행 구성, NVCC 컴파일 워크플로우 관리.
- 메모리 및 데이터 이동 최적화: 유니티드, 명시적, 매핑된 메모리 모델의 차이점을 구분하고, 효율적인 전송을 위한 페이지 잠금 호스트 메모리 구현.
- 병렬 실행 관리: CUDA 스트림, 이벤트, 협력 그룹을 활용하여 비동기 작업을 관리하고 CPU-GPU 연산을 동기화합니다.
- 복잡한 포인터 산술 수행 및 아키텍처적 성능 저하 요인(본 네만 대비 하버드 구조) 식별.
- 프로그래밍 기반 의존성 커널 실행 및 이질적 버치 메모리 전송과 같은 고급 CUDA 실행 패턴 구현.
- 스레드 범위, 비동기 프록시, 파이프라인과 같은 하드웨어 전용 기능을 활용하여 동시성 최대화.
- 프리패칭, 사용 힌트, 페이지 크기 관리 등을 통해 유니티드 메모리 성능을 구성하고 튜닝.