crates/ipu-codegen/src/place.rs:1693: [crate::OperandRequirement::new(format.clone(), 8)], crates/ipu-codegen/src/place.rs:1694: crate::OperandRequirement::new(format, 8), crates/ipu-codegen/src/mid/cast.rs:420: input: OperandRequirement::new( crates/ipu-codegen/src/mid/cast.rs:427: output: OperandRequirement::new( crates/ipu-codegen/src/estimate/cycles.rs:395: OperandRequirement, OutputAliasing, StorageRequirements, TensorFormat, TileKernelSpec, crates/ipu-codegen/src/estimate/cycles.rs:406: fn pointwise_requirements(format: TensorFormat) -> StorageRequirements { crates/ipu-codegen/src/estimate/cycles.rs:407: StorageRequirements { crates/ipu-codegen/src/estimate/cycles.rs:408: inputs: vec![OperandRequirement::new(format.clone(), 8)], crates/ipu-codegen/src/estimate/cycles.rs:409: output: OperandRequirement::new(format, 8), crates/ipu-codegen/src/mid/tests.rs:476: let requirements = StorageRequirements { crates/ipu-codegen/src/mid/tests.rs:478: OperandRequirement::new(left.format.clone(), 32), crates/ipu-codegen/src/mid/tests.rs:479: OperandRequirement::new(standard.format.clone(), 32), crates/ipu-codegen/src/mid/tests.rs:481: output: OperandRequirement::new(output.format.clone(), 8), crates/ipu-codegen/src/mid/tests.rs:731: OperandRequirement::new(left_format.clone(), 32), crates/ipu-codegen/src/mid/tests.rs:732: OperandRequirement::new(right_format.clone(), 32), crates/ipu-codegen/src/mid/tests.rs:734: OperandRequirement::new(output_format.clone(), 32), crates/ipu-codegen/src/mid/tests.rs:1000: [OperandRequirement::new(gelu_input.clone(), 8)], crates/ipu-codegen/src/mid/tests.rs:1001: OperandRequirement::new(gelu_output.clone(), 8), crates/ipu-codegen/src/mid/tests.rs:1007: OperandRequirement::new(add_left.clone(), 8), crates/ipu-codegen/src/mid/tests.rs:1008: OperandRequirement::new(add_right.clone(), 8), crates/ipu-codegen/src/mid/tests.rs:1010: OperandRequirement::new(add_output.clone(), 8), crates/ipu-codegen/src/mid/tests.rs:1019: OperandRequirement::new(attention_query.clone(), 8), crates/ipu-codegen/src/mid/tests.rs:1020: OperandRequirement::new(attention_key.clone(), 8), crates/ipu-codegen/src/mid/tests.rs:1021: OperandRequirement::new(attention_value_format.clone(), 8), crates/ipu-codegen/src/mid/tests.rs:1023: OperandRequirement::new(attention_output.clone(), 8), crates/ipu-codegen/src/mid/tests.rs:2289: OperandRequirement::new(input_format, 32).with_access_tail(16), crates/ipu-codegen/src/mid/tests.rs:2290: OperandRequirement::new(weight_format, 32), crates/ipu-codegen/src/mid/tests.rs:2292: OperandRequirement::new(output_format, 32), crates/ipu-codegen/src/mid/tests.rs:2358: input: OperandRequirement::new(formats[index as usize].clone(), 8), crates/ipu-codegen/src/mid/tests.rs:2359: output: OperandRequirement::new(formats[index as usize + 1].clone(), 8) crates/ipu-codegen/src/mid/residual.rs:160: input: OperandRequirement::new( crates/ipu-codegen/src/mid/residual.rs:164: output: OperandRequirement::new(tensor_type.format.clone(), 8), crates/ipu-codegen/src/mid/residual.rs:431: input: OperandRequirement::new(tensor.format.clone(), 8), crates/ipu-codegen/src/mid/residual.rs:432: output: OperandRequirement::new(value.tensor_type.format.clone(), 8), crates/ipu-codegen/src/mid/ownership.rs:503: input: OperandRequirement::new(source.format, 8), crates/ipu-codegen/src/mid/ownership.rs:504: output: OperandRequirement::new(output.format, 8), crates/ipu-codegen/src/mid/operator.rs:320:pub struct OperandRequirement { crates/ipu-codegen/src/mid/operator.rs:349:impl OperandRequirement { crates/ipu-codegen/src/mid/operator.rs:360: pub fn with_access_tail(mut self, bytes: u32) -> Self { crates/ipu-codegen/src/mid/operator.rs:421: requirements: &[OperandRequirement], crates/ipu-codegen/src/mid/operator.rs:423: output_requirement: &OperandRequirement, crates/ipu-codegen/src/mid/operator.rs:434:pub(super) fn valid_requirement(requirement: &OperandRequirement, shape: &TensorShape) -> bool { crates/ipu-codegen/src/mid/operator.rs:448:pub struct StorageRequirements { crates/ipu-codegen/src/mid/operator.rs:449: pub inputs: Vec, crates/ipu-codegen/src/mid/operator.rs:450: pub output: OperandRequirement, crates/ipu-codegen/src/mid/operator.rs:459: pub requirements: StorageRequirements, crates/ipu-codegen/src/mid/operator.rs:492: pub input: OperandRequirement, crates/ipu-codegen/src/mid/operator.rs:493: pub output: OperandRequirement, crates/ipu-codegen/src/mid/lowering.rs:551: input: OperandRequirement::new(input.format, 8), crates/ipu-codegen/src/mid/lowering.rs:552: output: OperandRequirement::new(output.format, 8).with_materialization(if cast { crates/ipu-codegen/src/mid/catalogue.rs:92: inputs: impl IntoIterator, crates/ipu-codegen/src/mid/catalogue.rs:93: output: OperandRequirement, crates/ipu-codegen/src/mid/catalogue.rs:99: requirements: StorageRequirements { crates/ipu-codegen/src/mid/catalogue.rs:381: .map(|format| OperandRequirement::new(format, 8)), crates/ipu-codegen/src/mid/catalogue.rs:382: OperandRequirement::new(output, 8), crates/ipu-codegen/src/mid/catalogue.rs:395:pub(super) fn gemm_plan( crates/ipu-codegen/src/mid/catalogue.rs:409: let operand = |layout| OperandRequirement::new(TensorFormat { precision, layout }, 32); crates/ipu-codegen/src/mid/catalogue.rs:421: requirements: StorageRequirements { crates/ipu-codegen/src/mid/catalogue.rs:423: output: OperandRequirement::new( crates/ipu-codegen/src/mid/catalogue.rs:457: plan: gemm_plan( crates/ipu-codegen/src/mid/catalogue.rs:514: plan: gemm_plan( crates/ipu-codegen/src/mid/elementwise.rs:352: input: OperandRequirement::new(old.tensor_type.format.clone(), 8), crates/ipu-codegen/src/mid/elementwise.rs:353: output: OperandRequirement::new(value.tensor_type.format.clone(), 8), crates/ipu-codegen/src/mid/elementwise.rs:480: input: OperandRequirement::new(source.format, 8), crates/ipu-codegen/src/mid/elementwise.rs:481: output: OperandRequirement::new(retiled.format.clone(), 8), crates/ipu-codegen/src/mid/elementwise.rs:489: input: OperandRequirement::new(retiled.format, 8), crates/ipu-codegen/src/mid/elementwise.rs:490: output: OperandRequirement::new(packed.format, 8), crates/ipu-codegen/src/mid/elementwise.rs:636: input: OperandRequirement::new(source.format.clone(), 8), crates/ipu-codegen/src/mid/elementwise.rs:637: output: OperandRequirement::new(identity_format.clone(), 8), crates/ipu-codegen/src/mid/elementwise.rs:648: input: OperandRequirement::new(identity_format, 8), crates/ipu-codegen/src/mid/elementwise.rs:649: output: OperandRequirement::new(output.format, 8), crates/ipu-codegen/src/low/expand/tests.rs:19: Ipu21CostModel, Layout, MemoryClass, MidOperator, OperandRequirement, OperatorCandidate, crates/ipu-codegen/src/low/expand/tests.rs:459: OperandRequirement::new(left_format.clone(), 32), crates/ipu-codegen/src/low/expand/tests.rs:460: OperandRequirement::new(right_format.clone(), 32), crates/ipu-codegen/src/low/expand/tests.rs:462: OperandRequirement::new(output_format, 32), crates/ipu-codegen/src/low/expand/tests.rs:629: OperandRequirement::new(left_format, 32).with_access_tail(16), crates/ipu-codegen/src/low/expand/tests.rs:630: OperandRequirement::new(right_format, 32), crates/ipu-codegen/src/low/expand/tests.rs:632: OperandRequirement::new(output_format, 32), crates/ipu-codegen/src/low/expand/tests.rs:679: [OperandRequirement::new(tensor_format.clone(), 8)], crates/ipu-codegen/src/low/expand/tests.rs:680: OperandRequirement::new(tensor_format, 8), crates/ipu-codegen/src/low/expand/tests.rs:865: [OperandRequirement::new(input_format, 8)], crates/ipu-codegen/src/low/expand/tests.rs:866: OperandRequirement::new(output_format, 8), crates/ipu-codegen/src/low/expand/tests.rs:934: [OperandRequirement::new(target_format.clone(), 8)], crates/ipu-codegen/src/low/expand/tests.rs:935: OperandRequirement::new(target_format, 8), crates/ipu-codegen/src/low/expand/tests.rs:1766: crate::OperandRequirement::new(left_format, 32).with_access_tail(16), crates/ipu-codegen/src/low/expand/tests.rs:1767: crate::OperandRequirement::new(right_format, 32).with_local_staging(local_staging), crates/ipu-codegen/src/low/expand/tests.rs:1769: crate::OperandRequirement::new(output_format, 32), crates/ipu-codegen/src/low/expand/tests.rs:2155: [OperandRequirement::new(format.clone(), 8)], crates/ipu-codegen/src/low/expand/tests.rs:2156: OperandRequirement::new(format.clone(), 8), crates/ipu-codegen/src/mid/candidates.rs:158: requirements: StorageRequirements { crates/ipu-codegen/src/mid/candidates.rs:159: inputs: vec![OperandRequirement::new(input.format.clone(), 8)], crates/ipu-codegen/src/mid/candidates.rs:160: output: OperandRequirement::new( crates/ipu-codegen/src/mid/candidates.rs:213: requirements: StorageRequirements { crates/ipu-codegen/src/mid/candidates.rs:214: inputs: vec![OperandRequirement::new(source, 8)], crates/ipu-codegen/src/mid/candidates.rs:215: output: OperandRequirement::new( crates/ipu-codegen/src/mid/candidates.rs:242: requirements: StorageRequirements { crates/ipu-codegen/src/mid/candidates.rs:243: inputs: vec![OperandRequirement::new(input.format.clone(), 8)], crates/ipu-codegen/src/mid/candidates.rs:244: output: OperandRequirement::new( crates/ipu-codegen/src/mid/candidates.rs:318: requirements: StorageRequirements { crates/ipu-codegen/src/mid/candidates.rs:322: OperandRequirement::new(format.clone(), 8) crates/ipu-codegen/src/mid/candidates.rs:326: output: OperandRequirement::new(output_format.clone(), 8), crates/ipu-codegen/src/mid/candidates.rs:463: requirements: StorageRequirements { crates/ipu-codegen/src/mid/candidates.rs:464: inputs: vec![OperandRequirement::new(format.clone(), 8)], crates/ipu-codegen/src/mid/candidates.rs:465: output: OperandRequirement::new(format, 8), crates/ipu-codegen/src/mid/candidates.rs:754: inputs: &[OperandRequirement], crates/ipu-codegen/src/mid/candidates.rs:1401: let mut staged = gemm_plan(