Closed FL33TW00D closed 4 months ago
=============================================================================== Language Files Lines Code Comments Blanks =============================================================================== TOML 1 75 63 2 10 ------------------------------------------------------------------------------- Rust 62 13355 11481 188 1686 |- Markdown 34 316 0 248 68 (Total) 13671 11481 436 1754 =============================================================================== Total 63 13430 11544 190 1696 ===============================================================================
Backend Refactor
Remove
MetaOperation
trait: In it's current form, theMetaOperation
trait was tightly coupled with the underlying kernel that would run on the GPU. This isn't great when you want to have multiple kernels backing a singleOperation
. For example MatMul.Introduce
GPUOperation
trait:This trait allows for multiple kernels to back a single operation, and removes most of the entanglement between
Kernel
andOperation
.Introduce the
Kernel
trait:Kernel
is a specific kernel that will be dispatched to the GPU. It also formalizes theMetadata
back to being an assoc type. We previously removed this because theConcat
operation introduced metadata where the memory layout wasn't known at compile time. This is fixed withDynMetadata
.Introduce
KernelRenderable
, a trait that ensures that all kernels implement the standard behaviour forKernel
s.