0Pricing
CUDA Academy · 강의

딥러닝을 위한 cuDNN

대규모 컨볼루션과 텐서 연산을 다룹니다

딥러닝을 위한 cuDNN은(는) CoddyKit의 무료 CUDA Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 CUDA Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. CUDA Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

AI 프레임워크를 움직이는 엔진

cuDNN은 NVIDIA의 딥 러닝 라이브러리입니다. PyTorch와 TensorFlow는 빠른 합성곱과 신경망의 다른 구성 요소를 위해 이를 활용합니다. 🧠

합성곱에 도움이 필요한 이유

합성곱은 작은 필터를 이미지 위에서 이동시키며 막대한 양의 계산을 수행합니다. cuDNN은 순진한 커널보다 훨씬 빠르게 이를 구현합니다.

핸들로 시작하기

cuBLAS와 마찬가지로 cuDNN은 한 번 만들어 모든 연산에 재사용한 뒤 종료할 때 삭제하는 핸들에 상태를 저장합니다.

cudnnHandle_t h;
cudnnCreate(&h);

데이터 설명하기

cuDNN은 설명자를 통해 작동합니다. 텐서 설명자는 형태, 자료형, 배치를 기록하여 라이브러리가 처리 대상을 정확히 알 수 있게 합니다.

cudnnTensorDescriptor_t xDesc;
cudnnCreateTensorDescriptor(&xDesc);

NCHW 배치

텐서는 일반적으로 NCHW 형식입니다. 배치, 채널, 높이, 너비의 순서입니다. 계산이 올바르게 맞물리려면 이 배치를 정확히 설정해야 합니다.

cudnnSetTensor4dDescriptor(xDesc,
  CUDNN_TENSOR_NCHW, CUDNN_DATA_FLOAT, N, C, H, W);

필터에는 별도의 설명자가 필요합니다

합성곱 커널 가중치는 출력 채널, 입력 채널, 필터의 높이와 너비를 설명하는 별도의 필터 설명자를 사용합니다.

cudnnFilterDescriptor_t wDesc;
cudnnCreateFilterDescriptor(&wDesc);

합성곱 설정

합성곱 설명자는 패딩, 보폭, 확장률을 저장합니다. 이러한 설정이 필터가 입력 텐서를 가로지르는 방식을 결정합니다.

알고리즘 선택하기

cuDNN은 속도와 메모리 사이의 상충 관계가 서로 다른 여러 합성곱 알고리즘을 제공합니다. 텐서 형태에 가장 적합한 알고리즘을 조회할 수 있습니다.

작업 공간 확보하기

빠른 알고리즘에는 임시 작업 공간이 필요합니다. cuDNN이 미리 알려 주는 크기만큼 장치에 작업 공간 버퍼를 할당합니다.

size_t bytes;
cudnnGetConvolutionForwardWorkspaceSize(...,&bytes);

순전파 실행하기

cudnnConvolutionForward는 핸들, 설명자, 알고리즘, 작업 공간을 모두 연결하여 한 번의 호출로 출력 특징 맵을 생성합니다.

cudnnConvolutionForward(h, &alpha, xDesc, x,
  wDesc, w, convDesc, algo, ws, bytes, &beta, yDesc, y);

합성곱 그 이상

cuDNN은 현대 신경망을 구성하는 다른 계층인 풀링, 활성화, 정규화도 가속합니다.

빠른 확인

cuDNN이 무엇을 가속하도록 만들어졌는지 떠올려 보세요.

복습

핸들을 설정하고 NCHW 형식으로 텐서와 필터를 설명했으며, 작업 공간과 함께 알고리즘을 선택하고 합성곱 순전파를 실행했습니다. 🎓

자주 묻는 질문

“딥러닝을 위한 cuDNN” 강의는 무료인가요?

네 — “딥러닝을 위한 cuDNN” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 CUDA Academy 강의 전체를 잠금 해제할 수 있습니다. CUDA Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“딥러닝을 위한 cuDNN”에서 뭘 배우나요?

대규모 컨볼루션과 텐서 연산을 다룹니다 브라우저에서 직접 실행하는 실습 코드로 CUDA Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

CUDA Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 CUDA Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“딥러닝을 위한 cuDNN” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 CUDA Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 CUDA Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. cuBLAS GEMM 제대로 사용하기
  2. Thrust 벡터와 변환
  3. Thrust의 리듀스, 스캔, 정렬
  4. 딥러닝을 위한 cuDNN
← CUDA Academy(으)로 돌아가기