use crate::core::channel::Blake2sChannelGeneric;
use crate::core::proof_of_work::GrindOps;
use crate::prover::backend::simd::SimdBackend;
use super::GpuBackend;
impl<const IS_M31_OUTPUT: bool> GrindOps<Blake2sChannelGeneric<IS_M31_OUTPUT>> for GpuBackend {
fn grind(channel: &Blake2sChannelGeneric<IS_M31_OUTPUT>, pow_bits: u32) -> u64 {
SimdBackend::grind(channel, pow_bits)
}
}
#[cfg(not(target_arch = "wasm32"))]
mod poseidon {
use crate::core::channel::Poseidon252Channel;
use crate::core::proof_of_work::GrindOps;
use crate::prover::backend::simd::SimdBackend;
use super::GpuBackend;
impl GrindOps<Poseidon252Channel> for GpuBackend {
fn grind(channel: &Poseidon252Channel, pow_bits: u32) -> u64 {
SimdBackend::grind(channel, pow_bits)
}
}
}