weirflow 0.1.0

GPU-first dataflow analysis primitives for Vyre and Santh compiler pipelines.
Documentation
//! Exhaustive tests for `ifds_vyre_resident.rs`.
//!
//! Covers every public `IfdsResidentDispatch` method, every `BackendError`
//! mapping path, the private `resident_steps_from` and
//! `resident_read_ranges_from` helpers, and resource lifecycle invariants
//! via `FakeResidentBackend` v2.

use crate::ifds_gpu::IfdsResidentDispatch;
use crate::ifds_vyre_resident::{resident_read_ranges_from, resident_steps_from, VyreResidentIfds};
use crate::test_harness::fake_backend::{AllocRecord, FakeResidentBackend, InjectedFailure};
use vyre::VyreBackend;

pub(crate) fn program() -> vyre::ir::Program {
    vyre::ir::Program::default()
}

pub(crate) fn backend() -> FakeResidentBackend {
    FakeResidentBackend::new()
}

pub(crate) fn adapter(backend: &FakeResidentBackend) -> VyreResidentIfds<'_, FakeResidentBackend> {
    VyreResidentIfds::new(backend)
}

pub(crate) fn res_handle(resource: &vyre::backend::Resource) -> u64 {
    match resource {
        vyre::backend::Resource::Resident(handle) => *handle,
        other => panic!("expected Resource::Resident, got {other:?}"),
    }
}

#[path = "ifds_vyre_resident_tests/identity_contracts.rs"]
mod identity_contracts;
#[path = "ifds_vyre_resident_tests/allocate_contracts.rs"]
mod allocate_contracts;
#[path = "ifds_vyre_resident_tests/upload_contracts.rs"]
mod upload_contracts;
#[path = "ifds_vyre_resident_tests/download_contracts.rs"]
mod download_contracts;
#[path = "ifds_vyre_resident_tests/free_dispatch_contracts.rs"]
mod free_dispatch_contracts;
#[path = "ifds_vyre_resident_tests/sequence_contracts.rs"]
mod sequence_contracts;
#[path = "ifds_vyre_resident_tests/repeated_sequence_contracts.rs"]
mod repeated_sequence_contracts;
#[path = "ifds_vyre_resident_tests/backend_error_mapping_contracts.rs"]
mod backend_error_mapping_contracts;
#[path = "ifds_vyre_resident_tests/lifecycle_contracts.rs"]
mod lifecycle_contracts;
#[path = "ifds_vyre_resident_tests/resident_steps_contracts.rs"]
mod resident_steps_contracts;
#[path = "ifds_vyre_resident_tests/resident_read_ranges_contracts.rs"]
mod resident_read_ranges_contracts;
#[path = "ifds_vyre_resident_tests/boundary_contracts.rs"]
mod boundary_contracts;
#[path = "ifds_vyre_resident_tests/dispatch_record_contracts.rs"]
mod dispatch_record_contracts;
#[path = "ifds_vyre_resident_tests/error_surface_contracts.rs"]
mod error_surface_contracts;
#[path = "ifds_vyre_resident_tests/parameterized_scale_contracts.rs"]
mod parameterized_scale_contracts;