)]}'
{
  "commit": "b13d38b4b56370351b0b60478b4b74659a3c4b57",
  "tree": "1518d366ca2dea52937c640ea20ac2e74a562f89",
  "parents": [
    "d5839584547ec2a258b12399f56ea3d006668dbb"
  ],
  "author": {
    "name": "Han-Chung Wang",
    "email": "hanhan0912@gmail.com",
    "time": "Thu Sep 26 09:11:26 2024 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Sep 26 09:11:26 2024 -0700"
  },
  "message": "[DT] Collapse matmul_narrow_M/N field into round_dims_to attribute. (#18599)\n\nThe revision refines how we handle matmul_narrow_M/N in encodings. The\r\nmatmul_narrow_M/N attributes are retired in the patch. The information\r\nis carried in `round_dims_to` attribute which is rounded to the next\r\npower of two. E.g., if the value of `matmul_narrow_M` is `3`, it will be\r\n`4` in the `round_dims_to` attribute.\r\n\r\nThe `kNarrowThreshold` constant is introduced to Encoding namespace. A\r\ndimension is considered as \"narrow\" only if the size of the dimension is\r\nless than `kNarrowThreshold`.\r\n\r\nThe revision implements `getMatmulNarrowM` and `getMatmulNarrowN`\r\nhelpers based on the definition of `round_dims_to` and the\r\n`kNarrowThreshold` variable. Users can call the helpers to get the\r\nnarrow size of M/N. Again, you\u0027ll get the value that is rounded to the\r\nnext power of two if they are considered \"narrow\". E.g.,\r\n`getMatmulNarrowM()` returns `4` if `M` equals to `3`.\r\n\r\nThe revision also fixes a bug in `chooseMatmulTile` on CPU side. The\r\nhostDefinedUpperBound is not updated in the narrow-N cases.\r\n\r\nFixes https://github.com/iree-org/iree/issues/17729\r\nFixes https://github.com/iree-org/iree/issues/15466\r\n\r\n---------\r\n\r\nSigned-off-by: hanhanW \u003chanhan0912@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9725432ec63eee2b1521388b6d75c1ec1ff2cd0e",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/CPU/CPUMaterializeEncodings.cpp",
      "new_id": "963fb9c0c5c027c7ae789c4c58a8cc16a253073e",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/CPU/CPUMaterializeEncodings.cpp"
    },
    {
      "type": "modify",
      "old_id": "0e30973f96fba87eae18a4c008033f57bd877c2f",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/CPU/test/llvmcpu_materialize_encoding.mlir",
      "new_id": "f83ab3691e3fc0148954b93d2358d88225668ee0",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/CPU/test/llvmcpu_materialize_encoding.mlir"
    },
    {
      "type": "modify",
      "old_id": "669ff2f6c1e7e6bad6174c439fb4c368712ca191",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/CPU/test/vmvx_materialize_encoding.mlir",
      "new_id": "1ccc83b4bc0e97a799cb71ae85b88423bd078b21",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/CPU/test/vmvx_materialize_encoding.mlir"
    },
    {
      "type": "modify",
      "old_id": "96d75940e56ad242f86ca2b87821bc8dc63aeeb5",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/EncodingUtils.cpp",
      "new_id": "d5e6b5561a910c8299a95849457797257a981247",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/EncodingUtils.cpp"
    },
    {
      "type": "modify",
      "old_id": "290502849d4c959c9412a7f67672de7ae05a16a0",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/EncodingUtils.h",
      "new_id": "c4bbed1ba30ed4921b09a2c39359e4772528438e",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/EncodingUtils.h"
    },
    {
      "type": "modify",
      "old_id": "dbe9807bd1cb46d644bf8ea47014e3a8685eafd5",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Codegen/Common/test/materialize_encoding_into_nop.mlir",
      "new_id": "6b56838064d14d5d33d2ddcd68481f2d711f73c9",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Codegen/Common/test/materialize_encoding_into_nop.mlir"
    },
    {
      "type": "modify",
      "old_id": "2c92a08cb671d167009bb895a64a6704af205c6f",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Encoding/IR/EncodingBase.td",
      "new_id": "8ea2bb4994224558277c42b1444be5f4ec296e66",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Encoding/IR/EncodingBase.td"
    },
    {
      "type": "modify",
      "old_id": "42a6ea3f721ac88d5db616ad16d91cd4cddaec82",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Encoding/IR/EncodingOps.cpp",
      "new_id": "954eec37635707df85f68865c8de23740a7e9ac3",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Encoding/IR/EncodingOps.cpp"
    },
    {
      "type": "modify",
      "old_id": "b97562dbc201e11af84306d0be1ec5a8388f6aed",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Encoding/IR/EncodingOps.h",
      "new_id": "c9f694a83fea30040ee9e9d7e7f4a360bd35e0d7",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Encoding/IR/EncodingOps.h"
    },
    {
      "type": "modify",
      "old_id": "e7aa684da91407c3a17540b72f0f371b64590817",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/DispatchCreation/SetEncoding.cpp",
      "new_id": "b19165fb45574a82844c1ddc13c31db239fef24b",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/DispatchCreation/SetEncoding.cpp"
    },
    {
      "type": "modify",
      "old_id": "825a1019cb36767d588582e3eaace3708a3e778a",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/DispatchCreation/test/set_encoding.mlir",
      "new_id": "c8ea2f6ba420d616e238d4ec1d96f39876de1cb8",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/DispatchCreation/test/set_encoding.mlir"
    }
  ]
}
