Skip to main content

synthesize_inline_workload

Function synthesize_inline_workload 

Source
pub fn synthesize_inline_workload(op_template: &str) -> Result<Workload, String>
Expand description

Synthesize a Workload from an inline op= string.

§Inline binding syntax

  • {{expr}} — inline Polydat expression. Compiled into the GK kernel at init time, then invoked per cycle like any other Polydat output. Extracted and replaced with {__inline_N}.
  • {name} — reference bind point, resolved by the standard bind point pipeline (GK output, coordinate, capture).

§Multiple ops

Semicolons separate multiple ops. An optional N: prefix sets the ratio:

"3:read {{cycle}};1:write {{mod(cycle, 100)}}"

§Examples

use nmbrs_workload::inline::synthesize_inline_workload;

let w = synthesize_inline_workload("hello {{cycle}}").unwrap();
assert_eq!(w.ops.len(), 1);
assert_eq!(w.ops[0].name, "inline_0");