Skip to content

Possible SpirV compilation pipeline #91

Description

@leios

Ok, this is an info dump, but I think this is the ideal path forward for Fable performance and also fixes #66 .

Ideally we...

  • Use the @fum macro to siphon out the function bodies and create large function bodies like before the Hutchinson and FractalUserMethod overhaul #64 update; however, we will also allow for configurable keyword arguments so we do not need to recompile the function too many times for dynamic scenes.
  • Compile this to SpirV using some form of compute shader (note that we want to use the graphics pipeline if possible)
  • Pass that SpirV to Vulkan(.jl)
  • Find a way to wrap a window library (whatever Makie / Plots use or maybe GLFW) for dynamic / realtime output.

Note that this will remove the dependencies on KernelAbstractions and any GPU vendor because we can rely on Vulkan for these steps, which would greatly reduce precompile time and hopefully speed up the process for PkgCompiler so we could make executables (games?) with this application.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions