ref: be5e9cb1476400d19ad4eb8f66cb26c92a222aff
dir: /slides/slides.ms/
.TL .rs .sp |3i GPU Filesystem for Plan 9 .LP .ce 100 Joel Fridolin Meyer .CW \s-3joel@sirjofri.de\s0 .ce 0 .bp . .ds CF "GPUFS – Joel Fridolin Meyer .ds RF "IWP9 2024 . .TL What is a GPU? .DS .PS <what.p .PE .DE .IP • Separate ``Computer'' .IP • Single Instruction, Multiple Data .bp . .TL Application Architecture .DS .PS <arch.p .PE .DE .IP • Resource Abstraction .IP • 9P Performance .IP • Scalability on the application level .bp . .TL Inspired by Vulkan .IP • Lowlevel API .IP • Abstract and cross-platform .IP • Shaders and Buffers .bp . .TL Inspired by Vulkan .IP • Lowlevel API .IP • Abstract and cross-platform .IP • Shaders and Buffers .DS .PS <comp.p .PE .DE .bp . .TL Filesystem Interface .DS .PS down move 2 box "\fB\s+3Work in progress!\s0\fR" wid 4 ht 1.2 .PE .DE .bp . .TL Filesystem Interface .sp .5i .DS .ft CW ; echo n b 4 > ctl # object 0, 4 bytes ; echo n s > ctl # object 1 ; cp buffer.bin 0/buffer ; cp shader.spv 1/shader .DE .sp 1i .DS .ft CW /dev/gpu /ctl \fR\f(CW /desc \fRdescriptor table\f(CW /0/ctl \fRobject 0 ctl file\f(CW /0/buffer \fRbuffer data\f(CW /1/ctl \fRobject 1 ctl file\f(CW /1/shader \fRshader program\f(CW .DE .bp . .TL Filesystem Interface .\" descriptor table .bp . .TL Implementation .IP • Draft Implementation (CPU) .IP • Drawterm (GPU, Vulkan SDK) .IP • Possible others? (SSE/CPU, network, hardware, …)