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분) |
|
JupyterLab 사용 (15분) | · GPU 가속 인터랙티브 JupyterLab 환경에 익숙해지기 |
애플리케이션 개요 (15분) |
|
CUDA 스트림 소개 (90분) |
|
휴식 (60분) | |
CUDA 스트림을 통한 복사 / 컴퓨팅 오버랩(90분) |
|
멀티 GPU와 CUDA C++ (60분) |
|
휴식 (15분) | |
멀티 GPU를 통한 복사 / 컴퓨팅 오버랩(60분) |
|
과정평가 (30분) | |
최종 복습 (30분) |
|