AnswerDotAI/gpu.cpp

A lightweight library for portable low-level GPU computation using WebGPU.

해결하는 문제

원시 WebGPU와 관련된 반복적인 디스크립터 코드와 복잡한 설정을 제거하면서도, 쉐이더와 데이터 이동에 대한 직접적인 제어를 유지하는 간결한 헤더 전용 C++20 인터페이스를 제공합니다.

작동 방식

Dawn(구글의 WebGPU 구현체) 위에 가벼운 래퍼로 작동하며, WGSL 또는 SPIR-V로 컴퓨트 쉐이더를 작성할 수 있습니다. 네이티브 리소스를 관리하고, Future 시스템을 통해 비동기 작업과 오류를 처리하며, Metal(macOS), Vulkan(Linux), Emdawnwebgpu(브라우저) 등 여러 백엔드를 지원합니다.

대상 사용자

C++, Python, 또는 JavaScript/Wasm에서 일반 목적의 GPU 컴퓨팅 기능이 필요하지만, 전체 WebGPU API의 반복 코드를 피하고 싶은 개발자들입니다.

주요 특징

  • 크로스플랫폼 지원: macOS, Linux, 웹 브라우저에서 모두 작동합니다.
  • 다중 언어 바인딩: pybind11를 통한 Python 모듈과 JavaScript/Wasm 지원이 포함되어 있습니다.
  • 유연한 쉐이더 입력: WGSL과 SPIR-V(네이티브 전용) 둘 다 지원합니다.
  • 효율적인 데이터 처리: float16, float32, int32 타입을 지원하며, Python에서는 NumPy 통합이 가능합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트