C++ AMP(Accelerated Massive Parallelism)
정의
C++ 프로그래밍 언어를 확장하여 GPU와 같은 테이터 병렬 하드웨어를 활용해 코드 실행을 가속화 하는 기술
(Visial Studio 2022 버전 17.0부터 더 이상 사용되지 않아 AMP 헤더를 포함하면 빌드 오류가 생김
경고를 무음으로 표시하기 위해 헤더를 포함하기 전에 정의_SILENCE_AMP_DEPRECATION_WARNINGS 해야함)
특징
- 병렬 처리 최적화 : C++ AMP은 GPU의 병렬 처리 능력을 활용하여 대규모 데이터 처리 작업을 가속화함
- 프로그래밍 모델 : 다차원 배열, 인덱싱, 메모리 전송, 타일링 등을 지원하는 프로그래밍 모델을 제공
- 수학 함수 라이브러리 : 병렬 처리에 최적화된 수학 함수 라이브러리 포함
- C++ 언어 확장 : 기존 C++ 언어를 확장하여 GPU 프로그래밍을 위한 새로운 키워드와 기능 추가
목적과 장점
- 개발 생산성 확장 : Visial Studio와 완벽하게 통합되어, 개발자들이 익숙한 환경에서 GPU 프로그래밍 가능
- 이식성 : 다양한 하드웨어에서 실행 가능한 코드를 작성할 수 있도록 설계
- 접근성 : CUDA나 OPenCL과 같은 복잡한 GPGPU 프로그래밍 기술에 비해 진입 장벽이 낮음
- 성능 최적화 : GPU의 병렬 처리 능력을 활용하여 애플리케이션 성능을 크게 향상
'오늘의 키워드' 카테고리의 다른 글
구면 좌표계 (0) | 2023.09.13 |
---|---|
OBB 분리축 (0) | 2023.09.13 |
퀵소트 (0) | 2023.09.13 |
STL Set (0) | 2023.09.13 |
데이터베이스에 트리거 (0) | 2023.09.12 |