0Pricing
CUDA Academy icon

CUDA Academy

CPPEnterpriseDesktopAi

CUDA C++로 GPU를 프로그래밍하세요. 스레드와 메모리 계층 구조부터 커널, 최적화, 실제 병렬 컴퓨팅까지 다룹니다.

🤖 AI 기반📚 30개 코스👥 100,000명 이상의 학습자⭐ 4.9 평점
코스 개요

CUDA: GPU Programming with C++

CUDA C++로 GPU를 프로그래밍하세요. 스레드와 메모리 계층 구조부터 커널, 최적화, 실제 병렬 컴퓨팅까지 다룹니다. 이 트랙은 초급(A1)부터 고급(B2)까지 30개의 점진적 미니 코스로 구성되어 있으며, 짧고 집중된 레슨과 빠른 퀴즈를 통해 각 개념을 확실히 익힐 수 있습니다.

What You Will Learn

기초부터 시작하여 중급과 고급 주제를 단계적으로 쌓아 올리며, 각 코스가 이전 코스를 기반으로 합니다. 모든 레슨은 실용적이고 한입 크기로 제공되며, 필요할 때 언제든지 24/7 AI 튜터의 도움을 받을 수 있습니다.

How It Works

각 코스는 4개의 집중적이고 한입 크기의 레슨으로 나뉩니다. 하루에 몇 개의 레슨을 완료하면 몇 개월이 아닌 몇 주 안에 전체 트랙을 마스터할 수 있습니다.

학습 시작 →

학습 방식

🎯
인터랙티브 레슨
실시간 피드백을 받으며 직접 코딩 연습하기
🤖
AI 튜터
막힐 때마다 AI 튜터에게 즉시 도움받기
💻
내장 에디터
브라우저에서 바로 코드 작성 & 실행하기
🏆
수료증
과정을 완료하면 수료증 취득하기
커리큘럼

30개 코스

CUDA Academy 학습 경로의 모든 코스.

01

GPU가 병렬 작업을 압도하는 이유

A14개 레슨

GPU가 무엇인지 설명하고 병렬 문제에서 수천 개의 작은 코어가 소수의 빠른 CPU 코어보다 뛰어난 이유를 알아보세요.

02

CUDA 도구 체인 설정하기

A14개 레슨PRO

CUDA Toolkit을 설치하고 드라이버를 확인한 뒤 nvcc로 첫 프로그램을 컴파일하세요.

03

호스트와 장치: 두 세계

A14개 레슨PRO

CPU 호스트 코드와 GPU 장치 코드를 구분하고 각 측이 접근할 수 있는 메모리를 파악하세요.

04

첫 커널 작성하기

A14개 레슨PRO

장치 내부에서 출력하는 GPU 커널을 정의하고 실행하세요.

05

스레드, 블록과 그리드

A14개 레슨PRO

문제를 CUDA의 스레드, 블록, 그리드 계층에 매핑하세요.

06

전역 스레드 인덱싱

A24개 레슨PRO

각 스레드가 정확히 하나의 데이터 요소를 처리하도록 고유한 전역 인덱스를 계산하세요.

07

장치 메모리 관리하기

A24개 레슨PRO

GPU 메모리를 할당하고 해제하며 장치 힙을 이해하세요.

08

cudaMemcpy로 데이터 이동하기

A24개 레슨PRO

호스트와 장치 사이에서 배열을 양방향으로 안정적으로 전송하세요.

09

벡터 덧셈 처음부터 끝까지 만들기

A24개 레슨PRO

할당부터 검증까지 GPU에서 완전한 C = A + B 프로그램을 작성하세요.

10

CUDA 오류 올바르게 처리하기

A24개 레슨PRO

API 호출과 커널 실행에서 발생한 CUDA 실패를 감지하고 보고하세요.

11

CUDA 메모리 계층 매핑하기

B14개 레슨PRO

전역, 공유, 상수, 로컬 메모리와 레지스터 중 알맞은 메모리 공간을 선택하세요.

12

전역 메모리 접근 병합하기

B14개 레슨PRO

워프가 한 번의 트랜잭션으로 연속된 메모리를 읽도록 접근 패턴을 배치하세요.

13

온칩 공유 메모리 마스터하기

B14개 레슨PRO

__shared__ 메모리와 __syncthreads를 사용해 블록 안에서 데이터를 공유하세요.

14

공유 메모리에서 알고리즘 타일링하기

B14개 레슨PRO

데이터를 재사용하고 전역 메모리 트래픽을 줄이는 로드-동기화-계산 타일링 패턴을 적용하세요.

15

타일 방식 행렬 곱셈

B14개 레슨PRO

순진한 버전보다 훨씬 빠른 공유 메모리 기반 타일 GEMM을 만드세요.

16

제대로 구현하는 병렬 리덕션

B14개 레슨PRO

트리 기반 리덕션으로 GPU에서 배열의 합을 효율적으로 계산하세요.

17

안전한 동시성을 위한 원자 연산

B14개 레슨PRO

경쟁 조건 없이 공유 결과를 갱신하도록 원자 연산을 사용하세요.

18

CUDA 스트림으로 작업 겹치기

B14개 레슨PRO

기본 스트림이 아닌 스트림을 사용해 커널과 전송을 동시에 실행하세요.

19

비동기 전송과 페이지 고정 메모리

B14개 레슨PRO

페이지 고정 호스트 메모리와 스트림 내 비동기 복사로 전송 속도를 높이세요.

20

통합 메모리로 단순화하기

B14개 레슨PRO

호스트와 장치가 공유하는 하나의 포인터에 cudaMallocManaged를 사용하세요.

21

점유율과 실행 구성 조정하기

B24개 레슨PRO

블록 크기를 선택하고 자원을 제한해 SM 점유율을 극대화하세요.

22

Nsight로 커널 프로파일링하기

B24개 레슨PRO

Nsight Systems와 Nsight Compute 지표로 병목을 찾아내세요.

23

워프 수준 기본 연산과 셔플

B24개 레슨PRO

공유 메모리 없이 셔플 및 투표 내장 함수를 사용해 워프 내부에서 데이터를 교환하세요.

24

고급 커널 최적화

B24개 레슨PRO

ILP, 루프 언롤링, 벡터화 로드를 적용해 최고 성능을 끌어내세요.

25

여러 GPU로 확장하기

B24개 레슨PRO

작업을 여러 GPU에 나누고 P2P로 GPU 사이에서 데이터를 직접 이동하세요.

26

cuBLAS와 Thrust로 가속하기

B24개 레슨PRO

GEMM, 정렬, 병렬 알고리즘에 NVIDIA의 최적화된 라이브러리를 호출하세요.

27

동적 병렬성과 CUDA 그래프

B24개 레슨PRO

장치에서 커널을 실행하고 작업을 재사용 가능한 CUDA 그래프로 캡처하세요.

28

텐서 코어 프로그래밍

B24개 레슨PRO

WMMA API를 통해 혼합 정밀도 텐서 코어로 행렬 연산을 빠르게 수행하세요.

29

cuda-gdb와 Sanitizer로 디버깅하기

B24개 레슨PRO

CUDA 디버깅 도구로 충돌, 경쟁 조건, 메모리 오류를 추적하세요.

30

최종 프로젝트: GPU 이미지 파이프라인

B24개 레슨PRO

커널, 스트림, 프로파일링을 결합해 GPU로 가속된 실제 이미지 처리기를 만드세요.

자주 묻는 질문

자주 묻는 질문

CUDA Academy 강의는 무료인가요?

네, CUDA Academy 강의를 무료로 시작하고 인터랙티브 레슨을 모두 무료로 완료할 수 있습니다. 선택적 PRO 구독을 통해 고급 AI 도구와 공유 가능한 수료증을 잠금 해제할 수 있습니다.

CPP을(를) 배우기 위해 사전 경험이 필요한가요?

아니요. 강의는 기초부터 시작하여 점차 더 심화된 주제로 나아가므로 CPP 경험이 없어도 시작할 수 있습니다.

CoddyKit에서 CPP은(는) 어떻게 배우나요?

직접 해보면서 배웁니다. 짧은 인터랙티브 레슨은 명확한 설명과 실시간으로 실행되는 실습 코딩 연습을 함께 제공하며, 24시간 AI 튜터가 막힐 때마다 맞춤형 도움을 줍니다.

CUDA Academy을(를) 완료하면 수료증을 받나요?

네, PRO 학습자는 시험을 응시하고 CUDA Academy 강의의 검증 코드가 포함된 공유 가능한 수료증을 취득할 수 있습니다.

휴대폰에서 CPP을(를) 배울 수 있나요?

네, CoddyKit은 웹과 iOS, Android 네이티브 앱으로 이용 가능하므로 어느 기기에서나 CPP을(를) 배우고 진행 상황이 모든 기기에서 동기화됩니다.

CUDA Academy을(를) 지금 시작하기

AI 기반 강의로 프로그래밍을 배우는 수천 명의 학습자들과 함께하세요.

무료로 시작하기 →모든 강의 보기