Versions in this module Expand all Collapse all v0 v0.0.8 Jan 19, 2026 Changes in this version + const ActLeakyReLU + const ActNone + const ActReLU + const ActSigmoid + const ActTanh + var Debug bool = false + func EnsureGPU() error + func Log(format string, args ...interface{}) + func NewFloatBuffer(data []float32, usage wgpu.BufferUsage) (*wgpu.Buffer, error) + func ReadBuffer(buffer *wgpu.Buffer, size int) ([]float32, error) + func SetAdapterPreference(name string) + func SetDebug(enabled bool) + type Context struct + Adapter *wgpu.Adapter + Device *wgpu.Device + Instance *wgpu.Instance + Queue *wgpu.Queue + func GetContext() (*Context, error) + type Conv1DLayer struct + BatchSize int + BiasBuffer *wgpu.Buffer + BiasGradientBuffer *wgpu.Buffer + GradientBiasBindGroup *wgpu.BindGroup + GradientWeightBindGroup *wgpu.BindGroup + InputBuffer *wgpu.Buffer + InputGradientBuffer *wgpu.Buffer + OutputBuffer *wgpu.Buffer + Spec Conv1DSpec + StagingBuffer *wgpu.Buffer + WeightBuffer *wgpu.Buffer + WeightGradientBuffer *wgpu.Buffer + func (l *Conv1DLayer) AllocateBackwardBuffers(ctx *Context, labelPrefix string) error + func (l *Conv1DLayer) AllocateBuffers(ctx *Context, labelPrefix string) error + func (l *Conv1DLayer) Cleanup() + func (l *Conv1DLayer) Compile(ctx *Context, labelPrefix string) error + func (l *Conv1DLayer) CompileBackward(ctx *Context, labelPrefix string) error + func (l *Conv1DLayer) CreateBackwardBindGroup(ctx *Context, labelPrefix string, dOutputBuffer *wgpu.Buffer) error + func (l *Conv1DLayer) CreateBindGroup(ctx *Context, labelPrefix string) error + func (l *Conv1DLayer) Dispatch(pass *wgpu.ComputePassEncoder) + func (l *Conv1DLayer) DispatchBackward(enc *wgpu.CommandEncoder) + func (l *Conv1DLayer) DownloadGradients(ctx *Context) ([]float32, []float32, []float32, error) + func (l *Conv1DLayer) DownloadWeights(ctx *Context) ([]float32, []float32, error) + func (l *Conv1DLayer) GenerateBackwardGradsShader() string + func (l *Conv1DLayer) GenerateBackwardShader() string + func (l *Conv1DLayer) GenerateShader() string + func (l *Conv1DLayer) GetInputBuffer() *wgpu.Buffer + func (l *Conv1DLayer) GetInputGradientBuffer() *wgpu.Buffer + func (l *Conv1DLayer) GetOutputBuffer() *wgpu.Buffer + func (l *Conv1DLayer) GetStagingBuffer() *wgpu.Buffer + func (l *Conv1DLayer) UploadWeights(ctx *Context) + func (l *Conv1DLayer) ZeroGradients(ctx *Context) + type Conv1DSpec struct + Activation string + Bias []float32 + InChannels int + KernelSize int + OutChannels int + Padding int + SeqLen int + Stride int + Weights []float32 + type Conv2DLayer struct + BatchSize int + BiasBuffer *wgpu.Buffer + BiasGradientBuffer *wgpu.Buffer + InputBuffer *wgpu.Buffer + InputGradientBuffer *wgpu.Buffer + OutputBuffer *wgpu.Buffer + Spec Conv2DSpec + StagingBuffer *wgpu.Buffer + WeightBuffer *wgpu.Buffer + WeightGradientBuffer *wgpu.Buffer + func (l *Conv2DLayer) AllocateBackwardBuffers(ctx *Context, labelPrefix string) error + func (l *Conv2DLayer) AllocateBuffers(ctx *Context, labelPrefix string) error + func (l *Conv2DLayer) Cleanup() + func (l *Conv2DLayer) Compile(ctx *Context, labelPrefix string) error + func (l *Conv2DLayer) CompileBackward(ctx *Context, labelPrefix string) error + func (l *Conv2DLayer) CreateBackwardBindGroup(ctx *Context, labelPrefix string, dOutputBuffer *wgpu.Buffer) error + func (l *Conv2DLayer) CreateBindGroup(ctx *Context, labelPrefix string) error + func (l *Conv2DLayer) Dispatch(pass *wgpu.ComputePassEncoder) + func (l *Conv2DLayer) DispatchBackward(enc *wgpu.CommandEncoder) + func (l *Conv2DLayer) DownloadGradients(ctx *Context) ([]float32, []float32, []float32, error) + func (l *Conv2DLayer) DownloadWeights(ctx *Context) ([]float32, []float32, error) + func (l *Conv2DLayer) GenerateBackwardGradsShader() string + func (l *Conv2DLayer) GenerateBackwardShader() string + func (l *Conv2DLayer) GenerateShader() string + func (l *Conv2DLayer) GetInputBuffer() *wgpu.Buffer + func (l *Conv2DLayer) GetInputGradientBuffer() *wgpu.Buffer + func (l *Conv2DLayer) GetOutputBuffer() *wgpu.Buffer + func (l *Conv2DLayer) GetStagingBuffer() *wgpu.Buffer + func (l *Conv2DLayer) UploadWeights(ctx *Context) + func (l *Conv2DLayer) ZeroGradients(ctx *Context) + type Conv2DSpec struct + Activation string + Bias []float32 + InChannels int + InputHeight int + InputWidth int + KernelSize int + OutChannels int + Padding int + Stride int + Weights []float32 + type DenseLayer struct + BatchSize int + BiasBuffer *wgpu.Buffer + BiasGradientBuffer *wgpu.Buffer + GradientBiasBindGroup *wgpu.BindGroup + GradientWeightBindGroup *wgpu.BindGroup + InputBuffer *wgpu.Buffer + InputGradientBuffer *wgpu.Buffer + OutputBuffer *wgpu.Buffer + Spec DenseLayerSpec + StagingBuffer *wgpu.Buffer + WeightBuffer *wgpu.Buffer + WeightGradientBuffer *wgpu.Buffer + WorkgroupsX uint32 + func (l *DenseLayer) AllocateBackwardBuffers(ctx *Context, labelPrefix string) error + func (l *DenseLayer) AllocateBuffers(ctx *Context, labelPrefix string) error + func (l *DenseLayer) Cleanup() + func (l *DenseLayer) Compile(ctx *Context, labelPrefix string) error + func (l *DenseLayer) CompileBackward(ctx *Context, labelPrefix string) error + func (l *DenseLayer) CreateBackwardBindGroup(ctx *Context, labelPrefix string, dOutputBuffer *wgpu.Buffer) error + func (l *DenseLayer) CreateBindGroup(ctx *Context, labelPrefix string) error + func (l *DenseLayer) Dispatch(pass *wgpu.ComputePassEncoder) + func (l *DenseLayer) DispatchBackward(enc *wgpu.CommandEncoder) + func (l *DenseLayer) DownloadGradients(ctx *Context) ([]float32, []float32, []float32, error) + func (l *DenseLayer) DownloadWeights(ctx *Context) ([]float32, []float32, error) + func (l *DenseLayer) GenerateShader() string + func (l *DenseLayer) GetDZBuffer() *wgpu.Buffer + func (l *DenseLayer) GetInputBuffer() *wgpu.Buffer + func (l *DenseLayer) GetInputGradientBuffer() *wgpu.Buffer + func (l *DenseLayer) GetOutputBuffer() *wgpu.Buffer + func (l *DenseLayer) GetStagingBuffer() *wgpu.Buffer + func (l *DenseLayer) UploadWeights(ctx *Context) + func (l *DenseLayer) ZeroGradients(ctx *Context) + type DenseLayerSpec struct + Activation int + Biases []float32 + InputSize int + OutputSize int + Weights []float32 + type DenseSequence struct + Debug bool + Layers []*DenseLayer + func NewDenseSequence(specs []DenseLayerSpec) *DenseSequence + func (s *DenseSequence) Build() error + func (s *DenseSequence) Cleanup() + func (s *DenseSequence) Forward(input []float32) ([]float32, error) + func (s *DenseSequence) ForwardPipelined(input []float32) ([]float32, error) + type EmbeddingLayer struct + OutputBuffer *wgpu.Buffer + Spec EmbeddingSpec + StagingBuffer *wgpu.Buffer + TokenBuffer *wgpu.Buffer + WeightBuffer *wgpu.Buffer + WeightGradientBuffer *wgpu.Buffer + func (l *EmbeddingLayer) AllocateBackwardBuffers(ctx *Context, labelPrefix string) error + func (l *EmbeddingLayer) AllocateBuffers(ctx *Context, labelPrefix string) error + func (l *EmbeddingLayer) Cleanup() + func (l *EmbeddingLayer) Compile(ctx *Context, labelPrefix string) error + func (l *EmbeddingLayer) CompileBackward(ctx *Context, labelPrefix string) error + func (l *EmbeddingLayer) CreateBackwardBindGroup(ctx *Context, labelPrefix string, dOutputBuffer *wgpu.Buffer) error + func (l *EmbeddingLayer) CreateBindGroup(ctx *Context, labelPrefix string) error + func (l *EmbeddingLayer) Dispatch(pass *wgpu.ComputePassEncoder) + func (l *EmbeddingLayer) DispatchBackward(enc *wgpu.CommandEncoder) + func (l *EmbeddingLayer) DownloadGradients(ctx *Context) ([]float32, []float32, []float32, error) + func (l *EmbeddingLayer) DownloadWeights(ctx *Context) ([]float32, []float32, error) + func (l *EmbeddingLayer) GenerateBackwardShader() string + func (l *EmbeddingLayer) GenerateShader() string + func (l *EmbeddingLayer) GetInputBuffer() *wgpu.Buffer + func (l *EmbeddingLayer) GetInputGradientBuffer() *wgpu.Buffer + func (l *EmbeddingLayer) GetOutputBuffer() *wgpu.Buffer + func (l *EmbeddingLayer) GetStagingBuffer() *wgpu.Buffer + func (l *EmbeddingLayer) UploadWeights(ctx *Context) + func (l *EmbeddingLayer) ZeroGradients(ctx *Context) + type EmbeddingSpec struct + EmbeddingDim int + SeqLength int + VocabSize int + Weights []float32 + type GPULayer interface + AllocateBackwardBuffers func(ctx *Context, labelPrefix string) error + AllocateBuffers func(ctx *Context, labelPrefix string) error + Cleanup func() + Compile func(ctx *Context, labelPrefix string) error + CompileBackward func(ctx *Context, labelPrefix string) error + CreateBackwardBindGroup func(ctx *Context, labelPrefix string, dOutputBuffer *wgpu.Buffer) error + CreateBindGroup func(ctx *Context, labelPrefix string) error + Dispatch func(pass *wgpu.ComputePassEncoder) + DispatchBackward func(enc *wgpu.CommandEncoder) + DownloadGradients func(ctx *Context) ([]float32, []float32, []float32, error) + DownloadWeights func(ctx *Context) ([]float32, []float32, error) + GetInputBuffer func() *wgpu.Buffer + GetInputGradientBuffer func() *wgpu.Buffer + GetOutputBuffer func() *wgpu.Buffer + GetStagingBuffer func() *wgpu.Buffer + UploadWeights func(ctx *Context) + ZeroGradients func(ctx *Context) + type InPlaceResidual struct + Size int + func NewInPlaceResidual(ctx *Context, size int) (*InPlaceResidual, error) + func (r *InPlaceResidual) Cleanup() + func (r *InPlaceResidual) Dispatch(ctx *Context, pass *wgpu.ComputePassEncoder, outBuf, skipBuf *wgpu.Buffer) (*wgpu.BindGroup, error) + func (r *InPlaceResidual) GetBindGroup(ctx *Context, outBuf, skipBuf *wgpu.Buffer) (*wgpu.BindGroup, error) + type LSTMLayer struct + BatchSize int + CellBuffer *wgpu.Buffer + GateGradientsBuffer *wgpu.Buffer + GradCombinedBiasesBindGroup *wgpu.BindGroup + GradCombinedWeightsHHBindGroup *wgpu.BindGroup + GradCombinedWeightsIHBindGroup *wgpu.BindGroup + HiddenBuffer *wgpu.Buffer + InputBuffer *wgpu.Buffer + InputGradientBuffer *wgpu.Buffer + OutputBuffer *wgpu.Buffer + Spec LSTMSpec + StagingBuffer *wgpu.Buffer + StepBuffers []*wgpu.Buffer + UnifiedWeightsBuffer *wgpu.Buffer + UnifiedWeightsGradientBuffer *wgpu.Buffer + func (l *LSTMLayer) AllocateBackwardBuffers(ctx *Context, labelPrefix string) error + func (l *LSTMLayer) AllocateBuffers(ctx *Context, labelPrefix string) error + func (l *LSTMLayer) Cleanup() + func (l *LSTMLayer) Compile(ctx *Context, labelPrefix string) error + func (l *LSTMLayer) CompileBackward(ctx *Context, labelPrefix string) error + func (l *LSTMLayer) CreateBackwardBindGroup(ctx *Context, labelPrefix string, dOutputBuffer *wgpu.Buffer) error + func (l *LSTMLayer) CreateBindGroup(ctx *Context, labelPrefix string) error + func (l *LSTMLayer) Dispatch(pass *wgpu.ComputePassEncoder) + func (l *LSTMLayer) DispatchBackward(enc *wgpu.CommandEncoder) + func (l *LSTMLayer) DownloadGradients(ctx *Context) ([]float32, []float32, []float32, error) + func (l *LSTMLayer) DownloadWeights(ctx *Context) ([]float32, []float32, error) + func (l *LSTMLayer) GenerateBackwardGateShader() string + func (l *LSTMLayer) GenerateBackwardGradsShader() string + func (l *LSTMLayer) GenerateBackwardPrevShader() string + func (l *LSTMLayer) GenerateShader() string + func (l *LSTMLayer) GetInputBuffer() *wgpu.Buffer + func (l *LSTMLayer) GetInputGradientBuffer() *wgpu.Buffer + func (l *LSTMLayer) GetOutputBuffer() *wgpu.Buffer + func (l *LSTMLayer) GetStagingBuffer() *wgpu.Buffer + func (l *LSTMLayer) UploadWeights(ctx *Context) + func (l *LSTMLayer) ZeroGradients(ctx *Context) + type LSTMSpec struct + BiasH_f []float32 + BiasH_g []float32 + BiasH_i []float32 + BiasH_o []float32 + HiddenSize int + InputSize int + SeqLen int + WeightHH_f []float32 + WeightHH_g []float32 + WeightHH_i []float32 + WeightHH_o []float32 + WeightIH_f []float32 + WeightIH_g []float32 + WeightIH_i []float32 + WeightIH_o []float32 + type LayerNormLayer struct + BetaBatchGradientBuffer *wgpu.Buffer + BetaBuffer *wgpu.Buffer + BetaGradientBuffer *wgpu.Buffer + GammaBatchGradientBuffer *wgpu.Buffer + GammaBuffer *wgpu.Buffer + GammaGradientBuffer *wgpu.Buffer + InputBuffer *wgpu.Buffer + InputGradientBuffer *wgpu.Buffer + OutputBuffer *wgpu.Buffer + Spec LayerNormSpec + StagingBuffer *wgpu.Buffer + WorkgroupsX uint32 + func (l *LayerNormLayer) AllocateBackwardBuffers(ctx *Context, labelPrefix string) error + func (l *LayerNormLayer) AllocateBuffers(ctx *Context, labelPrefix string) error + func (l *LayerNormLayer) Cleanup() + func (l *LayerNormLayer) Compile(ctx *Context, labelPrefix string) error + func (l *LayerNormLayer) CompileBackward(ctx *Context, labelPrefix string) error + func (l *LayerNormLayer) CreateBackwardBindGroup(ctx *Context, labelPrefix string, dOutputBuffer *wgpu.Buffer) error + func (l *LayerNormLayer) CreateBindGroup(ctx *Context, labelPrefix string) error + func (l *LayerNormLayer) Dispatch(pass *wgpu.ComputePassEncoder) + func (l *LayerNormLayer) DispatchBackward(enc *wgpu.CommandEncoder) + func (l *LayerNormLayer) DownloadGradients(ctx *Context) ([]float32, []float32, []float32, error) + func (l *LayerNormLayer) DownloadWeights(ctx *Context) ([]float32, []float32, error) + func (l *LayerNormLayer) GenerateBackwardShader() string + func (l *LayerNormLayer) GenerateReduceShader() string + func (l *LayerNormLayer) GenerateShader() string + func (l *LayerNormLayer) GetInputBuffer() *wgpu.Buffer + func (l *LayerNormLayer) GetInputGradientBuffer() *wgpu.Buffer + func (l *LayerNormLayer) GetOutputBuffer() *wgpu.Buffer + func (l *LayerNormLayer) GetStagingBuffer() *wgpu.Buffer + func (l *LayerNormLayer) UploadWeights(ctx *Context) + func (l *LayerNormLayer) ZeroGradients(ctx *Context) + type LayerNormSpec struct + BatchSize int + Beta []float32 + Epsilon float32 + Gamma []float32 + NormSize int + type MHALayer struct + AttnBuffer *wgpu.Buffer + BatchSize int + CombinedBiasesQKV *wgpu.Buffer + CombinedWeightsQKV *wgpu.Buffer + InputBuffer *wgpu.Buffer + InputGradientBuffer *wgpu.Buffer + KBuffer *wgpu.Buffer + OBiasBuffer *wgpu.Buffer + OWeightBuffer *wgpu.Buffer + OutputBuffer *wgpu.Buffer + ParamsBuffer *wgpu.Buffer + QBuffer *wgpu.Buffer + Spec MHASpec + StagingBuffer *wgpu.Buffer + VBuffer *wgpu.Buffer + func (l *MHALayer) AllocateBackwardBuffers(ctx *Context, labelPrefix string) error + func (l *MHALayer) AllocateBuffers(ctx *Context, labelPrefix string) error + func (l *MHALayer) Cleanup() + func (l *MHALayer) Compile(ctx *Context, labelPrefix string) error + func (l *MHALayer) CompileBackward(ctx *Context, labelPrefix string) error + func (l *MHALayer) CreateBackwardBindGroup(ctx *Context, labelPrefix string, dOutputBuffer *wgpu.Buffer) error + func (l *MHALayer) CreateBindGroup(ctx *Context, labelPrefix string) error + func (l *MHALayer) Dispatch(pass *wgpu.ComputePassEncoder) + func (l *MHALayer) DispatchBackward(enc *wgpu.CommandEncoder) + func (l *MHALayer) DispatchFull(enc *wgpu.CommandEncoder) + func (l *MHALayer) DownloadGradients(ctx *Context) ([]float32, []float32, []float32, error) + func (l *MHALayer) DownloadWeights(ctx *Context) ([]float32, []float32, error) + func (l *MHALayer) GenerateAttnShader() string + func (l *MHALayer) GenerateBackwardShader() string + func (l *MHALayer) GenerateOutShader() string + func (l *MHALayer) GenerateQKVShader() string + func (l *MHALayer) GetInputBuffer() *wgpu.Buffer + func (l *MHALayer) GetInputGradientBuffer() *wgpu.Buffer + func (l *MHALayer) GetOutputBuffer() *wgpu.Buffer + func (l *MHALayer) GetStagingBuffer() *wgpu.Buffer + func (l *MHALayer) SetActualSeqLen(ctx *Context, length int) + func (l *MHALayer) UploadWeights(ctx *Context) + func (l *MHALayer) ZeroGradients(ctx *Context) + type MHASpec struct + DModel int + HeadDim int + KBias []float32 + KWeights []float32 + NumHeads int + NumKVHeads int + OBias []float32 + OWeights []float32 + QBias []float32 + QWeights []float32 + RoPEFreqBase float32 + SeqLen int + VBias []float32 + VWeights []float32 + type ParallelLayer struct + BatchSize int + Branches []GPULayer + CombineMode string + InputBuffer *wgpu.Buffer + InputGradientBuffer *wgpu.Buffer + OutputBuffer *wgpu.Buffer + StagingBuffer *wgpu.Buffer + func NewParallelLayer(branches []GPULayer, mode string, batchSize int) *ParallelLayer + func (l *ParallelLayer) AllocateBackwardBuffers(ctx *Context, labelPrefix string) error + func (l *ParallelLayer) AllocateBuffers(ctx *Context, labelPrefix string) error + func (l *ParallelLayer) Cleanup() + func (l *ParallelLayer) Compile(ctx *Context, labelPrefix string) error + func (l *ParallelLayer) CompileBackward(ctx *Context, labelPrefix string) error + func (l *ParallelLayer) CreateBackwardBindGroup(ctx *Context, labelPrefix string, dOutputBuffer *wgpu.Buffer) error + func (l *ParallelLayer) CreateBindGroup(ctx *Context, labelPrefix string) error + func (l *ParallelLayer) Dispatch(pass *wgpu.ComputePassEncoder) + func (l *ParallelLayer) DispatchBackward(enc *wgpu.CommandEncoder) + func (l *ParallelLayer) DownloadGradients(ctx *Context) ([]float32, []float32, []float32, error) + func (l *ParallelLayer) DownloadWeights(ctx *Context) ([]float32, []float32, error) + func (l *ParallelLayer) GetInputBuffer() *wgpu.Buffer + func (l *ParallelLayer) GetInputGradientBuffer() *wgpu.Buffer + func (l *ParallelLayer) GetOutputBuffer() *wgpu.Buffer + func (l *ParallelLayer) GetStagingBuffer() *wgpu.Buffer + func (l *ParallelLayer) UploadWeights(ctx *Context) + func (l *ParallelLayer) ZeroGradients(ctx *Context) + type ParallelLayerExtras struct + type RMSNormLayer struct + GammaBatchGradientBuffer *wgpu.Buffer + GammaBuffer *wgpu.Buffer + GammaGradientBuffer *wgpu.Buffer + InputBuffer *wgpu.Buffer + InputGradientBuffer *wgpu.Buffer + OutputBuffer *wgpu.Buffer + Spec RMSNormSpec + StagingBuffer *wgpu.Buffer + func (l *RMSNormLayer) AllocateBackwardBuffers(ctx *Context, labelPrefix string) error + func (l *RMSNormLayer) AllocateBuffers(ctx *Context, labelPrefix string) error + func (l *RMSNormLayer) Cleanup() + func (l *RMSNormLayer) Compile(ctx *Context, labelPrefix string) error + func (l *RMSNormLayer) CompileBackward(ctx *Context, labelPrefix string) error + func (l *RMSNormLayer) CreateBackwardBindGroup(ctx *Context, labelPrefix string, dOutputBuffer *wgpu.Buffer) error + func (l *RMSNormLayer) CreateBindGroup(ctx *Context, labelPrefix string) error + func (l *RMSNormLayer) Dispatch(pass *wgpu.ComputePassEncoder) + func (l *RMSNormLayer) DispatchBackward(enc *wgpu.CommandEncoder) + func (l *RMSNormLayer) DownloadGradients(ctx *Context) ([]float32, []float32, []float32, error) + func (l *RMSNormLayer) DownloadWeights(ctx *Context) ([]float32, []float32, error) + func (l *RMSNormLayer) GenerateBackwardShader() string + func (l *RMSNormLayer) GenerateReduceShader() string + func (l *RMSNormLayer) GenerateShader() string + func (l *RMSNormLayer) GetInputBuffer() *wgpu.Buffer + func (l *RMSNormLayer) GetInputGradientBuffer() *wgpu.Buffer + func (l *RMSNormLayer) GetOutputBuffer() *wgpu.Buffer + func (l *RMSNormLayer) GetStagingBuffer() *wgpu.Buffer + func (l *RMSNormLayer) UploadWeights(ctx *Context) + func (l *RMSNormLayer) ZeroGradients(ctx *Context) + type RMSNormSpec struct + BatchSize int + Epsilon float32 + Gamma []float32 + NormSize int + type RNNLayer struct + BatchSize int + BiasBuffer *wgpu.Buffer + BiasGradientBuffer *wgpu.Buffer + HiddenBuffer *wgpu.Buffer + InputBuffer *wgpu.Buffer + InputGradientBuffer *wgpu.Buffer + OutputBuffer *wgpu.Buffer + Spec RNNSpec + StagingBuffer *wgpu.Buffer + StepBuffers []*wgpu.Buffer + WeightHHBuffer *wgpu.Buffer + WeightHHGradientBuffer *wgpu.Buffer + WeightIHBuffer *wgpu.Buffer + WeightIHGradientBuffer *wgpu.Buffer + func (l *RNNLayer) AllocateBackwardBuffers(ctx *Context, labelPrefix string) error + func (l *RNNLayer) AllocateBuffers(ctx *Context, labelPrefix string) error + func (l *RNNLayer) Cleanup() + func (l *RNNLayer) Compile(ctx *Context, labelPrefix string) error + func (l *RNNLayer) CompileBackward(ctx *Context, labelPrefix string) error + func (l *RNNLayer) CreateBackwardBindGroup(ctx *Context, labelPrefix string, dOutputBuffer *wgpu.Buffer) error + func (l *RNNLayer) CreateBindGroup(ctx *Context, labelPrefix string) error + func (l *RNNLayer) Dispatch(pass *wgpu.ComputePassEncoder) + func (l *RNNLayer) DispatchBackward(enc *wgpu.CommandEncoder) + func (l *RNNLayer) DownloadGradients(ctx *Context) ([]float32, []float32, []float32, error) + func (l *RNNLayer) DownloadWeights(ctx *Context) ([]float32, []float32, error) + func (l *RNNLayer) GenerateBackwardGradsShader() string + func (l *RNNLayer) GenerateBackwardShader() string + func (l *RNNLayer) GenerateShader() string + func (l *RNNLayer) GetInputBuffer() *wgpu.Buffer + func (l *RNNLayer) GetInputGradientBuffer() *wgpu.Buffer + func (l *RNNLayer) GetOutputBuffer() *wgpu.Buffer + func (l *RNNLayer) GetStagingBuffer() *wgpu.Buffer + func (l *RNNLayer) UploadWeights(ctx *Context) + func (l *RNNLayer) ZeroGradients(ctx *Context) + type RNNSpec struct + BiasH []float32 + HiddenSize int + InputSize int + SeqLen int + WeightHH []float32 + WeightIH []float32 + type ResidualLayer struct + InputBuffer *wgpu.Buffer + InputGradientBuffer *wgpu.Buffer + OutputBuffer *wgpu.Buffer + SkipBuffer *wgpu.Buffer + SkipGradientBuffer *wgpu.Buffer + Spec ResidualSpec + StagingBuffer *wgpu.Buffer + func (l *ResidualLayer) AllocateBackwardBuffers(ctx *Context, labelPrefix string) error + func (l *ResidualLayer) AllocateBuffers(ctx *Context, labelPrefix string) error + func (l *ResidualLayer) Cleanup() + func (l *ResidualLayer) Compile(ctx *Context, labelPrefix string) error + func (l *ResidualLayer) CompileBackward(ctx *Context, labelPrefix string) error + func (l *ResidualLayer) CreateBackwardBindGroup(ctx *Context, labelPrefix string, dOutputBuffer *wgpu.Buffer) error + func (l *ResidualLayer) CreateBindGroup(ctx *Context, labelPrefix string) error + func (l *ResidualLayer) Dispatch(pass *wgpu.ComputePassEncoder) + func (l *ResidualLayer) DispatchBackward(enc *wgpu.CommandEncoder) + func (l *ResidualLayer) DownloadGradients(ctx *Context) ([]float32, []float32, []float32, error) + func (l *ResidualLayer) DownloadWeights(ctx *Context) ([]float32, []float32, error) + func (l *ResidualLayer) GenerateBackwardShader() string + func (l *ResidualLayer) GenerateShader() string + func (l *ResidualLayer) GetInputBuffer() *wgpu.Buffer + func (l *ResidualLayer) GetInputGradientBuffer() *wgpu.Buffer + func (l *ResidualLayer) GetOutputBuffer() *wgpu.Buffer + func (l *ResidualLayer) GetSkipGradientBuffer() *wgpu.Buffer + func (l *ResidualLayer) GetStagingBuffer() *wgpu.Buffer + func (l *ResidualLayer) UploadWeights(ctx *Context) + func (l *ResidualLayer) ZeroGradients(ctx *Context) + type ResidualSpec struct + Size int + type SoftmaxLayer struct + InputBuffer *wgpu.Buffer + InputGradientBuffer *wgpu.Buffer + OutputBuffer *wgpu.Buffer + Spec SoftmaxSpec + StagingBuffer *wgpu.Buffer + func (l *SoftmaxLayer) AllocateBackwardBuffers(ctx *Context, labelPrefix string) error + func (l *SoftmaxLayer) AllocateBuffers(ctx *Context, labelPrefix string) error + func (l *SoftmaxLayer) Cleanup() + func (l *SoftmaxLayer) Compile(ctx *Context, labelPrefix string) error + func (l *SoftmaxLayer) CompileBackward(ctx *Context, labelPrefix string) error + func (l *SoftmaxLayer) CreateBackwardBindGroup(ctx *Context, labelPrefix string, dOutputBuffer *wgpu.Buffer) error + func (l *SoftmaxLayer) CreateBindGroup(ctx *Context, labelPrefix string) error + func (l *SoftmaxLayer) Dispatch(pass *wgpu.ComputePassEncoder) + func (l *SoftmaxLayer) DispatchBackward(enc *wgpu.CommandEncoder) + func (l *SoftmaxLayer) DownloadGradients(ctx *Context) ([]float32, []float32, []float32, error) + func (l *SoftmaxLayer) DownloadWeights(ctx *Context) ([]float32, []float32, error) + func (l *SoftmaxLayer) GenerateBackwardShader() string + func (l *SoftmaxLayer) GenerateShader() string + func (l *SoftmaxLayer) GetInputBuffer() *wgpu.Buffer + func (l *SoftmaxLayer) GetInputGradientBuffer() *wgpu.Buffer + func (l *SoftmaxLayer) GetOutputBuffer() *wgpu.Buffer + func (l *SoftmaxLayer) GetStagingBuffer() *wgpu.Buffer + func (l *SoftmaxLayer) UploadWeights(ctx *Context) + func (l *SoftmaxLayer) ZeroGradients(ctx *Context) + type SoftmaxSpec struct + BatchSize int + Size int + Temperature float32 + type SwiGLULayer struct + DownBiasBuffer *wgpu.Buffer + DownWeightBuffer *wgpu.Buffer + GateBiasBuffer *wgpu.Buffer + GateOutBuffer *wgpu.Buffer + GateWeightBuffer *wgpu.Buffer + InputBuffer *wgpu.Buffer + InputGradientBuffer *wgpu.Buffer + IntermediateBuffer *wgpu.Buffer + OutputBuffer *wgpu.Buffer + Spec SwiGLUSpec + StagingBuffer *wgpu.Buffer + UpBiasBuffer *wgpu.Buffer + UpOutBuffer *wgpu.Buffer + UpWeightBuffer *wgpu.Buffer + func (l *SwiGLULayer) AllocateBackwardBuffers(ctx *Context, labelPrefix string) error + func (l *SwiGLULayer) AllocateBuffers(ctx *Context, labelPrefix string) error + func (l *SwiGLULayer) Cleanup() + func (l *SwiGLULayer) Compile(ctx *Context, labelPrefix string) error + func (l *SwiGLULayer) CompileBackward(ctx *Context, labelPrefix string) error + func (l *SwiGLULayer) CreateBackwardBindGroup(ctx *Context, labelPrefix string, dOutputBuffer *wgpu.Buffer) error + func (l *SwiGLULayer) CreateBindGroup(ctx *Context, labelPrefix string) error + func (l *SwiGLULayer) Dispatch(pass *wgpu.ComputePassEncoder) + func (l *SwiGLULayer) DispatchBackward(enc *wgpu.CommandEncoder) + func (l *SwiGLULayer) DispatchFull(enc *wgpu.CommandEncoder) + func (l *SwiGLULayer) DownloadGradients(ctx *Context) ([]float32, []float32, []float32, error) + func (l *SwiGLULayer) DownloadWeights(ctx *Context) ([]float32, []float32, error) + func (l *SwiGLULayer) GenerateActivateShader() string + func (l *SwiGLULayer) GenerateBackwardShader() string + func (l *SwiGLULayer) GenerateDownShader() string + func (l *SwiGLULayer) GenerateGateUpShader() string + func (l *SwiGLULayer) GetInputBuffer() *wgpu.Buffer + func (l *SwiGLULayer) GetInputGradientBuffer() *wgpu.Buffer + func (l *SwiGLULayer) GetOutputBuffer() *wgpu.Buffer + func (l *SwiGLULayer) GetStagingBuffer() *wgpu.Buffer + func (l *SwiGLULayer) UploadWeights(ctx *Context) + func (l *SwiGLULayer) ZeroGradients(ctx *Context) + type SwiGLUSpec struct + DownBias []float32 + DownWeights []float32 + GateBias []float32 + GateWeights []float32 + InputSize int + IntermediateSize int + SeqLen int + UpBias []float32 + UpWeights []float32