Tags: gomlx/compute
Tags
Added FusedDense layout (#19) 1. ./compute/fused_ops.go updates: • Changed FusedDense signature to FusedDense(x, weight, bias Value, options DenseConfig) (Value, error). • Defined type DenseConfig struct { Activation ActivationType, WeightLayout DenseLayout } where DenseLayout can be DenseLayoutInputOutputs (0, default) or DenseLayoutOutputsInput (iota), with documentation. • Renamed AxesLayout to AttentionAxesLayout and updated constants (AttentionAxesLayoutBHSD, AttentionAxesLayoutBSHD) along with method receivers. 2. Refactored AxesLayout usages: • Fixed references across ./compute, ./go-xla, ./onnx-gomlx, and ./gomlx. 3. Code Regeneration in ./compute: • Ran go generate ./... in ./compute after updating the generators (gobackend_opsregistration and notimplemented_generator) to recognize DenseConfig, DenseLayout, and AttentionAxesLayout. 4. Updated gobackend Implementation: • Updated ./compute/internal/gobackend/fusedops/dense.go to handle DenseConfig and DenseLayoutOutputsInput (contracting the last axis of weight when layout is DenseLayoutOutputsInput).