supranational / sppark

Zero-knowledge template library
Apache License 2.0
183 stars 64 forks source link

WebGPU support #11

Open JSeam2 opened 1 year ago

JSeam2 commented 1 year ago

Instead of building for alone, WebGPU provides the a wrapper which would be compatible with vulkan, metal, and more. This also allows the library to be called from the web supporting more web based GPU acceleration, opening more edge processing setups.

Is this something that would be worthwhile to build for sppark?

dot-asm commented 1 year ago

Is this something that would be worthwhile to build for sppark?

It's kind of like asking about using twisted-pair cables in a metropolitan backbone network :-) But on a serious note. sppark is a conscious step away from platform-neutral gpu frameworks, and for a reason. Or rather about 10 of them. Though all spell with "perf" in the beginning and "mance" at the end. If the question is if it makes sense to support a platform-neutral framework in addition to CUDA, then no, not really. The said improvements are achieved not only by utilizing specific features of the Nvidia ISA, but even by controlling the register utilization, code size and carefully orchestrating the data transfers. Platform-neutral frameworks don't provide that kind of control. In other words the effort would be effectively independent, in which case it would be more appropriate to do it as a separate project.