Skip to main content

CudaTracegenAir

Trait CudaTracegenAir 

Source
pub trait CudaTracegenAir<F: Field>: MachineAir<F> {
    // Provided methods
    fn supports_device_preprocessed_tracegen(&self) -> bool { ... }
    fn generate_preprocessed_trace_device(
        &self,
        program: &Self::Program,
        scope: &TaskScope,
    ) -> impl Future<Output = Result<Option<DeviceMle<F>>, CopyError>> + Send { ... }
    fn supports_device_main_tracegen(&self) -> bool { ... }
    fn generate_trace_device(
        &self,
        input: &Self::Record,
        output: &mut Self::Record,
        scope: &TaskScope,
    ) -> impl Future<Output = Result<DeviceMle<F>, CopyError>> + Send { ... }
}
Expand description

An AIR that potentially supports device trace generation over the given field.

Provided Methods§

Source

fn supports_device_preprocessed_tracegen(&self) -> bool

Whether this AIR supports preprocessed trace generation on the device.

Source

fn generate_preprocessed_trace_device( &self, program: &Self::Program, scope: &TaskScope, ) -> impl Future<Output = Result<Option<DeviceMle<F>>, CopyError>> + Send

Generate the preprocessed trace on the device.

§Panics

Panics if unsupported. See CudaTracegenAir::supports_device_preprocessed_tracegen.

Source

fn supports_device_main_tracegen(&self) -> bool

Whether this AIR supports main trace generation on the device.

Source

fn generate_trace_device( &self, input: &Self::Record, output: &mut Self::Record, scope: &TaskScope, ) -> impl Future<Output = Result<DeviceMle<F>, CopyError>> + Send

Generate the main trace on the device.

§Panics

Panics if unsupported. See CudaTracegenAir::supports_device_main_tracegen.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl CudaTracegenAir<KoalaBear> for BaseAluChip

Source§

impl CudaTracegenAir<KoalaBear> for ConvertChip

Source§

impl CudaTracegenAir<KoalaBear> for ExtAluChip

Source§

impl CudaTracegenAir<KoalaBear> for GlobalChip

Source§

fn supports_device_main_tracegen(&self) -> bool

Source§

async fn generate_trace_device( &self, input: &Self::Record, output: &mut Self::Record, scope: &TaskScope, ) -> Result<DeviceMle<SP1Field>, CopyError>

Source§

impl CudaTracegenAir<KoalaBear> for Poseidon2LinearLayerChip

Source§

impl CudaTracegenAir<KoalaBear> for Poseidon2SBoxChip

Source§

impl CudaTracegenAir<KoalaBear> for PrefixSumChecksChip

Source§

fn supports_device_main_tracegen(&self) -> bool

Source§

async fn generate_trace_device( &self, input: &Self::Record, _: &mut Self::Record, scope: &TaskScope, ) -> Result<DeviceMle<SP1Field>, CopyError>

Source§

impl CudaTracegenAir<KoalaBear> for RiscvAir<SP1Field>

Source§

fn supports_device_main_tracegen(&self) -> bool

Source§

async fn generate_trace_device( &self, input: &Self::Record, output: &mut Self::Record, scope: &TaskScope, ) -> Result<DeviceMle<SP1Field>, CopyError>

Source§

impl CudaTracegenAir<KoalaBear> for SelectChip

Source§

impl<const DEGREE: usize, const VAR_EVENTS_PER_ROW: usize> CudaTracegenAir<KoalaBear> for RecursionAir<SP1Field, DEGREE, VAR_EVENTS_PER_ROW>

Source§

impl<const DEGREE: usize> CudaTracegenAir<KoalaBear> for Poseidon2WideChip<DEGREE>

Implementors§