문의를 보내주셔서 감사합니다! 팀원이 곧 연락드리겠습니다.
예약을 보내주셔서 감사합니다! 저희 팀 멤버 중 한 분이 곧 연락드리겠습니다.
코스 개요
GPU 컴퓨팅 및 CUDA 아키텍처
- CPU와 GPU 아키텍처의 차이점
- NVIDIA GPU 스트리밍 멀티프로세서 모델
- CUDA 프로그래밍 모델 개요
- 이종 컴퓨팅과 호스트-장치 패러다임
CUDA 개발 환경 설정
- CUDA Toolkit 13.x 설치
- NVCC 컴파일러 및 빌드 워크플로우
- 장치 쿼리를 통한 환경 검증
- IDE 통합 및 개발 도구
CUDA 커널 작성 및 실행
- 커널 함수 구문 및 한정자
- 실행 구성 및 실행
- 벡터 덧셈 및 기본 데이터 병렬 패턴
- CUDA 오류 검사 매크로
CUDA 스레드 계층 구조 및 실행 모델
- 그리드, 블록 및 스레드 조직화
- 스레드 인덱싱 및 전역 ID 계산
- 와프(warp) 실행 및 SIMT(Single Instruction, Multiple Threads) 모델
- occupancy(점유율) 및 리소스 활용도
GPU 메모리 아키텍처 및 관리
- 메모리 유형: 글로벌, 공유, 상수, 레지스터
- 장치 메모리 할당 및 해제
- 호스트-장치 간 및 장치-호스트 간 전송
- 블록 내 협업을 위한 공유 메모리
통합 메모리 및 데이터 마이그레이션
- 통합 메모리 모델 및 관리된 할당
- 페이지 마이그레이션 및 요청 시 페이징
- cudaMemPrefetchAsync를 통한 비동기 사전 검색
- 액세스 패턴을 위한 메모리 어드바이스 힌트
Nsight Systems를 사용한 시스템 전체 프로파일링
- Nsight Systems 타임라인 분석
- CPU-GPU 동기화 지점 식별
- 커널 실행 및 메모리 전송 시각화
- 시스템 수준 성능 데이터 해석
Nsight Compute를 활용한 커널 최적화
- Nsight Compute 상호작용형 커널 프로파일링
- 메모리 처리량 및 대역폭 분석
- 계산 활용도 및 와프 상태 통계
- 가이드라인 분석 및 최적화 규칙
동시 스트림 및 비동기 작업
- CUDA 스트림 및 기본 스트림
- 데이터 전송과 커널 실행의 중복
- 스트림 동기화 및 CUDA 이벤트
- 다중 스트림 파이프라인 설계 패턴
오류 처리 및 디버깅 도구
- CUDA API 오류 코드 및 복구 전략
- 메모리 접근 검사를 위한 compute-sanitizer
- 커널 디버깅을 위한 cuda-gdb
- 어설션(assertion) 및 동기식 오류 감지
프로파일 기반 최적화 워크플로우
- 반복적 프로파일링 방법론
- 병목 지점 식별 및 우선순위 지정
- 성능 회귀 테스트
- 최적화 결정 문서화
종단 간 가속 애플리케이션 프로젝트
- 완전한 GPU 가속 솔루션 설계
- 개발 전 과정에 프로파일링 통합
- 성능 벤치마킹 및 보고
- 프로덕션 배포 고려 사항
요건
- 변수 형식, 반복문, 조건문, 함수, 배열 조작 등을 포함한 기본 C/C++ 프로그래밍 역량
- 명령줄에서 프로그램 컴파일 및 실행에 대한 친숙함
- GPU 또는 CUDA 프로그래밍 경험은 불필요
대상 고객
- GPU를 사용해 C/C++ 애플리케이션을 가속하고자 하는 소프트웨어 개발자 및 엔지니어
- CPU 전용 환경에서 이종 컴퓨팅으로 전환하려는 과학 연구자 및 HPC 전문가
- 프로덕션 워크로드에 GPU 가속을 평가하는 기술 리더
8 시간