{
  "profile": "../poprt/profile_logs/inference/profile.pop",
  "kernels": [
    {
      "step": 103,
      "kind": "OnTileExecute",
      "stage": "fused QKV projection",
      "name": "/visual/trunk/blocks/blocks.0/attn/qkv/MatMul/1795/matmulGrouped/Conv_1/Convolve",
      "cycles": 22415,
      "active_tiles": 1440,
      "start": 407425565,
      "end": 407449090,
      "max_exchange_code_bytes": 0,
      "vertices": "poplin::ConvPartial1x1Out<quarter,half,true,false,16,8,false>"
    },
    {
      "step": 140,
      "kind": "OnTileExecute",
      "stage": "QK transpose",
      "name": "/visual/trunk/blocks/blocks.0/attn/MatMul/1811/matmulGrouped/Conv_1/Convolve",
      "cycles": 5502,
      "active_tiles": 1472,
      "start": 407493044,
      "end": 407498651,
      "max_exchange_code_bytes": 0,
      "vertices": "poplin::ConvPartial1x1Out<quarter,half,true,false,16,8,false>"
    },
    {
      "step": 172,
      "kind": "OnTileExecute",
      "stage": "PV",
      "name": "/visual/trunk/blocks/blocks.0/attn/MatMul_1/1814/matmulGrouped/Conv_1/Convolve",
      "cycles": 7377,
      "active_tiles": 1472,
      "start": 407794406,
      "end": 407838691,
      "max_exchange_code_bytes": 0,
      "vertices": "poplin::ConvPartial1x1Out<quarter,half,true,false,16,8,false>"
    },
    {
      "step": 189,
      "kind": "OnTileExecute",
      "stage": "output projection",
      "name": "/visual/trunk/blocks/blocks.0/attn/proj/MatMul/1818/matmulGrouped/Conv_1/Convolve",
      "cycles": 8178,
      "active_tiles": 1472,
      "start": 407852424,
      "end": 407860873,
      "max_exchange_code_bytes": 0,
      "vertices": "poplin::ConvPartial1x1Out<quarter,half,true,false,16,8,false>"
    },
    {
      "step": 248,
      "kind": "OnTileExecute",
      "stage": "MLP up",
      "name": "/visual/trunk/blocks/blocks.0/mlp/fc1/MatMul/1832/matmulGrouped/Conv_1/Convolve",
      "cycles": 26425,
      "active_tiles": 1440,
      "start": 407900986,
      "end": 407928526,
      "max_exchange_code_bytes": 0,
      "vertices": "poplin::ConvPartial1x1Out<quarter,half,true,false,16,8,false>"
    },
    {
      "step": 281,
      "kind": "OnTileExecute",
      "stage": "MLP down",
      "name": "/visual/trunk/blocks/blocks.0/mlp/fc2/MatMul/1840/matmulGrouped/Conv_1/Convolve",
      "cycles": 28265,
      "active_tiles": 1440,
      "start": 407995433,
      "end": 408024262,
      "max_exchange_code_bytes": 0,
      "vertices": "poplin::ConvPartial1x1Out<quarter,half,true,false,16,8,false>"
    }
  ],
  "attention_exchanges": [
    {
      "name": "copy602_Copy_{/visual/trunk/blocks/blocks.0/attn/qkv/MatMul_cast_uint8_0/1794/cast,ValuePadder/padding}_to_/visual/trunk/blocks/blocks.0/attn/qkv/MatMul/1795/matmulGrouped/Conv_1/weightsRearranged/ExchangePre",
      "maximum": 360,
      "mean": 182.19565217391303
    },
    {
      "name": "cs25_/visual/trunk/blocks/blocks.0/attn/qkv/MatMul/1795/matmulGrouped/Conv_1/Convolve/ExchangePre",
      "maximum": 164,
      "mean": 107.48641304347827
    },
    {
      "name": "cs26_/visual/trunk/blocks/blocks.0/attn/qkv/MatMul/1795/matmulGrouped/Conv_1/Reduce0/ExchangePre",
      "maximum": 140,
      "mean": 101.75
    },
    {
      "name": "copy2_Copy_/visual/trunk/blocks/blocks.0/attn/qkv/MatMul/1795/matmulGrouped/Conv_1/partialReduceOut_to_/visual/trunk/blocks/blocks.0/attn/qkv/MatMul/1795/matmulGrouped/Conv_1/remappedOutput/ExchangePre",
      "maximum": 712,
      "mean": 278.32880434782606
    },
    {
      "name": "cs27_/visual/trunk/blocks/blocks.0/attn/qkv/Add/2005/Op/Add/ExchangePre",
      "maximum": 64,
      "mean": 21.307065217391305
    },
    {
      "name": "cs30_/visual/trunk/blocks/blocks.0/attn/Mul/1991/Op/Multiply/ExchangePre",
      "maximum": 16,
      "mean": 4.668478260869565
    },
    {
      "name": "cs33_/visual/trunk/blocks/blocks.0/attn/Mul_1/1987/Op/Multiply/ExchangePre",
      "maximum": 16,
      "mean": 4.684782608695652
    },
    {
      "name": "copy619_Copy_{/visual/trunk/blocks/blocks.0/attn/MatMul/1811/b,/visual/trunk/blocks/blocks.0/attn/MatMul_cast_uint8_0/1806/cast,ValuePadder/padding}_to_{/visual/trunk/blocks/blocks.0/attn/MatMul/1811/a,/visual/trunk/blocks/blocks.0/attn/MatMul/1811/matmulGrouped/Conv_1/actsRearranged}/ExchangePre",
      "maximum": 1296,
      "mean": 286.6902173913044
    },
    {
      "name": "copy604_Copy_{/visual/trunk/blocks/blocks.0/attn/MatMul/1811/a,ValuePadder/padding}_to_/visual/trunk/blocks/blocks.0/attn/MatMul/1811/matmulGrouped/Conv_1/weightsRearranged/ExchangePre",
      "maximum": 1160,
      "mean": 178.1820652173913
    },
    {
      "name": "cs38_/visual/trunk/blocks/blocks.0/attn/MatMul/1811/matmulGrouped/Conv_1/Convolve/ExchangePre",
      "maximum": 248,
      "mean": 146.7391304347826
    },
    {
      "name": "copy8_Copy_{/visual/trunk/blocks/blocks.0/attn/MatMul/1811/matmulGrouped/Conv_1/partials,/visual/trunk/blocks/blocks.0/attn/Softmax/1812/alignPad}_to_/visual/trunk/blocks/blocks.0/attn/Softmax/1812/Out/ExchangePre",
      "maximum": 7372,
      "mean": 5242.347826086957
    },
    {
      "name": "copy620_Copy_{/visual/trunk/blocks/blocks.0/attn/MatMul_1/1814/b,/visual/trunk/blocks/blocks.0/attn/MatMul_1_cast_uint8_0/1813/cast,ValuePadder/padding}_to_{/visual/trunk/blocks/blocks.0/attn/MatMul_1/1814/a,/visual/trunk/blocks/blocks.0/attn/MatMul_1/1814/matmulGrouped/Conv_1/actsRearranged}/ExchangePre",
      "maximum": 1352,
      "mean": 301.9673913043478
    },
    {
      "name": "cs50_/visual/trunk/blocks/blocks.0/attn/MatMul_1/1814/matmulGrouped/Conv_1/Convolve/ExchangePre",
      "maximum": 492,
      "mean": 331.2798913043478
    },
    {
      "name": "cs51_/visual/trunk/blocks/blocks.0/attn/MatMul_1/1814/matmulGrouped/Conv_1/Reduce0/ExchangePre",
      "maximum": 32,
      "mean": 27.73913043478261
    },
    {
      "name": "copy606_Copy_{/visual/trunk/blocks/blocks.0/attn/proj/MatMul_cast_uint8_0/1817/cast,ValuePadder/padding}_to_/visual/trunk/blocks/blocks.0/attn/proj/MatMul/1818/matmulGrouped/Conv_1/weightsRearranged/ExchangePre",
      "maximum": 648,
      "mean": 354.44565217391306
    },
    {
      "name": "cs56_/visual/trunk/blocks/blocks.0/attn/proj/MatMul/1818/matmulGrouped/Conv_1/Convolve/ExchangePre",
      "maximum": 268,
      "mean": 158.42391304347825
    },
    {
      "name": "cs57_/visual/trunk/blocks/blocks.0/attn/proj/MatMul/1818/matmulGrouped/Conv_1/Reduce0/ExchangePre",
      "maximum": 80,
      "mean": 65.61413043478261
    },
    {
      "name": "copy14_Copy_/visual/trunk/blocks/blocks.0/attn/proj/MatMul/1818/matmulGrouped/Conv_1/partialReduceOut_to_/visual/trunk/blocks/blocks.0/attn/proj/MatMul/1818/matmulGrouped/Conv_1/remappedOutput/ExchangePre",
      "maximum": 404,
      "mean": 198.9891304347826
    },
    {
      "name": "cs58_/visual/trunk/blocks/blocks.0/attn/proj/Add/1983/Op/Add/ExchangePre",
      "maximum": 56,
      "mean": 20.11413043478261
    }
  ],
  "exchange_memory_per_tile": {
    "min(b)": 6132,
    "avg(b)": 15529.051630434782,
    "max(b)": 36696
  },
  "device_spans": [
    17886945,
    17804824
  ],
  "qkv_executions": 54,
  "allocated_memory": {
    "min(total)": 132531,
    "avg(total)": 487748.4762228261,
    "max(total)": 540950
  }
}
