)]}'
{
  "commit": "96e565428220bc9cfa13f21ac374c8cef2554e94",
  "tree": "ee19c18a0e394fafb90c64fe7a086eb169f11db6",
  "parents": [
    "12974d4945757211be160e2ae254858c1172474b"
  ],
  "author": {
    "name": "Lun Dong",
    "email": "lundong@google.com",
    "time": "Sat May 13 13:25:12 2023 -0700"
  },
  "committer": {
    "name": "Lun Dong",
    "email": "lundong@google.com",
    "time": "Mon Dec 11 13:02:05 2023 -0800"
  },
  "message": "vec_iree: Add support for LLVM ukernel via plugin importer\n\nFor Kelvin, we used efficient \"aconv\" op to implement custom mmt4d\nukernel and achieved substantial performance improvement for many models.\n\nFor Springbok, LLVM ukernel also works, but we disable it for\nnow as it currently does not perform better than current version with\nRVV_ON.\n\nWe also did clean-ups on the folder \"vmvx_ukernel\" to accommodate latest\nVMVX and LLVM ukernel APIs and design.\n\nSome further notes:\n- We renamed folder vmvx_ukernel to ukernel as it now supports for both VMVX and LLVM.\n- We removed custom ukerenl/query_tile_sizes.c to use IREE default for VMVX ukernel, as it was arbitrarily chosen before and VMVX ukernel now uses dynamic tile sizes.\n- We only enabled LLVM ukernel for Kelvin for now, as explained above.\n- For our custom ukernel implementation in ukernel/mmt4d_tile.c, we only\n  considered the case of using Kelvin intrincics or using RVV. Generic\n  ukernel case was omitted as it\u0027s not our interest and is already available as IREE builtin default ukernel.\n\nChange-Id: Ia96bcc6a676067cab412c8bc89788faa73403b6d\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4fbba55c1f69c2f506ad793fe50fae9ded5ad9e2",
      "old_mode": 33188,
      "old_path": "CMakeLists.txt",
      "new_id": "ffd43bd015fbdf89725a876f76d339f03e50c640",
      "new_mode": 33188,
      "new_path": "CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "32a081ce5124ca66fb0be0d9b70356d1c1983630",
      "old_mode": 33188,
      "old_path": "README.md",
      "new_id": "6eb4a2d9063d22d6d0af6aaa58b76266c853c25a",
      "new_mode": 33188,
      "new_path": "README.md"
    },
    {
      "type": "modify",
      "old_id": "6fabab9329f8641b09d82d1048a52a7785da921e",
      "old_mode": 33188,
      "old_path": "cmake/sparrow_static_module.cmake",
      "new_id": "501adfd37db382015c818c680b1b3ab3a42f0b1b",
      "new_mode": 33188,
      "new_path": "cmake/sparrow_static_module.cmake"
    },
    {
      "type": "modify",
      "old_id": "c8f9222bf754e99e21c6eac0aaf64af3b749845f",
      "old_mode": 33188,
      "old_path": "device/CMakeLists.txt",
      "new_id": "46fa5542a03e7aba1c1610ffd0acd8ce4b91607a",
      "new_mode": 33188,
      "new_path": "device/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "0d783f62001aa08389109f3642629179a09569fd",
      "old_mode": 33188,
      "old_path": "device/device_static_loader.c",
      "new_id": "cff099fa5e3c8a118b6202cdb278403b7d927933",
      "new_mode": 33188,
      "new_path": "device/device_static_loader.c"
    },
    {
      "type": "rename",
      "old_id": "86de17cd1ba8418e3a2057040188c02d1d626c61",
      "old_mode": 33188,
      "old_path": "vmvx_ukernel/CMakeLists.txt",
      "new_id": "f69f8ebc628d0fd30b692b1d622e5092fdf2f9e9",
      "new_mode": 33188,
      "new_path": "ukernel/CMakeLists.txt",
      "score": 86
    },
    {
      "type": "rename",
      "old_id": "15bd68236f44ccba6c93f35e5d5104bf44ed6e33",
      "old_mode": 33188,
      "old_path": "vmvx_ukernel/elementwise.c",
      "new_id": "15bd68236f44ccba6c93f35e5d5104bf44ed6e33",
      "new_mode": 33188,
      "new_path": "ukernel/elementwise.c",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cf0215d19dc9e584bbac27c0db481c5ba33d621a",
      "new_mode": 33188,
      "new_path": "ukernel/importer.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a45df27976b259ac1e61ea3f89edb8a116d44b3b",
      "new_mode": 33188,
      "new_path": "ukernel/mmt4d_tile.c"
    },
    {
      "type": "delete",
      "old_id": "c200cf0a943dc5adde1f40e5c261d8fe57e0c749",
      "old_mode": 33188,
      "old_path": "vmvx_ukernel/mmt4d_tile.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "delete",
      "old_id": "ae3ae1925091d8a3f12585ecf3b2828693647446",
      "old_mode": 33188,
      "old_path": "vmvx_ukernel/query_tile_sizes.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    }
  ]
}
