)]}'
{
  "commit": "e9ae96370725a29afbc1032446b989504b59906f",
  "tree": "6038f3317f1ec66927490372889e595715b8c4a6",
  "parents": [
    "7a27de5bdbf6a064af5f84c4fd82b7ef9a9476f7"
  ],
  "author": {
    "name": "Ben Vanik",
    "email": "ben.vanik@gmail.com",
    "time": "Tue Oct 04 08:13:30 2022 -0700"
  },
  "committer": {
    "name": "Ben Vanik",
    "email": "ben.vanik@gmail.com",
    "time": "Wed Oct 12 10:15:36 2022 -0700"
  },
  "message": "Implementing basic `--iree-execution-model\u003dasync-external` support.\nCurrently only coarse fences are supported: when the flag is specified\nexported functions will take a wait and signal fence pair. Upon return to\na caller execution is not assumed to have completed and the caller can\neither wait on the signal fence or chain further invocations with it.\nFuture invocation models will support specifying an arbitrary set of\nfences that allow for up to per-I/O granularity (attention layers could\nsignal sooner than full decoders, etc) and specifying fences for in-place\nbuffers (wait until buffer is available to write in before filling).\n\nThis initial version is conservative and may include additional queue\nbarriers in order to signal the user-provided fence but future\nimprovements to timepoint elision and IPO will make that better. Nearly\nall models we work with today end up becoming async with the current\nheuristics.\n\niree-run-module/mlir has been updated to support programs compiled with\nthe async-external mode. iree-benchmark-module now supports pipelined\nand concurrent execution via the --batch_size\u003d and --batch_concurrency\u003d\nflags: batch_size defines how many invocations there are and\nbatch_concurrency defines how many of those are able to run concurrently.\nExamples:\n--batch_size\u003d1 --batch_concurrency\u003d1: default single-shot invocation\n--batch_size\u003d4 --batch_concurrency\u003d1: 4 sequential invocations\n--batch_size\u003d4 --batch_concurrency\u003d4: 4 concurrent invocations\n--batch_size\u003d4 --batch_concurrency\u003d2: 2 concurrent sequences of 2 invocations\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "65dd8e41503fafc3660d2da1d35219999d83f3bf",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Bindings/Native/Transforms/Passes.cpp",
      "new_id": "91f917bac33ce5db6b78af7c1a766945846c4d1a",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Bindings/Native/Transforms/Passes.cpp"
    },
    {
      "type": "modify",
      "old_id": "3bfedd37803663bba9588cb204bad6ca3ead0d01",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Bindings/Native/Transforms/Passes.h",
      "new_id": "a50ff442132199d55f696b4c925b7e960f7732bb",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Bindings/Native/Transforms/Passes.h"
    },
    {
      "type": "modify",
      "old_id": "a628a5272fe8113e67e07ff2f85e3107a9c97cdc",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Bindings/Native/Transforms/WrapEntryPoints.cpp",
      "new_id": "ac63750417c2e411de56d159f30ae42bf1357263",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Bindings/Native/Transforms/WrapEntryPoints.cpp"
    },
    {
      "type": "modify",
      "old_id": "022522ede7314321dc5005cf9df11d19559c144c",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Bindings/Native/Transforms/test/BUILD",
      "new_id": "832f39383d58e5949b023f2db2498638a86ede89",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Bindings/Native/Transforms/test/BUILD"
    },
    {
      "type": "modify",
      "old_id": "206d72fd6f7ed6b89b7ecfaf9677b81b34fe6c9b",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Bindings/Native/Transforms/test/CMakeLists.txt",
      "new_id": "61f49b83602ea0b0773316de866e86c1d0edca49",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Bindings/Native/Transforms/test/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "4aa2cf9e705373a5355a7d4812da434deb137394",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Bindings/Native/Transforms/test/wrap_entry_points.mlir",
      "new_id": "06c496f24f88f12ce5f4dac4097a58f746a49dd9",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Bindings/Native/Transforms/test/wrap_entry_points.mlir"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "abe9b224e5579965b9514a6d6787f084780ec7f9",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Bindings/Native/Transforms/test/wrap_entry_points_coarse_fences.mlir"
    },
    {
      "type": "modify",
      "old_id": "f797cca7b95a40f8baf8a8c9625662791923a97d",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Bindings/TFLite/Transforms/WrapEntryPoints.cpp",
      "new_id": "61f5bd135eeb03c664410f01a97f70629c715cbb",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Bindings/TFLite/Transforms/WrapEntryPoints.cpp"
    },
    {
      "type": "modify",
      "old_id": "e622eae63dbd80a8acecb5430059f8f84c865db3",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/Conversion/StreamToHAL/ConvertStreamToHAL.cpp",
      "new_id": "45c3d92858980abbe40c7ea7368e25f5586ea747",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/Conversion/StreamToHAL/ConvertStreamToHAL.cpp"
    },
    {
      "type": "modify",
      "old_id": "d5683f6d1164ce3bf1f497658a92392b7a3da055",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/Conversion/StreamToHAL/test/timepoint_ops.mlir",
      "new_id": "7d71e1d0e80b7d241e4eaf2d54a22161c8827367",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/Conversion/StreamToHAL/test/timepoint_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "4a95e6dd1cd3d4d97227b84c5884acaeae6a9e1c",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALOpFolders.cpp",
      "new_id": "93f0ac55dd91f2765c2831400646bed8ab89eb14",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALOpFolders.cpp"
    },
    {
      "type": "modify",
      "old_id": "1c0429f6647e13b69c14bbb700cbfce96ee9cb8e",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALOps.cpp",
      "new_id": "88f4e1e7c1c1b8ed23f9f353ac089e82381fce4d",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALOps.cpp"
    },
    {
      "type": "modify",
      "old_id": "d4db7478d100a1c76476ae12dbace0df4c79efeb",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALOps.td",
      "new_id": "ada64fdafdfb2bc80b55604fc6abe299170d149c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/IR/HALOps.td"
    },
    {
      "type": "modify",
      "old_id": "4835459527c6d2ba4ab9f9c9f30d0cb34f23f743",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/IR/test/tensor_op_folding.mlir",
      "new_id": "f7f295d738d50b19dc8651f50771b24731bcaedc",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/IR/test/tensor_op_folding.mlir"
    },
    {
      "type": "modify",
      "old_id": "d770e6ca387fccf0bcf1bcd567ab1c421d7062d5",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/HAL/IR/test/tensor_ops.mlir",
      "new_id": "a78ab659fcdcfc70632fbc9d07dfa1a3adec554b",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/HAL/IR/test/tensor_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "bc38df16cc8b364eef1252b012aaf36cffcf7266",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/Conversion/HALToStream/ConvertHALToStream.cpp",
      "new_id": "952f2024ae882a71d1bbc260aee33a9498403a3c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/Conversion/HALToStream/ConvertHALToStream.cpp"
    },
    {
      "type": "modify",
      "old_id": "934b2a6afa9fe4d79c479114898cec371b3b0505",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/Conversion/HALToStream/test/abi_ops.mlir",
      "new_id": "2c1f4e2238fdb415390e163acfd2f60a5fc8196b",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/Conversion/HALToStream/test/abi_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "95567f1d5d4dba74bc0a93b98ff2393362a3d2d3",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/IR/StreamOpFolders.cpp",
      "new_id": "847d35f820afb393c7f7b0d7e0b2fb03d27e3fd2",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/IR/StreamOpFolders.cpp"
    },
    {
      "type": "modify",
      "old_id": "dc5a5d010b510fb9f8adb81a7856be93cd4dc138",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/IR/StreamOps.cpp",
      "new_id": "550057930249372270502027cb1690e2fb732678",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/IR/StreamOps.cpp"
    },
    {
      "type": "modify",
      "old_id": "59b1aa659b9f550ad40c0a70d8185ea29a83a095",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/IR/StreamOps.td",
      "new_id": "7708f4120693eec03f14659cc5df7873b63ed277",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/IR/StreamOps.td"
    },
    {
      "type": "modify",
      "old_id": "f7d12c9b15d28205e5618ed08131d93a1273c9f7",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/IR/test/timepoint_folding.mlir",
      "new_id": "146ae4161c2d7e58ce1ec84b19bc1276682dddf9",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/IR/test/timepoint_folding.mlir"
    },
    {
      "type": "modify",
      "old_id": "94c57a35ab201d86a51fc1ab90f2f754e7bd95de",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/IR/test/timepoint_ops.mlir",
      "new_id": "15c6d6be1c7d551b8e0f6c77ab178d7671561f22",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/IR/test/timepoint_ops.mlir"
    },
    {
      "type": "modify",
      "old_id": "4660a98ba118f4502676faab8dd62a7683ca15d2",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Stream/Transforms/RefineUsage.cpp",
      "new_id": "b4719ef2275a1dbc615b5f81ec9605958eae43c9",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Stream/Transforms/RefineUsage.cpp"
    },
    {
      "type": "modify",
      "old_id": "411d56da9dd91d919ca04d84a57bd876c89e6706",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Util/IR/UtilTypes.cpp",
      "new_id": "e07f09c77109114c3219c1a8cae12a10400a4d2f",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Util/IR/UtilTypes.cpp"
    },
    {
      "type": "modify",
      "old_id": "6a955f316427edb176c991b342d529c71a3d4713",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Dialect/Util/IR/UtilTypes.h",
      "new_id": "82c1b6f9d4634a85a2140e1968c535b4b9667b2c",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Dialect/Util/IR/UtilTypes.h"
    },
    {
      "type": "modify",
      "old_id": "5363de9a4b3d0d620553070fa5afc99b29415bc0",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/InputConversion/Common/IREEImportPublic.cpp",
      "new_id": "9565dc990859b3bca88077bd2e4f1cefea3d7ee9",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/InputConversion/Common/IREEImportPublic.cpp"
    },
    {
      "type": "modify",
      "old_id": "64f48fbaf4a5eb2931d7a621146602a0354f4b23",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Modules/HAL/Inline/Conversion/StreamToHALInline/ConvertStreamToHALInline.cpp",
      "new_id": "e2c630dc2f55b397c4cfef1d995a1d4c0b51f086",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Modules/HAL/Inline/Conversion/StreamToHALInline/ConvertStreamToHALInline.cpp"
    },
    {
      "type": "modify",
      "old_id": "82ed296a110e211b1115207507e1b39cfc8b57a4",
      "old_mode": 33188,
      "old_path": "compiler/src/iree/compiler/Pipelines/Pipelines.cpp",
      "new_id": "22725563e3a688cc38e5d628f9c30fb934f5c3fc",
      "new_mode": 33188,
      "new_path": "compiler/src/iree/compiler/Pipelines/Pipelines.cpp"
    },
    {
      "type": "modify",
      "old_id": "3d4597be69f0ac49b37c49da0db62c3921b1070f",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/fence.c",
      "new_id": "b5b72548ee451dbf985586a498c51c20b517d2d2",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/fence.c"
    },
    {
      "type": "modify",
      "old_id": "97174cf2158501c2415b2149d489c063f5dfa23b",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/fence.h",
      "new_id": "41e7e925df708ac1fc63a36123ebceedd7f445ef",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/fence.h"
    },
    {
      "type": "modify",
      "old_id": "e71382f73347c41574502b684336dac79d142cdb",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/tooling/vm_util.c",
      "new_id": "7aa0cb7c662bf31e754f11b85a108bf3e7926fb6",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/tooling/vm_util.c"
    },
    {
      "type": "modify",
      "old_id": "728c11325d30302514cec055053231825e623ff8",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/tooling/vm_util.h",
      "new_id": "82642547db0ccc9230876654d7460abf4db3eb1c",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/tooling/vm_util.h"
    },
    {
      "type": "modify",
      "old_id": "f338b5b540541eb71713258ae9eede4ce44482f3",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/tooling/vm_util_cc.cc",
      "new_id": "7f61c974443bde01ff33b91983dd370840e920ce",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/tooling/vm_util_cc.cc"
    },
    {
      "type": "modify",
      "old_id": "d39b2c3b54388e939937b61147beecdbe644d1de",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/tooling/vm_util_cc.h",
      "new_id": "9af168c4257173f08456b3e4dd5d9acadd19412d",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/tooling/vm_util_cc.h"
    },
    {
      "type": "modify",
      "old_id": "f8b5d559cf257242e3c5b7847fb8b2e42d98262f",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/list.c",
      "new_id": "689b228df8f09881ebe4eb962f17bb4da54e5069",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/list.c"
    },
    {
      "type": "modify",
      "old_id": "bded73be67c0d86397bc08d0d31b60e71758ecb4",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/list.h",
      "new_id": "361b2a8b79f78dfcf8e63898ce89d55c3facb111",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/list.h"
    },
    {
      "type": "modify",
      "old_id": "979ac020a44b946097a480cfa222294727c47032",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/list_test.cc",
      "new_id": "38ef339544d755f84d639ed651e3b29bdc356f95",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/list_test.cc"
    },
    {
      "type": "modify",
      "old_id": "7c2a9667cb078350c2f99b10270d8ed6f3cda073",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/ref.c",
      "new_id": "77759e0ded8543141dc2770df5a75f9986315376",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/ref.c"
    },
    {
      "type": "modify",
      "old_id": "1fff332c4571fe20dadc805b2326a4be3dd92bb0",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/vm/ref.h",
      "new_id": "4351da9393b25b6937b6462dfa3a3d3fcca02c95",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/vm/ref.h"
    },
    {
      "type": "modify",
      "old_id": "aaf20b6ac06d3294266f780b04604b72ed798c63",
      "old_mode": 33188,
      "old_path": "tools/BUILD",
      "new_id": "b94d3853cae8a498fb4df822c4d10de2f56f1fd4",
      "new_mode": 33188,
      "new_path": "tools/BUILD"
    },
    {
      "type": "modify",
      "old_id": "3f8282e35d572376b176d9d247ee346b6b9fa032",
      "old_mode": 33188,
      "old_path": "tools/CMakeLists.txt",
      "new_id": "4189a654495fbd03902ca348746855dc703ea826",
      "new_mode": 33188,
      "new_path": "tools/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "0ff459a04adb5ee2e2a518446f793da2e3016b36",
      "old_mode": 33188,
      "old_path": "tools/iree-benchmark-module-main.cc",
      "new_id": "296b7a64a91cf4124cabff03fe85b9296fc69611",
      "new_mode": 33188,
      "new_path": "tools/iree-benchmark-module-main.cc"
    },
    {
      "type": "modify",
      "old_id": "75f09b8a7da7b7a370d82bcaf147bd3c331e52bc",
      "old_mode": 33188,
      "old_path": "tools/iree-e2e-matmul-test.c",
      "new_id": "8f282e63c5762e8310551756393e15c0f3e9bc45",
      "new_mode": 33188,
      "new_path": "tools/iree-e2e-matmul-test.c"
    },
    {
      "type": "modify",
      "old_id": "3f2d9ca42d6d293448e8a11b77c7af67725b8713",
      "old_mode": 33188,
      "old_path": "tools/iree-run-mlir-main.cc",
      "new_id": "0fd151868f7e1f52b0a525c4ecac2d40325e823d",
      "new_mode": 33188,
      "new_path": "tools/iree-run-mlir-main.cc"
    },
    {
      "type": "modify",
      "old_id": "08d06871e732fca964c4075f2be258c75f63ba5d",
      "old_mode": 33188,
      "old_path": "tools/iree-run-module-main.cc",
      "new_id": "00dc927c4d0c072e4b037b34a9ebe1bfc93e9674",
      "new_mode": 33188,
      "new_path": "tools/iree-run-module-main.cc"
    }
  ]
}
