a2flo/floor
A C++ Compute/Graphics Library and Toolchain enabling same-source CUDA/Host/Metal/OpenCL/Vulkan C++ programming and execution.
해결하는 문제
다른 하드웨어 가속기용으로 별도의 코드를 작성할 필요 없이 통합 API와 디바이스 언어를 제공함으로써 문제를 해결합니다. 개발자는 CUDA, Metal, OpenCL, Vulkan, 그리고 호스트 CPU를 포함한 다양한 백엔드에서 실행 가능한 단일 C++ 소스 코드를 작성할 수 있습니다.
작동 방식
이 프로젝트는 통합된 컴퓨트 및 그래픽스 호스트 API와 특화된 C++ 디바이스 언어로 구성되어 있습니다. 이를 통해 크로스플랫폼 호환성을 달성하기 위해 수정된 clang/LLVM/libc++ 14.0 툴체인을 사용합니다. 라이브러리는 호스트와 디바이스 양쪽에서 작동하는 공유 수학 및 constexpr 유틸리티를 제공하며, 지원되는 하드웨어용 특정 백엔드 구현도 포함합니다.
대상 사용자
여러 GPU 및 CPU 아키텍처에 고성능 커널을 배포해야 하는 시스템 프로그래머 및 그래픽스/컴퓨트 엔지니어.
주요 특징
- 다중 백엔드 지원: CUDA, 호스트, Metal, OpenCL, Vulkan용 싱글소스 프로그래밍.
- 통합 언어: 수정된 LLVM 툴체인을 사용하여 일관된 디바이스 언어 제공.
- 광범위한 컴퓨트 커버리지: 지원되는 모든 백엔드는 현재 컴퓨트 기능을 제공합니다.
- 그래픽스 통합: Metal 및 Vulkan용으로 그래픽스 지원 제공.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트