Course Outline

소개

  • ROCm이란 무엇입니까?
  • HIP란 무엇인가요?
  • ROCm 대 CUDA 대 OpenCL
  • ROCm 및 HIP 기능과 아키텍처 개요
  • 개발 환경 설정

시작하기

  • Visual Studio 코드를 사용하여 새 ROCm 프로젝트 생성
  • 프로젝트 구조 및 파일 탐색
  • 프로그램 컴파일 및 실행
  • printf 및 fprintf를 사용하여 출력 표시

ROCm API

  • 호스트 프로그램에서 ROCm API의 역할 이해
  • ROCm API를 사용하여 장치 정보 및 기능 쿼리
  • ROCm API를 사용하여 장치 메모리 할당 및 할당 해제
  • ROCm API를 사용하여 호스트와 장치 간에 데이터 복사
  • ROCm API를 사용하여 커널 실행 및 스레드 동기화
  • ROCm API를 사용하여 오류 및 예외 처리

HIP 언어

  • 장치 프로그램에서 HIP 언어의 역할 이해
  • HIP 언어를 사용하여 GPU에서 실행되고 데이터를 조작하는 커널 작성
  • HIP 데이터 유형, 한정자, 연산자 및 표현식 사용
  • HIP 내장 함수, 변수 및 라이브러리를 사용하여 일반적인 작업 및 작업 수행

ROCm 및 HIP 메모리 모델

  • 호스트 메모리 모델과 장치 메모리 모델의 차이점 이해
  • 글로벌, 공유, 상수, 로컬 등 ROCm 및 HIP 메모리 공간 사용
  • 포인터, 배열, 텍스처, 표면 등 ROCm 및 HIP 메모리 개체 사용
  • 읽기 전용, 쓰기 전용, 읽기-쓰기 등과 같은 ROCm 및 HIP 메모리 액세스 모드 사용
  • ROCm 및 HIP 메모리 일관성 모델 및 동기화 메커니즘 사용

ROCm 및 HIP 실행 모델

  • 호스트 실행 모델과 장치 실행 모델의 차이점 이해
  • ROCm 및 HIP 스레드, 블록 및 그리드를 사용하여 병렬 처리 정의
  • hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x 등과 같은 ROCm 및 HIP 스레드 기능 사용
  • __syncthreads, __threadfence_block 등과 같은 ROCm 및 HIP 블록 기능 사용
  • hipGridDim_x, hipGridSync, 협력 그룹 등과 같은 ROCm 및 HIP 그리드 기능 사용

디버깅

  • ROCm 및 HIP 프로그램의 일반적인 오류 및 버그 이해
  • Visual Studio 코드 디버거를 사용하여 변수, 중단점, 호출 스택 등을 검사합니다.
  • ROCm 디버거를 사용하여 AMD 장치에서 ROCm 및 HIP 프로그램 디버깅
  • ROCm 프로파일러를 사용하여 AMD 장치에서 ROCm 및 HIP 프로그램 분석

최적화

  • ROCm 및 HIP 프로그램의 성능에 영향을 미치는 요소 이해
  • ROCm 및 HIP 병합 기술을 사용하여 메모리 처리량 향상
  • ROCm 및 HIP 캐싱 및 프리페칭 기술을 사용하여 메모리 대기 시간 단축
  • ROCm 및 HIP 공유 메모리와 로컬 메모리 기술을 사용하여 메모리 액세스 및 대역폭 최적화
  • ROCm 및 HIP 프로파일링 및 프로파일링 도구를 사용하여 실행 시간 및 리소스 활용도를 측정하고 개선합니다.

요약 및 다음 단계

Requirements

  • C/C++ 언어 및 병렬 프로그래밍 개념에 대한 이해
  • 컴퓨터 아키텍처 및 메모리 계층에 대한 기본 지식
  • 명령줄 도구 및 코드 편집기 사용 경험

청중

  • ROCm 및 HIP를 사용하여 AMDGPU를 프로그래밍하고 병렬성을 활용하는 방법을 배우고자 하는 개발자
  • 다양한 AMD 장치에서 실행될 수 있는 확장 가능한 고성능 코드를 작성하려는 개발자
  • GPU 프로그래밍의 하위 수준 측면을 탐색하고 코드 성능을 최적화하려는 프로그래머
 28 Hours

Number of participants



Price per participant

회원 평가 (1)

Related Courses

GPU Programming with OpenCL

28 Hours

GPU Programming with CUDA

28 Hours

GPU Programming - OpenCL vs CUDA vs ROCm

28 Hours

ROCm for Windows

21 Hours

Introduction to GPU Programming

21 Hours

Related Categories