{
  "schema_ref": "arti/formula-program@sha256:215f631f44a79a6ffd2e59fcae801397c9f6e8abf597b8e836c98a8702142c0d",
  "schema_version": 2,
  "bindings": [
    {
      "kind": "input",
      "name": "base",
      "value_type": {
        "schema_ref": "arti/formula-tensor-type@sha256:2e8878cf1e99d96acf3eeada7c31268b4fa1a8594b97cee660de148db4bf4f0c",
        "axes": [
          "B",
          "S",
          "Dout"
        ],
        "sizes": [
          "B",
          "S",
          1024
        ],
        "dtype": "float32",
        "domain": "anonymous"
      }
    },
    {
      "kind": "input",
      "name": "x",
      "value_type": {
        "schema_ref": "arti/formula-tensor-type@sha256:2e8878cf1e99d96acf3eeada7c31268b4fa1a8594b97cee660de148db4bf4f0c",
        "axes": [
          "B",
          "S",
          "Din"
        ],
        "sizes": [
          "B",
          "S",
          1024
        ],
        "dtype": "float32",
        "domain": "anonymous"
      }
    },
    {
      "kind": "bank",
      "name": "lora.A",
      "source_ref": "arti/formula-operand-bank@sha256:c2f6e7173f8d22828ef8300806b6c853116b8d476af9e4822596e120f21babb1",
      "partition_id": "A",
      "value_type": {
        "schema_ref": "arti/formula-tensor-type@sha256:2e8878cf1e99d96acf3eeada7c31268b4fa1a8594b97cee660de148db4bf4f0c",
        "axes": [
          "R",
          "Din"
        ],
        "sizes": [
          32,
          1024
        ],
        "dtype": "float32",
        "domain": "anonymous"
      },
      "asset_fingerprint": null,
      "route_ref": null,
      "bundle_id": "lora",
      "member_ids": [
        "member-000"
      ]
    },
    {
      "kind": "bank",
      "name": "lora.B",
      "source_ref": "arti/formula-operand-bank@sha256:c2f6e7173f8d22828ef8300806b6c853116b8d476af9e4822596e120f21babb1",
      "partition_id": "B",
      "value_type": {
        "schema_ref": "arti/formula-tensor-type@sha256:2e8878cf1e99d96acf3eeada7c31268b4fa1a8594b97cee660de148db4bf4f0c",
        "axes": [
          "Dout",
          "R"
        ],
        "sizes": [
          1024,
          32
        ],
        "dtype": "float32",
        "domain": "anonymous"
      },
      "asset_fingerprint": null,
      "route_ref": null,
      "bundle_id": "lora",
      "member_ids": [
        "member-000"
      ]
    },
    {
      "kind": "input",
      "name": "lora.gain",
      "value_type": {
        "schema_ref": "arti/formula-tensor-type@sha256:2e8878cf1e99d96acf3eeada7c31268b4fa1a8594b97cee660de148db4bf4f0c",
        "axes": [],
        "sizes": [],
        "dtype": "float32",
        "domain": "anonymous"
      }
    }
  ],
  "slots": [
    {
      "slot_id": "base",
      "value_type": {
        "schema_ref": "arti/formula-tensor-type@sha256:2e8878cf1e99d96acf3eeada7c31268b4fa1a8594b97cee660de148db4bf4f0c",
        "axes": [
          "B",
          "S",
          "Dout"
        ],
        "sizes": [
          "B",
          "S",
          1024
        ],
        "dtype": "float32",
        "domain": "anonymous"
      },
      "producer": "input",
      "producer_id": "base",
      "role": "input"
    },
    {
      "slot_id": "x",
      "value_type": {
        "schema_ref": "arti/formula-tensor-type@sha256:2e8878cf1e99d96acf3eeada7c31268b4fa1a8594b97cee660de148db4bf4f0c",
        "axes": [
          "B",
          "S",
          "Din"
        ],
        "sizes": [
          "B",
          "S",
          1024
        ],
        "dtype": "float32",
        "domain": "anonymous"
      },
      "producer": "input",
      "producer_id": "x",
      "role": "input"
    },
    {
      "slot_id": "lora.A",
      "value_type": {
        "schema_ref": "arti/formula-tensor-type@sha256:2e8878cf1e99d96acf3eeada7c31268b4fa1a8594b97cee660de148db4bf4f0c",
        "axes": [
          "R",
          "Din"
        ],
        "sizes": [
          32,
          1024
        ],
        "dtype": "float32",
        "domain": "anonymous"
      },
      "producer": "bank",
      "producer_id": "lora.A",
      "role": "bank_operand"
    },
    {
      "slot_id": "%0",
      "value_type": {
        "schema_ref": "arti/formula-tensor-type@sha256:2e8878cf1e99d96acf3eeada7c31268b4fa1a8594b97cee660de148db4bf4f0c",
        "axes": [
          "B",
          "S",
          "R"
        ],
        "sizes": [
          "B",
          "S",
          32
        ],
        "dtype": "float32",
        "domain": "anonymous"
      },
      "producer": "instruction",
      "producer_id": "i0",
      "role": "temporary"
    },
    {
      "slot_id": "%1",
      "value_type": {
        "schema_ref": "arti/formula-tensor-type@sha256:2e8878cf1e99d96acf3eeada7c31268b4fa1a8594b97cee660de148db4bf4f0c",
        "axes": [
          "B",
          "S",
          "R"
        ],
        "sizes": [
          "B",
          "S",
          32
        ],
        "dtype": "float32",
        "domain": "anonymous"
      },
      "producer": "instruction",
      "producer_id": "i1",
      "role": "temporary"
    },
    {
      "slot_id": "lora.B",
      "value_type": {
        "schema_ref": "arti/formula-tensor-type@sha256:2e8878cf1e99d96acf3eeada7c31268b4fa1a8594b97cee660de148db4bf4f0c",
        "axes": [
          "Dout",
          "R"
        ],
        "sizes": [
          1024,
          32
        ],
        "dtype": "float32",
        "domain": "anonymous"
      },
      "producer": "bank",
      "producer_id": "lora.B",
      "role": "bank_operand"
    },
    {
      "slot_id": "%2",
      "value_type": {
        "schema_ref": "arti/formula-tensor-type@sha256:2e8878cf1e99d96acf3eeada7c31268b4fa1a8594b97cee660de148db4bf4f0c",
        "axes": [
          "B",
          "S",
          "Dout"
        ],
        "sizes": [
          "B",
          "S",
          1024
        ],
        "dtype": "float32",
        "domain": "anonymous"
      },
      "producer": "instruction",
      "producer_id": "i2",
      "role": "temporary"
    },
    {
      "slot_id": "lora.gain",
      "value_type": {
        "schema_ref": "arti/formula-tensor-type@sha256:2e8878cf1e99d96acf3eeada7c31268b4fa1a8594b97cee660de148db4bf4f0c",
        "axes": [],
        "sizes": [],
        "dtype": "float32",
        "domain": "anonymous"
      },
      "producer": "input",
      "producer_id": "lora.gain",
      "role": "input"
    },
    {
      "slot_id": "%3",
      "value_type": {
        "schema_ref": "arti/formula-tensor-type@sha256:2e8878cf1e99d96acf3eeada7c31268b4fa1a8594b97cee660de148db4bf4f0c",
        "axes": [
          "B",
          "S",
          "Dout"
        ],
        "sizes": [
          "B",
          "S",
          1024
        ],
        "dtype": "float32",
        "domain": "anonymous"
      },
      "producer": "instruction",
      "producer_id": "i3",
      "role": "temporary"
    },
    {
      "slot_id": "%4",
      "value_type": {
        "schema_ref": "arti/formula-tensor-type@sha256:2e8878cf1e99d96acf3eeada7c31268b4fa1a8594b97cee660de148db4bf4f0c",
        "axes": [
          "B",
          "S",
          "Dout"
        ],
        "sizes": [
          "B",
          "S",
          1024
        ],
        "dtype": "float32",
        "domain": "anonymous"
      },
      "producer": "instruction",
      "producer_id": "i4",
      "role": "output"
    }
  ],
  "instructions": [
    {
      "instruction_id": "i0",
      "step": 1,
      "atom_ref": "arti/formula-atom-contract@sha256:0e64cc2f8e26fe31dae10c4920b2d160df426b04a707c712bbaba5a8c6b38260",
      "input_slots": [
        "x",
        "lora.A"
      ],
      "output_slot": "%0",
      "attributes": {
        "accumulation_dtype": "float32",
        "output_axes": [
          "B",
          "S",
          "R"
        ],
        "reduce_axes": [
          [
            "Din",
            "Din"
          ]
        ]
      }
    },
    {
      "instruction_id": "i1",
      "step": 2,
      "atom_ref": "arti/formula-atom-scalar-map@sha256:e7cee82be840d3f58c0fe9d91492263cb6e57429036eda39b1450a0655cc7fef",
      "input_slots": [
        "%0"
      ],
      "output_slot": "%1",
      "attributes": {
        "mode": "silu"
      }
    },
    {
      "instruction_id": "i2",
      "step": 3,
      "atom_ref": "arti/formula-atom-contract@sha256:0e64cc2f8e26fe31dae10c4920b2d160df426b04a707c712bbaba5a8c6b38260",
      "input_slots": [
        "%1",
        "lora.B"
      ],
      "output_slot": "%2",
      "attributes": {
        "accumulation_dtype": "float32",
        "output_axes": [
          "B",
          "S",
          "Dout"
        ],
        "reduce_axes": [
          [
            "R",
            "R"
          ]
        ]
      }
    },
    {
      "instruction_id": "i3",
      "step": 4,
      "atom_ref": "arti/formula-atom-scale@sha256:739d9ea89c2f37107ca608a3b8a30c4bfbda09cc5889be2487221adc22db8de7",
      "input_slots": [
        "%2",
        "lora.gain"
      ],
      "output_slot": "%3",
      "attributes": {
        "accumulation_dtype": "float32",
        "factor_axes": []
      }
    },
    {
      "instruction_id": "i4",
      "step": 5,
      "atom_ref": "arti/formula-atom-add@sha256:21af44bb3290662b7e7f695b0096c9359c94f9db75272504351bb84e68a1b4d9",
      "input_slots": [
        "base",
        "%3"
      ],
      "output_slot": "%4",
      "attributes": {
        "accumulation_dtype": "float32"
      }
    }
  ],
  "outputs": [
    "%4"
  ],
  "limits": {
    "schema_ref": "arti/formula-limits@sha256:8280c6ef583c507defa40a52a3b0b80aa29975b6013a6a86651fe23464a073cf",
    "schema_version": 1,
    "max_bindings": 32,
    "max_slots": 128,
    "max_instructions": 96,
    "max_steps": 64,
    "max_axes": 8,
    "max_axis_extent": 1048576,
    "max_tensor_elements": 268435456,
    "max_tensor_bytes": 1073741824,
    "max_working_bytes": 2147483648
  }
}
