)]}'
{
  "commit": "321c904e1fd71c4b64e1a012269b458920c87755",
  "tree": "04fc28e34b12f679cd8c2c3c15a3f8955d2c0abe",
  "parents": [
    "0758fb83b3d7115324913424d14b6830da168971"
  ],
  "author": {
    "name": "David Gao",
    "email": "davidgao@google.com",
    "time": "Tue Jun 18 08:53:41 2024 +0000"
  },
  "committer": {
    "name": "David Gao",
    "email": "davidgao@google.com",
    "time": "Fri Jun 21 20:07:46 2024 +0000"
  },
  "message": "Rewrite ConvPerChannelD1OD24_5x5\n\nThis new approach utilizes the aconv instruction to perform full matmul.\nCreative data shuffling methods allow the implementation to achieve\nsignificantly better useful MAC throughput.\n\nActivation min/max is assumed to be int8 limits to eliminate the clamping\ninstructions in the postprocessing\n\nambient_face_2.8.0_504x378_grayscale_per_axis_simulator_iss is used in\ntesting.\nThe following items are measured on the simulator:\n- Mismatch_count is 0.\n- #0 CONV_2D takes 1.52M ticks (down from 4.02M, 2.64x speedup).\n- Total cycles is now 52.9M (down from 57.9M, -8.6%).\n\nThe implementation currently contains lots of repeated and near-repeated\nsections. They can be folded together in the future to improve\nreadability.\n\nThe following improvement items may be doable:\n- Further tweak data shuffling sections to take less time\n- Rearrange instructions on bottlenecks\n\nChange-Id: Ibfcea94988b9ece4ea98a61c139ce44e967b4fd8\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7842b0d4b0a1f97405d0ade85e0144c733094279",
      "old_mode": 33188,
      "old_path": "tflm/opt/conv_s8.cc",
      "new_id": "10e8f41b005966d3f46829cb1980528f2dcee3a9",
      "new_mode": 33188,
      "new_path": "tflm/opt/conv_s8.cc"
    },
    {
      "type": "modify",
      "old_id": "c03a7f5b9bd3f4529d82a5533435983977593581",
      "old_mode": 33188,
      "old_path": "tflm/opt/conv_s8_d1.cc",
      "new_id": "35b90a69d016775b675a2f485c458ed79227667a",
      "new_mode": 33188,
      "new_path": "tflm/opt/conv_s8_d1.cc"
    }
  ]
}
