Accelerating CUDA C++ Applications with Multiple GPUs
(멀티 GPU 기반 CUDA C++ 애플리케이션 가속화)

  • 교육시간

    1일 8시간

  • 언어

    영어

  • 기술

    CUDA C++, Nsight Systems

이미지

교육목적

고성능 컴퓨팅, 데이터 사이언스, 생물 정보학 및 딥 러닝의 컴퓨팅 집약적인 CUDA® C++ 애플리케이션을 멀티 GPU로 가속화하고 이에 따라 처리량을 늘리고 총 런타임을 줄일 수 있습니다. 컴퓨팅과 메모리 전송의 동시 사용과 합쳐지면 메모리 전송 비용을 높이지 않고도 멀티 GPU로 컴퓨팅을 확장할 수 있습니다. 멀티 GPU 서버를 보유한 조직의 경우 클라우드에서든 NVIDIA DGX™ 시스템에서든 이러한 기술을 통해 GPU 가속 애플리케이션에서 최고 성능을 발휘할 수 있습니다. 또한 여러 노드에 걸쳐 애플리케이션을 확장하기 전에 이러한 단일 노드 멀티 GPU 기술을 구현하는 것이 중요합니다.

이 교육은 단일 노드에서 사용 가능한 모든 GPU를 효율적이고 올바르게 활용하는 CUDA C++ 애플리케이션을 작성하여 애플리케이션의 성능을 크게 개선하고 멀티 GPU를 통해 시스템을 가장 비용 효율적으로 활용하는 방법을 설명합니다.

  • 전제조건
    • nvcc 컴파일러 사용, 커널 실행, 그리드-스트라이드 루프, 호스트-디바이스 및 디바이스-호스트로 메모리 전송, CUDA 오류 처리 등 CUDA C/C++ 애플리케이션 프로그래밍 전문 경험
    • Linux 명령 줄 이해
    • makefile로 C/C++ 코드를 컴파일한 경험
  • 인증서

    평가를 성공적으로 완료한 참가자는 관련 분야에 대한 역량을 인정 받고, 전문적 커리어 성장을 지원하는 NVIDIA DLI 인증서를 받게 됩니다.

  • 사전준비 (하드웨어 요구 사항)

    최신 버전의 Chrome 또는 Firefox를 실행할 수 있는 데스크톱 또는 노트북을 준비한 참가자에게는 클라우드 상에서 완전하게 구성된 GPU 가속 서버에 접근할 수 있는 전용 권한이 주어집니다.

교육문의하기

학습목표

  • 01

    동시 CUDA 스트림을 사용하여 메모리 전송을 GPU 컴퓨팅과 중복 사용

  • 02

    단일 노드에서 사용 가능한 모든 GPU를 활용하여 사용 가능한 모든 GPU로 워크로드 확장

  • 03

    복사 및 컴퓨팅 오버랩 기능을 멀티 GPU와 결합

  • 04

    NVIDIA Nsight™ Systems Visual Profiler 타임라인을 중심으로 워크샵에서 다루는 기술의 개선 기회 및 영향 관찰

NVIDIA | DEEP LEARNING INSTITUTE

교육개요

인트로(15분)
JupyterLab 사용 (15분) · GPU 가속 인터랙티브 JupyterLab 환경에 익숙해지기
애플리케이션 개요 (15분)
  • · 워크숍 과정의 시작점인 단일 GPU CUDA C++ 애플리케이션을 직접 경험하기
  • · Nsight Systems를 사용하는 단일 GPU CUDA C++ 애플리케이션의 현재 성능 알아보기
CUDA 스트림 소개 (90분)
  • · 동시 CUDA 스트림 동작을 관리하는 규칙을 학습하기
  • · 여러 CUDA 스트림을 사용하여 동시 호스트-디바이스 및 디바이스-호스트로 메모리 전송하기
  • · GPU 커널을 실행하기 위해 멀티 CUDA 스트림 활용하기
  • · Nsight Systems Visual Profiler 타임라인 뷰의 멀티 스트림 알아보기
휴식 (60분)
CUDA 스트림을 통한 복사 /
컴퓨팅 오버랩(90분)
  • · 복사/컴퓨팅 오버랩을 효과적으로 수행하기 위한 핵심 개념 학습하기
  • · 애플리케이션에서 복사/컴퓨팅 오버랩을 유연하게 사용하기 위한 강력한 인덱싱 전략 살펴보기
  • · 단일 GPU CUDA C++ 애플리케이션을 리팩토링하여 복사/컴퓨팅 오버랩 수행하기
  • · Nsight Systems Visual Profiler 타임라인에서 복사/컴퓨팅 오버랩 확인하기
멀티 GPU와 CUDA C++ (60분)
  • · CUDA C++를 포함하는 단일 노드에서 멀티 GPU를 효과적으로 사용하기 위한 핵심 개념 학습하기
  • · 애플리케이션에서 멀티 GPU를 유연하게 사용하기 위한 강력한 인덱싱 전략 살펴보기
  • · 단일 GPU CUDA C++ 애플리케이션을 리팩토링하여 멀티 GPU 활용하기
  • · Nsight Systems Visual Profiler 타임라인에서 멀티 GPU의 활용법 확인하기
휴식 (15분)
멀티 GPU를 통한 복사 /
컴퓨팅 오버랩(60분)
  • · 멀티 GPU에서 효과적으로 복사/컴퓨팅 오버랩을 수행하기 위한 핵심 개념 학습하기
  • · 멀티 GPU에서 복사/컴퓨팅 오버랩을 유연하게 사용하기 위한 강력한 인덱싱 전략 살펴보기
  • · 단일 GPU CUDA C++ 애플리케이션을 리팩토링하여 멀티 GPU에서 복사/컴퓨팅 오버랩 수행하기
  • · 멀티 GPU에서 복사/컴퓨팅 오버랩의 성능적 이점 알아보기
  • · Nsight Systems Visual Profiler 타임라인에서 멀티 GPU의 복사/컴퓨팅 오버랩 확인하기
과정평가 (30분)
최종 복습
(30분)
  • · 핵심 내용을 복습하기
  • · DLI 기본 환경 컨테이너에서 자체적인 실습 환경을 구축하는 방법 학습하기
  • · 워크숍 설문지 작성하기