Expand description
§moe-gpu-dsp
MoE-routed GPU signal processing framework for Rust.
Provides a zero-copy GPU pipeline for frequency-domain processing: upload signal once, run all processing on GPU, download result once.
Built on cudarc for CUDA bindings and cuFFT for batch FFT operations.
§Pipeline
Signal -> [GPU upload] -> Window -> Batch FFT R2C -> Magnitude
-> Processing kernels (median filter, soft mask, custom)
-> Batch FFT C2R -> Overlap-add -> [GPU download] -> Output§Quick start
ⓘ
use moe_gpu_dsp::{GpuDsp, DspConfig};
let dsp = GpuDsp::new(DspConfig::default()).unwrap();
let (signal_dev, windowed, n_frames) = dsp.window_frames(&signal);
let complex = dsp.batch_fft_r2c(&windowed, n_frames);
// ... run processing kernels on GPU ...
let output = dsp.batch_ifft_c2r_ola(&mut masked, n_frames, signal.len());