문의를 보내주셔서 감사합니다! 팀원이 곧 연락드리겠습니다.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
소개
- ROCm이란 무엇입니까?
- HIP란 무엇인가요?
- ROCm 대 CUDA 대 OpenCL
- ROCm 및 HIP 기능과 아키텍처 개요
- ROCm for Windows 대 Linux의 ROCm
설치
- Windows에 ROCm 설치
- 설치 확인 및 장치 호환성 확인
- Windows에서 ROCm 업데이트 또는 제거
- 일반적인 설치 문제 해결
시작하기
- Windows에서 Visual Studio 코드를 사용하여 새 ROCm 프로젝트 만들기
- 프로젝트 구조 및 파일 탐색
- 프로그램 컴파일 및 실행
- printf 및 fprintf를 사용하여 출력 표시
ROCm API
- 호스트 프로그램에서 ROCm API 사용
- 장치 정보 및 기능 쿼리
- 장치 메모리 할당 및 할당 해제
- 호스트와 장치 간 데이터 복사
- 커널 실행 및 스레드 동기화
- 오류 및 예외 처리
HIP 언어
- 장치 프로그램에서 HIP 언어 사용
- GPU에서 실행되고 데이터를 조작하는 커널 작성
- 데이터 유형, 한정자, 연산자 및 표현식 사용
- 내장 함수, 변수, 라이브러리 사용
ROCm 및 HIP 메모리 모델
- 전역, 공유, 상수, 로컬 등 다양한 메모리 공간 사용
- 포인터, 배열, 텍스처, 표면과 같은 다양한 메모리 개체 사용
- 읽기 전용, 쓰기 전용, 읽기-쓰기 등과 같은 다양한 메모리 액세스 모드를 사용합니다.
- 메모리 일관성 모델 및 동기화 메커니즘 사용
ROCm 및 HIP 실행 모델
- 스레드, 블록, 그리드 등 다양한 실행 모델 사용
- hipThreadIdx_x, hipBlockIdx_x, hipBlockDim_x 등과 같은 스레드 함수 사용
- __syncthreads, __threadfence_block 등과 같은 블록 기능 사용
- hipGridDim_x, hipGridSync, 협동 그룹 등과 같은 그리드 기능을 사용합니다.
디버깅
- Windows에서 ROCm 및 HIP 프로그램 디버깅
- Visual Studio 코드 디버거를 사용하여 변수, 중단점, 호출 스택 등을 검사합니다.
- ROCm 디버거를 사용하여 AMD 장치에서 ROCm 및 HIP 프로그램 디버깅
- ROCm 프로파일러를 사용하여 AMD 장치에서 ROCm 및 HIP 프로그램 분석
최적화
- Windows에서 ROCm 및 HIP 프로그램 최적화
- 병합 기술을 사용하여 메모리 처리량 향상
- 캐싱 및 프리페칭 기술을 사용하여 메모리 대기 시간 줄이기
- 공유 메모리 및 로컬 메모리 기술을 사용하여 메모리 액세스 및 대역폭 최적화
- 프로파일링 및 프로파일링 도구를 사용하여 실행 시간 및 리소스 활용도를 측정하고 개선합니다.
요약 및 다음 단계
Requirements
- C/C++ 언어 및 병렬 프로그래밍 개념에 대한 이해
- 컴퓨터 아키텍처 및 메모리 계층에 대한 기본 지식
- 명령줄 도구 및 코드 편집기 사용 경험
- Windows 운영 체제 및 PowerShell에 대한 지식
청중
- Windows에서 ROCm을 설치하고 사용하여 AMDGPU를 프로그래밍하고 병렬성을 활용하는 방법을 배우고자 하는 개발자
- 다양한 AMD 장치에서 실행될 수 있는 확장 가능한 고성능 코드를 작성하려는 개발자
- GPU 프로그래밍의 하위 수준 측면을 탐색하고 코드 성능을 최적화하려는 프로그래머
21 Hours