)]}'
{
  "commit": "9ba88a2089c5de955df1680e39ced9ff7adf90d1",
  "tree": "5693e6eec36a8564bb634e60487c2377294a1c85",
  "parents": [
    "114e5cc9bb77540b2fe664f59e22052416a35e00"
  ],
  "author": {
    "name": "Ben Vanik",
    "email": "ben.vanik@gmail.com",
    "time": "Wed May 17 15:51:08 2023 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed May 17 15:51:08 2023 -0700"
  },
  "message": "Disabling detensoring by default until #6948 can be completed. (#13658)\n\nDetensoring is useful in small scale (a single while-loop with a\r\ntensor\u003ci64\u003e iterator like from JAX) but results in pathologically bad\r\ndevice\u003c-\u003ehost behavior in all other cases. Without improvements to\r\ndispatch region formation for small scalar workloads or a retensoring\r\npass that eliminates the device\u003c-\u003ehost transfers we can\u0027t have it on by\r\ndefault.\r\n\r\nThis makes HLO while loops less efficient as they represent the loop\r\niterator and condition as tensor operations that get performed on device\r\neven though the loop happens on the host. It makes everything else\r\nsignificantly better, though, and in the LLM modules under inspection in\r\n#13637 reduces the number of host\u003c-\u003edevice round trips from ~500-1000\r\n(depending on model) to ~3 (all while loop math). We could investigate\r\nan HLO-level specialized detensoring of while loops until we can fix\r\n#6948.\r\n\r\nWebGPU\u0027s SPIR-V -\u003e WGSL lowering currently has issues with\r\nnon-detensored comparisons (#12509) and those `while.mlir` tests have\r\nbeen disabled.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e54e8090b9971ffc03dfecc5e5d9ee8ee21edb7b",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/Passes.cpp",
      "new_id": "9b122145589bdb2a0cea0734a49333d52bfb8014",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Flow/Transforms/Passes.cpp"
    },
    {
      "type": "modify",
      "old_id": "9ce27b461eb6ffa14b168855e0d37f3c9ddc5ff6",
      "old_mode": 33188,
      "old_path": "tests/e2e/tosa_ops/CMakeLists.txt",
      "new_id": "296c223abe37ea78b16dcfc026643c55131d1762",
      "new_mode": 33188,
      "new_path": "tests/e2e/tosa_ops/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "e90c5be55fa06e18043510abc449d6a5ed0e0c2e",
      "old_mode": 33188,
      "old_path": "tests/e2e/xla_ops/CMakeLists.txt",
      "new_id": "b6103770c5866172f44e2349bac84f143ff4e0a0",
      "new_mode": 33188,
      "new_path": "tests/e2e/xla_ops/CMakeLists.txt"
    }
  ]
}
