Skip to content

Add elu activation#6

Open
haixuanTao wants to merge 2 commits into
dimforge:mainfrom
haixuanTao:feat/elu-activation
Open

Add elu activation#6
haixuanTao wants to merge 2 commits into
dimforge:mainfrom
haixuanTao:feat/elu-activation

Conversation

@haixuanTao

Copy link
Copy Markdown
Contributor

Add multiple activation kernels!

haixuanTao and others added 2 commits May 26, 2026 16:20
Adds vortx::linalg::{Activation (tanh + tanh_backward), Adam} and their shaders,
the GPU building blocks for MLP training (used by nexus RL demos / zealot-rl).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add ELU to the activation kernels alongside the existing tanh:
- gpu_elu / gpu_elu_backward (backward reuses the cached output:
  grad *= y>0 ? 1 : y+1, same formulation as gpu_tanh_backward)
- gpu_elu_vec4 (4-wide ELU; host reinterprets the f32 buffer as
  glamx::Vec4) -- pulls in glamx as a dependency
- host Activation::elu / elu_backward / elu_vec4 wrappers
- export GpuElu, GpuEluBackward, GpuEluVec4

Needed for zealot's all-GPU PPO policy (ActorCritic uses ELU hidden
activations). Verified bit-exact vs the CPU ELU/elu_grad in zealot-rl
(~1e-7).

Note: the one-line glamx Cargo.toml dependency is shared with the
PPO-kernels and GEMM-vec4 branches; whichever lands first, the others
need a trivial rebase of that line.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant