stotko/stdgpu
stdgpu: Efficient STL-like Data Structures on the GPU
해결하는 문제
대부분의 GPU 라이브러리는 연속된 데이터 위에서 작동하는 빠른 알고리즘을 구현하는 데 집중합니다. stdgpu는 GPU에서 유연하고 일반적인 데이터 관리가 부족한 문제를 해결하기 위해, CPU에서처럼 더 복잡하고 유연한 GPU 알고리즘을 구축할 수 있도록 STL과 유사한 컨테이너 세트를 제공합니다.
작동 방식
경량 C++17 라이브러리로, CUDA, OpenMP, HIP(실험적) 등 여러 백엔드에서 일반적인 GPU 데이터 구조를 구현합니다. 두 가지 수준의 상호작용을 제공합니다:
- 백엔드 독립 함수:
insert와 같은 고수준 함수로 공유 가능한 C++ 코드를 가능하게 합니다. - 네이티브 함수:
find와 같은 저수준 함수로, 사용자 정의 CUDA 커널 내에서 사용하기 위해 설계되었습니다.
대상 사용자
간단한 배열을 넘어서 신뢰할 수 있는 데이터 구조가 필요한 고성능 GPU 코드를 작성하는 개발자. 특히 사용자 정의 커널을 구현하거나 Thrust 같은 프레임워크를 사용하는 사람들을 대상으로 합니다.
주요 특징
- STL 유사 컨테이너:
vector,unordered_map,unordered_set,deque,queue,stack,bitset포함. - 다중 백엔드 지원: CUDA, OpenMP, HIP와 호환됩니다.
- 상호 운용성: Thrust GPU 알고리즘과 함께 작동합니다.
- 최소한의 종속성: 최소한의 오버헤드를 갖춘 경량 라이브러리로 설계되었습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트