딥러닝으로 배우는

CUDA프로그래밍

CAMP

GPU,병렬처리 개념부터.
실제 딥러닝 영상처리를 위한 6주 실습강의

#23개실습#Object detection
#CUDA프로그래밍

기간 & 일정

2019.04.06 – 05.11
매주 토요일 14:00 – 18:00
주 1회, 총 24시간

장소 & 준비물

패스트캠퍼스 강남강의장
강남역 4번 출구, 미왕빌딩
개인 노트북

담당자 & 문의

김상근 매니저
02-518-4834
help.camp.dev@fastcampus.co.kr

총 23가지 실습으로
병렬처리 개념, 행렬곱&Convolution 연산가속,
CUDA/cuDNN 활용 스킬을 배우는 6주강의
.

C/C++과 CUDA로 Object Detection 기법중 하나인 YOLO v2를 강사님과 함께 직접 실습하고,
현업에서 쓰이는 GPU기반의 병렬처리/최적화 기법을 배워가세요!

CUDA프로그래밍을 왜 딥러닝으로 배워야할까요?

모든 딥러닝 기술들을 많은 연산량이 필요합니다.
그 해결책으로 대부분의 딥러닝 프레임워크는 NVIDIA의 CUDA/cuDNN을 사용합니다.

CUDA프로그래밍은 딥러닝 기술의 핵심입니다.
딥러닝 기술의 핵심, 한 번 배워보는게 어떨까요?

이런 분들이라면, CUDA를 사용해보세요!

icon_woman3_3_oh

CUDA 프로그래밍이
필요한 분

icon_man3_3_oh

Deep learning을
C/C++에서 구현해야하는 분

icon_woman1_3_oh

Custom layer 구현이
필요한 분

icon_man2_3_oh

C/C++, CUDA 기반으로
프로그램 보안성을 높이고 싶은 분

수강생 체크리스트V

C/C++기반의 코드를 읽는데, 어려움이 없다

컴퓨터 구조와 연산방식에 대해 알고있다

Python이나 tensorflow 같은 프레임워크를 사용해본 적이 있다

위 세가지를 모두 체크하셨다면, 이 강의를 수강하셔도 좋습니다!

강의 특징.

CUDA
Programming
A – Z

병렬처리의 기법 중 가장 많이 사용하는 CUDA programming기법을 꼼꼼히 짚어주는 강의

CUDA로 직접 구현하는
딥러닝 기법

딥러닝에서 사용되는 다양한 layer들을 CUDA programming을 통해 직접 구현하면서 이해해 보는 강의

Object detection
YOLO v2 실습 구현

매주 CUDA programming을 실제로 적용해보는 예제를 거쳐 최종적으로 Objet detection YOLO v2를 CUDA로 구현해보는 강의

놓치지 말아야 할 추가 혜택+

6주 강의를 완벽히 소화할수 있도록!
CUDA 기초 온라인 강의가 아닌, 오프라인 강의와 똑같은 온라인강의를 제공합니다!

강의에서 다루게될 실습.

이 영상은 CUDA로 구성한 Object detection YOLO v2 실습 구현 결과물입니다

체계적으로 구성된 커리큘럼을 확인하세요.

주차 주제 세부내용
1 CUDA와 딥러닝 프레임워크 현황

CUDA/cuDNN을 사용하기 위한 병렬처리 개념과 프로그래밍 모델, 그래픽 카드 하드웨어 모델 등을 이해하고 병렬처리 개념을 소개합니다. 배운 내용들이 Caffe, Caffe2, Tensorflow에서 어떻게 쓰이고 있는지 소개합니다.

  • [실습] CUDA DeviceInfo
  • [실습] CUDA 기반 1차원/2차원 행렬 합,곱
  • [실습] 중첩 Reduce 연산 테크닉
  • [실습] Caffe, Caffe2, Tensorflow 코드 리뷰
2 GPU 메모리활용 1

CPU-GPU 간 데이터 복사가 이뤄지는 원리와, GPU 가 사용하는 여러 메모리 종류들의 특성들을 깊이있게 이해하고, 이를 바탕으로 효율적인 메모리 활용 테크닉을 학습하여 CUDA로 구현해봅니다.

  • [실습] 메모리 동기/비동기 복사
  • [실습] 공유 메모리/고정 메모리 복사
  • [실습] 글로벌 메모리/Zero-Copy 메모리 복사
  • [실습] 통합 메모리 복사
3 GPU 메모리 활용 2/ 스트림 활용

GPU의 리소스 활용을 최대화하기 위한 액세스 테크닉과 스트림의 개념을 이해하고 CUDA로 구현해봅니다.

  • [실습] 메모리 정합/정렬 액세스
  • [실습] 메모리 뱅크 충돌과 패딩 회피
  • [실습] 데이터 전송 스트림과 이벤트 구현
  • [실습] 스트림 동기화 구현
4 CUDA 디버깅과 프로파일링, cuDNN 활용

CUDA 프로그램을 실질적으로 디버깅하거나 성능 최적화하는 방법을 이해하고 이때 사용하는 도구들을 활용해봅니다. 병렬처리 성능을 극대화시키기 위해cuDNN 을 학습한 다음, 효율적인 Convolution연산을 위한 GEMM(General Matrix Multiplication) 알고리즘을 학습하고 직접 구현해봅니다.

  • [실습] CUDA 디버깅 도구 활용
  • [실습] CUDA 시각화/프로파일링 도구 활용
  • [실습] GEMM 구현
  • [실습] CUDA/cuDNN 기반 Convolution Layer
5 CUDA 딥러닝 구현

CUDA및 cuDNN을 활용해서 MaxPooling, Activation, FC 레이어 등을 구현해보고, 이들을 통합해서 Object Detection을 위한 YOLO v2를 구현해봅니다.

  • [실습] CUDA/cuDNN 기반 MaxPooling Layer
  • [실습] CUDA/cuDNN 기반 Activation Layer
  • [실습] CUDA/cuDNN 기반 FullyConnected Layer
  • [실습] YOLO v2 구현
6 딥러닝 프레임워크의 커스텀레이어 구현

CUDA/cuDNN 구현 테크닉들을 기반으로, Caffe/Caffe2/Tensorflow에서 각각 적용해볼 수 있는 자신만의 사용자 정의 레이어를 구현해봅니다.

  • [실습] Caffe Custom Layer(CPP, CUDA, cuDNN)구현
  • [실습] Caffe2 Custom Operator(CPP, CUDA, cuDNN)구현
  • [실습] Tensorflow Custom Operator(CPP, CUDA, cuDNN)구현
주차 세부내용
1

CUDA와 딥러닝 프레임워크 현황

CUDA/cuDNN을 사용하기 위한 병렬처리 개념과 프로그래밍 모델, 그래픽 카드 하드웨어 모델 등을 이해하고 병렬처리 개념을 소개합니다. 배운 내용들이 Caffe, Caffe2, Tensorflow에서 어떻게 쓰이고 있는지 소개합니다.

  • [실습] CUDA DeviceInfo
  • [실습] CUDA 기반 1차원/2차원 행렬 합,곱
  • [실습] 중첩 Reduce 연산 테크닉
  • [실습] Caffe, Caffe2, Tensorflow 코드 리뷰
2

GPU 메모리활용 1

CPU-GPU 간 데이터 복사가 이뤄지는 원리와, GPU 가 사용하는 여러 메모리 종류들의 특성들을 깊이있게 이해하고, 이를 바탕으로 효율적인 메모리 활용 테크닉을 학습하여 CUDA로 구현해봅니다.

  • [실습] 메모리 동기/비동기 복사
  • [실습] 공유 메모리/고정 메모리 복사
  • [실습] 글로벌 메모리/Zero-Copy 메모리 복사
  • [실습] 통합 메모리 복사
3

GPU 메모리 활용 2/ 스트림 활용

GPU의 리소스 활용을 최대화하기 위한 액세스 테크닉과 스트림의 개념을 이해하고 CUDA로 구현해봅니다.

  • [실습] 메모리 정합/정렬 액세스
  • [실습] 메모리 뱅크 충돌과 패딩 회피
  • [실습] 데이터 전송 스트림과 이벤트 구현
  • [실습] 스트림 동기화 구현
4

CUDA 디버깅과 프로파일링, cuDNN 활용

CUDA 프로그램을 실질적으로 디버깅하거나 성능 최적화하는 방법을 이해하고 이때 사용하는 도구들을 활용해봅니다. 병렬처리 성능을 극대화시키기 위해cuDNN 을 학습한 다음, 효율적인 Convolution연산을 위한 GEMM(General Matrix Multiplication) 알고리즘을 학습하고 직접 구현해봅니다.

  • [실습] CUDA 디버깅 도구 활용
  • [실습] CUDA 시각화/프로파일링 도구 활용
  • [실습] GEMM 구현
  • [실습] CUDA/cuDNN 기반 Convolution Layer
5

CUDA 딥러닝 구현

CUDA및 cuDNN을 활용해서 MaxPooling, Activation, FC 레이어 등을 구현해보고, 이들을 통합해서 Object Detection을 위한 YOLO v2를 구현해봅니다.

  • [실습] CUDA/cuDNN 기반 MaxPooling Layer
  • [실습] CUDA/cuDNN 기반 Activation Layer
  • [실습] CUDA/cuDNN 기반 FullyConnected Layer
  • [실습] YOLO v2 구현
6

딥러닝 프레임워크의 커스텀레이어 구현

CUDA/cuDNN 구현 테크닉들을 기반으로, Caffe/Caffe2/Tensorflow에서 각각 적용해볼 수 있는 자신만의 사용자 정의 레이어를 구현해봅니다.

  • [실습] Caffe Custom Layer(CPP, CUDA, cuDNN)구현
  • [실습] Caffe2 Custom Operator(CPP, CUDA, cuDNN)구현
  • [실습] Tensorflow Custom Operator(CPP, CUDA, cuDNN)구현

강의에 대한 전반적인 소개를 한 눈에 보고 싶다면? 교육 과정 소개서를 확인해주세요!
* 본 소개서는 회사 제출용으로도 사용 가능합니다.

6주동안 당신은!
Deep learning Application중 하나인 Object Detection YOLO v2를 직접 구현해 보고,
나만의 Custom layer를 직접 구현할 수 있게 됩니다 🙂

강사소개.

prcp_who
Michael Lee

프로젝트

  • 딥러닝 네트워크를 설계/구현해서 얼굴 인식
  • 얼굴 랜드마크 검출
  • Body Keypoint 검출을 통한 이상행동 검출
  • 임베디드 가속/최적화

이번 강의를 통해 수강생분들이 CUDA 병렬 처리의 개념과 GPU와 CPU 간의 통신, GPU 스트림, GPU 메모리 등에 대한 확실한 개념을 가질 수 있기를 바랍니다. 또한 CUDA 및 cuDNN 실습을 통해 Convolution의 GEMM 연산을 이해할 수 있었으면 합니다. 마지막으로, Caffe나 Tensorflow 등의 커스텀 레이어 제작 실습을 통해 향후 새로운 Deep learning알고리즘이 나왔을 때 쉽게 오픈된 코드를 이해하고, 다른 프레임워크로 포팅까지 할 수 있었으면 합니다.

QnA

병렬처리 프로그래밍은 왜 배워야 하나요?

병렬처리는 이론적인 학문과 달리 현업에서 많이 필요한 기술이고 생산성과 직접적으로 연관되므로 현업에서는 옵션이 아니라 필수적으로 적용 됩니다. 많은 라이브러리에 이미 포함되었지만 원리를 알게 되면 좀 더 적절하게 활용할 수 있고 실제 프로젝트의 Bottleneck을 해결하는데 도움이 됩니다. 예를 들면 머신비젼 분야에서 부품의 결함을 검출하는 알고리즘의 처리시간을 1/10로 단축시키면 생산성은 10배로 향상됩니다. 알고리즘 고속화로 생산성을 향상시킨다 것은 아주 매력적입니다.

CUDA가 뭔가요?

CUDA는 NVIDIA GPU에서만 사용가능한 병렬컴퓨팅 플랫폼이자 GPU를 쉽게 사용할수 있게 해주는 프로그래밍 모델입니다.
CUDA를 이용하면 기존에 C/C++나 python등으로 작성된 코드 중 병렬처리가 가능한 부분을 찾아서 GPU를 이용한 병렬처리를 쉽게 적용할 수 있습니다.

이 강의를 통해서 무엇을 배울 수 있나요?

이 강의를 통해서 딥러닝에서 사용되는 다양한 layer들을 CUDA programming을 통해 직접 만들어 봄으로써 CUDA programming 능력을 얻어 가실 수 있습니다. 또한 유명한 딥러닝 Application 중 하나인 YOLO v2 라는 Object Detection 기법을 프레임워크를 사용하지 않고 직접 CUDA programming을 통해 구현해보는 경험도 하실 수 있으며 추가적으로 직접 Custom layer까지 구현하는 방법을 배움으로써 CUDA를 통한 병렬처리의 기본, 실전, 응용까지 배울 수 있습니다.

강의안내 및 수강료.

보다 빠른 프로그래밍 처리를 원한다면 꼭 가져가야하는!

딥러닝으로 배우는 CUDA프로그래밍 CAMP

일    정 2019.04.06.~ 2019.05.11.
매주 토요일 14:00 ~ 18:00 | 총 6주
준비물 개인 노트북 사용 추천
(본인 PC에 맞는 개발 환경 설정 및 원활한 개별 실습을 위하여)
장    소 패스트캠퍼스 강남 강의장
문    의 김상근 매니저 : 02-518-4834
궁금하신 사항이 있으면 언제든 연락주세요 🙂

정가: 170만원

[다음코스 출시알림을 신청하세요]

※할인가는 매주 목요일 자정에 변경됩니다.

※ 카드 12개월 무이자 할부 가능!

출알신청하기

정가: 170만원

[다음코스 출시알림을 신청하세요]

※대학생은 상시 할인 혜택을 제공합니다.

※ 카드 12개월 무이자 할부 가능!

출알신청하기

6주 만에 23가지 실습!
조기마감주의!