Rust-GPU/rust-gpu

🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧

해결하는 문제

HLSL 또는 GLSL과 같은 니치하고 제한적인 언어로 GPU 그래픽 및 컴퓨팅 셰이더를 작성해야 하는 필요성을 대체합니다. Rust를 GPU로 가져옴으로써, 강력한 패키지 및 모듈 시스템, 메모리 액세스 오류 및 레이스 컨디션에 대한 내장된 안전성, 그리고 고성능 실행을 포함하는 현대적인 언어를 개발자에게 제공합니다.

작동 방식

이 프로젝트는 Vulkan의 오픈 컴파일러 타겟인 SPIR-V를 생성하는 rustc 컴파일러 백엔드를 구현합니다. 이를 통해 Rust 코드를 셰이더로 직접 컴파일할 수 있습니다. 에코시스템에는 GPU 전용 타입 및 인트린직을 위한 spirv-stdbuild.rs를 통해 GPU 크레이트 빌드를 CPU 빌드 프로세스에 통합하기 위한 spirv-builder가 포함되어 있습니다.

대상

전통적인 셰이딩 언어 대신 GPU 프로그래밍에 안전하고 고수준인 언어를 사용하고자 하는 그래픽 프로그래머 및 게임 개발자.

주요 특징

  • Rust 에코시스템: GPU 크레이트 개발 및 게시를 위해 Cargo와 crates.io를 사용할 수 있습니다.
  • 안전성: Rust의 안전성 보장을 활용하여 GPU에서의 범위를 벗어난 메모리 액세스 및 레이스 컨디션을 방지합니다.
  • SPIR-V 타겟: Vulkan과의 호환성을 위해 SPIR-V 중간 표현을 구체적으로 타겟팅합니다.
  • 통합 도구: 표준 Rust 프로젝트 내에서 GPU 코드 컴파일을 단순화하기 위한 전용 빌더를 제공합니다.

관련

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