)]}'
{
  "commit": "41004a91f176c274fff7ed5c7190cbdd8ff4062f",
  "tree": "fb2911bb0522d8ab3ce7aa9d7dd14c2b7e1023e6",
  "parents": [
    "c4129446f0d4739c7fd576cac6692534af0a4225"
  ],
  "author": {
    "name": "Lei Zhang",
    "email": "antiagainst@google.com",
    "time": "Tue Dec 01 17:13:19 2020 -0500"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Dec 01 17:13:19 2020 -0500"
  },
  "message": "[spirv] Add a better tiled and vectorized convolution path (#3990)\n\nThis commit tiles a 2-D convolution along the output height, width,\r\nand channel dimensions. The tiled convolution is distributed to\r\nworkgroup of size 32x8x1, with each group containing 8x2x1\r\ninvocations. This is just the initial configuration for Mali to\r\nget started. After tiling, we further vectorize the convolution\r\nfor each GPU invocation.\r\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ab2a9c13054278392a5771cccda5f5d01b100f63",
      "old_mode": 33188,
      "old_path": "iree/compiler/Conversion/CodegenUtils/MarkerUtils.cpp",
      "new_id": "a7af32d9129ccf248fd6dc52f32adba8d55ae25f",
      "new_mode": 33188,
      "new_path": "iree/compiler/Conversion/CodegenUtils/MarkerUtils.cpp"
    },
    {
      "type": "modify",
      "old_id": "50722933520541c525588617a0c8d9bcc256981b",
      "old_mode": 33188,
      "old_path": "iree/compiler/Conversion/CodegenUtils/MarkerUtils.h",
      "new_id": "5371abacbb915bb48b6c0a84f940878994f2d889",
      "new_mode": 33188,
      "new_path": "iree/compiler/Conversion/CodegenUtils/MarkerUtils.h"
    },
    {
      "type": "modify",
      "old_id": "bdba4bba667007ff350a556bd065f20d8927a312",
      "old_mode": 33188,
      "old_path": "iree/compiler/Conversion/LinalgToSPIRV/KernelDispatchUtils.cpp",
      "new_id": "4178fccb0ae9037a7ab94a896205466ddeeec402",
      "new_mode": 33188,
      "new_path": "iree/compiler/Conversion/LinalgToSPIRV/KernelDispatchUtils.cpp"
    },
    {
      "type": "modify",
      "old_id": "840f32ef4b9c1afc3ac2538e871072aedda52373",
      "old_mode": 33188,
      "old_path": "iree/compiler/Conversion/LinalgToSPIRV/KernelDispatchUtils.h",
      "new_id": "8f016832bde81c28a00f3bb542866e0c1b6d7f79",
      "new_mode": 33188,
      "new_path": "iree/compiler/Conversion/LinalgToSPIRV/KernelDispatchUtils.h"
    },
    {
      "type": "modify",
      "old_id": "cd2d254f265e4a7df4e4565a9f5448f8ee3f163b",
      "old_mode": 33188,
      "old_path": "iree/compiler/Conversion/LinalgToSPIRV/LinalgTileAndFusePass.cpp",
      "new_id": "5be1613eeaedf37158d7fb601943321097e96671",
      "new_mode": 33188,
      "new_path": "iree/compiler/Conversion/LinalgToSPIRV/LinalgTileAndFusePass.cpp"
    },
    {
      "type": "modify",
      "old_id": "9e5afc9b4f9f04e19730b89587842fc3aef42cce",
      "old_mode": 33188,
      "old_path": "iree/compiler/Conversion/LinalgToSPIRV/test/linalg_tile_and_fuse.mlir",
      "new_id": "75cd37de24a29740c77507235d1ae5a87a307596",
      "new_mode": 33188,
      "new_path": "iree/compiler/Conversion/LinalgToSPIRV/test/linalg_tile_and_fuse.mlir"
    },
    {
      "type": "modify",
      "old_id": "95676fb8c1ffc7b0dc29d9daf7a6d4ae145e2bed",
      "old_mode": 33188,
      "old_path": "iree/compiler/Conversion/LinalgToVector/BUILD",
      "new_id": "53eaa8d0d07814e1c579eaa981f9909868246209",
      "new_mode": 33188,
      "new_path": "iree/compiler/Conversion/LinalgToVector/BUILD"
    },
    {
      "type": "modify",
      "old_id": "b292c28c4b7f6a2e6fd6183c004c337ba1cbee64",
      "old_mode": 33188,
      "old_path": "iree/compiler/Conversion/LinalgToVector/CMakeLists.txt",
      "new_id": "1e56d8c09b70b9c50c2ec0ec3e4eba1d9bdefa83",
      "new_mode": 33188,
      "new_path": "iree/compiler/Conversion/LinalgToVector/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "98f07bd3c0be58f4bce38665b6500a8ec9a7a013",
      "old_mode": 33188,
      "old_path": "iree/compiler/Conversion/LinalgToVector/Passes.h",
      "new_id": "4f7340b1f2325e0d7a1fb65534cff2a696923486",
      "new_mode": 33188,
      "new_path": "iree/compiler/Conversion/LinalgToVector/Passes.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "6d4bca5aa0b68bbb126e9ee104d344e032339922",
      "new_mode": 33188,
      "new_path": "iree/compiler/Conversion/LinalgToVector/VectorizeConv.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "194607af5bb8ed653b165f0e1ff08266275cc6f1",
      "new_mode": 33188,
      "new_path": "iree/compiler/Conversion/LinalgToVector/test/vectorize_linalg_conv.mlir"
    },
    {
      "type": "modify",
      "old_id": "adde1a1956a3b6e19510463ff12b709e7791e80d",
      "old_mode": 33188,
      "old_path": "iree/test/e2e/vulkan_specific/BUILD",
      "new_id": "b3408042ebf1b7475d3f807eec105837f7e98318",
      "new_mode": 33188,
      "new_path": "iree/test/e2e/vulkan_specific/BUILD"
    },
    {
      "type": "modify",
      "old_id": "a6126da724608813406b566dc40d221e668f92f2",
      "old_mode": 33188,
      "old_path": "iree/test/e2e/vulkan_specific/CMakeLists.txt",
      "new_id": "0cc1b301a316d03d873214af240360f22e1986ff",
      "new_mode": 33188,
      "new_path": "iree/test/e2e/vulkan_specific/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "39ad667fdbde912787169deb7307d5198264b31c",
      "new_mode": 33188,
      "new_path": "iree/test/e2e/vulkan_specific/vectorized_conv.mlir"
    }
  ]
}
