Course Outline

소개

  • OpenACC란 무엇입니까?
  • OpenACC 대 OpenCL 대 CUDA 대 SYCL
  • OpenACC 기능 및 아키텍처 개요
  • 개발 환경 설정

시작하기

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

OpenACC 지시문 및 조항

  • 호스트 및 장치 코드에서 OpenACC 지시문 및 절의 역할 이해
  • OpenACC 병렬 지시문 및 절을 사용하여 병렬 영역을 생성하고 갱, 작업자 및 벡터 수를 지정합니다.
  • OpenACC 커널 지시문과 절을 사용하여 커널 영역을 생성하고 컴파일러가 병렬성을 결정하도록 함
  • OpenACC 루프 지시어 및 절을 사용하여 루프를 병렬화하고 루프 배포, 축소, 축소 및 타일 지정
  • OpenACC 데이터 지시문 및 절을 사용하여 데이터 이동 및 데이터 영역 관리
  • OpenACC 업데이트 지시문 및 절을 사용하여 호스트와 장치 간의 데이터 동기화
  • OpenACC 캐시 지시문 및 절을 사용하여 데이터 재사용 및 지역성 개선
  • OpenACC 루틴 지시문 및 절을 사용하여 장치 기능을 생성하고 기능 유형 및 벡터 길이를 지정합니다.
  • OpenACC wait 지시어 및 절을 사용하여 이벤트 및 종속성 동기화

오픈ACC API

  • 호스트 프로그램에서 OpenACC API의 역할 이해
  • OpenACC API를 사용하여 장치 정보 및 기능 쿼리
  • OpenACC API를 사용하여 장치 번호 및 장치 유형 설정
  • OpenACC API를 사용하여 오류 및 예외 처리
  • OpenACC API를 사용하여 이벤트 생성 및 동기화

OpenACC 라이브러리 및 상호 운용성

  • OpenACC 라이브러리의 역할과 장치 프로그램의 상호 운용성 기능 이해
  • 수학, 무작위, 복소수 등 OpenACC 라이브러리를 사용하여 일반적인 작업 및 작업 수행
  • deviceptr, use_device 및 acc_memcpy와 같은 OpenACC 상호 운용성 기능을 사용하여 OpenACC를 CUDA, OpenMP 및 MPI와 같은 다른 프로그래밍 모델과 통합
  • Host_data 및 선언과 같은 OpenACC 상호 운용성 기능을 사용하여 OpenACC를 cuBLAS 및 cuFFT와 같은 GPU 라이브러리와 통합

OpenACC 도구

  • 개발 프로세스에서 OpenACC 도구의 역할 이해
  • OpenACC 도구를 사용하여 OpenACC 프로그램을 프로파일링 및 디버깅하고 성능 병목 현상과 기회를 식별합니다.
  • PGI Compiler, NVIDIA Nsight Systems 및 Allinea Forge와 같은 OpenACC 도구를 사용하여 실행 시간 및 리소스 활용도를 측정하고 개선합니다.

최적화

  • OpenACC 프로그램의 성능에 영향을 미치는 요소의 이해
  • OpenACC 지시문 및 절을 사용하여 데이터 지역성을 최적화하고 데이터 전송을 줄입니다.
  • OpenACC 지시문 및 절을 사용하여 루프 병렬 처리 및 융합 최적화
  • OpenACC 지시문 및 절을 사용하여 커널 병렬 처리 및 융합 최적화
  • OpenACC 지시문 및 절을 사용하여 벡터화 및 자동 조정 최적화

요약 및 다음 단계

Requirements

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

청중

  • OpenACC를 사용하여 이기종 장치를 프로그래밍하고 병렬성을 활용하는 방법을 배우고 싶은 개발자
  • 다양한 플랫폼과 장치에서 실행할 수 있는 이식 가능하고 확장 가능한 코드를 작성하려는 개발자
  • 이기종 프로그래밍의 높은 수준의 측면을 탐구하고 코드 생산성을 최적화하려는 프로그래머
 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

AMD GPU Programming

28 Hours

ROCm for Windows

21 Hours

Introduction to GPU Programming

21 Hours

Related Categories