diff --git a/crates/ml-alpha/src/mamba2_block.rs b/crates/ml-alpha/src/mamba2_block.rs index 79275b8cd..bde8edfba 100644 --- a/crates/ml-alpha/src/mamba2_block.rs +++ b/crates/ml-alpha/src/mamba2_block.rs @@ -547,6 +547,12 @@ impl Mamba2Block { ) .result() .map_err(|e| anyhow!("Mamba2Block: cublasSetWorkspace_v2: {e:?}"))?; + cudarc::cublas::sys::cublasSetMathMode( + *cublas.handle(), + cudarc::cublas::sys::cublasMath_t::CUBLAS_TF32_TENSOR_OP_MATH, + ) + .result() + .map_err(|e| anyhow!("Mamba2Block: cublasSetMathMode TF32: {e:?}"))?; } // ── Parameter allocation + initialisation. ────────────────────── diff --git a/crates/ml-alpha/src/rl/dqn.rs b/crates/ml-alpha/src/rl/dqn.rs index 0d7d40500..c725b6a69 100644 --- a/crates/ml-alpha/src/rl/dqn.rs +++ b/crates/ml-alpha/src/rl/dqn.rs @@ -311,6 +311,12 @@ impl DqnHead { ) .result() .map_err(|e| anyhow::anyhow!("DqnHead: cublasSetWorkspace_v2: {e:?}"))?; + cudarc::cublas::sys::cublasSetMathMode( + *cublas.handle(), + cudarc::cublas::sys::cublasMath_t::CUBLAS_TF32_TENSOR_OP_MATH, + ) + .result() + .map_err(|e| anyhow::anyhow!("DqnHead: cublasSetMathMode TF32: {e:?}"))?; } // Bias-add and reduce-sum-axis0 kernel handles from ml-core.