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

회원 평가 (2)

Upcoming Courses

Related Categories