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 타임라인을 중심으로 워크샵에서 다루는 기술의 개선 기회 및 영향 관찰
교육개요
인트로(15분) · 전문가 강사와 만나기
· courses.nvidia.com/join에서 계정 생성하기
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 기본 환경 컨테이너에서 자체적인 실습 환경을 구축하는 방법 학습하기
· 워크숍 설문지 작성하기