Restructure GPU execution to model GPU pipelines in the node graph (#1088)

* Start implementing GpuExecutor for wgpu

* Implement read_output_buffer function

* Implement extraction node in the compiler

* Generate type annotations during shader compilation

* Start adding node wrapprs for graph execution api

* Wrap more of the api in nodes

* Restructure Pipeline to accept arbitrary shader inputs

* Adapt nodes to new trait definitions

* Start implementing gpu-compiler trait

* Adapt shader generation

* Hardstuck on pointer casts

* Pass nodes as references in gpu code to avoid zsts

* Update gcore to compile on the gpu

* Fix color doc tests

* Impl Node for node refs
This commit is contained in:
Dennis Kobert
2023-04-23 10:18:31 +02:00
committed by GitHub
parent 9aa74ab197
commit 72d8fe6735
43 changed files with 1874 additions and 515 deletions
+11 -4
View File
@@ -13,18 +13,25 @@ serde = ["graphene-core/serde", "glam/serde"]
[dependencies]
graphene-core = { path = "../gcore", features = ["async", "std", "alloc"] }
graph-craft = {path = "../graph-craft", features = ["serde"] }
dyn-any = { path = "../../libraries/dyn-any", features = ["log-bad-types", "rc", "glam"] }
graph-craft = { path = "../graph-craft", features = ["serde"] }
gpu-executor = { path = "../gpu-executor" }
dyn-any = { path = "../../libraries/dyn-any", features = [
"log-bad-types",
"rc",
"glam",
] }
num-traits = "0.2"
log = "0.4"
serde = { version = "1", features = ["derive", "rc"]}
serde = { version = "1", features = ["derive", "rc"] }
glam = { version = "0.22" }
base64 = "0.13"
bytemuck = { version = "1.8" }
nvtx = { version = "1.1.1", optional = true }
tempfile = "3"
spirv-builder = { version = "0.5", default-features = false, features=["use-installed-tools"] }
spirv-builder = { version = "0.7", default-features = false, features = [
"use-installed-tools",
] }
tera = { version = "1.17.1" }
anyhow = "1.0.66"
serde_json = "1.0.91"