)]}'
{
  "commit": "be9f097562ed9a6b0971ef8b2f09e066b412109f",
  "tree": "3313da2c664a1f6a245e51d2649fe8f8df8af876",
  "parents": [
    "41e312a26cefef299976f76c8882b1d894d5734b"
  ],
  "author": {
    "name": "Stella Laurenzo",
    "email": "stellaraccident@gmail.com",
    "time": "Mon Apr 01 18:12:29 2024 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Apr 01 18:12:29 2024 -0700"
  },
  "message": "[hip] Introduce options to control load of libamdhip64.so. (#16766)\n\n* Adds a multi-valued flag `--hip_dylib_path`, which if present,\r\noverrides default library search behavior:\r\n  * If just a path, it is interpreted as a directory.\r\n* If prefixed with `file:` it is a specific library file and will not be\r\nexpanded to anything else.\r\n* If a `--hip_dylib_path` flag is not set, then the\r\n`IREE_HIP_DYLIB_PATH` environment variable is consulted/used.\r\n* Library loading code is now much more verbose on error, adding an\r\nannotation for each combination tried/failed. Even though this adds some\r\nerror message accumulation to the success path, I deem it worth it after\r\nexperiencing all of the failure modes myself and needing to printf for\r\nmore information: There is much more in the dlopen errors beyond whether\r\nthe file could be found or not, and if we get reports from the field of\r\nissues, I want all context.\r\n* Adds a stanza to dump device info that displays the path the the OS\r\nactually resolved for the HIP runtime library.\r\n* Followups will expose this to Python and add environment variables to\r\ncontrol it uniformly as well.\r\n\r\nThis necessitated a bit of an upgrade to how we handle options, and I\r\ndecided to align it with what I need next (the ability to create a\r\ndriver with key/value pair options from Python) and unify the\r\nflag/option handling.\r\n\r\nI free-handed the Windows DLL handling code. Will verify on my Windows\r\nmachine.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9856269df7bb24ac47117b1f494af2dbaed162bc",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/base/internal/dynamic_library.h",
      "new_id": "5cfbd3e0d66a8b4b87f8aa314f72de0047ffb360",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/base/internal/dynamic_library.h"
    },
    {
      "type": "modify",
      "old_id": "b9b43a6acab26212252dc713b0ceb92439995e68",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/base/internal/dynamic_library_posix.c",
      "new_id": "3b151c0fddcdb7284a4f897690166c388a42cca4",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/base/internal/dynamic_library_posix.c"
    },
    {
      "type": "modify",
      "old_id": "b84ae5d7232ff2f05e7ea57e7ef4559e2baa5dca",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/base/internal/dynamic_library_win32.c",
      "new_id": "af6e4e80b8efa312909cf673d1b339510a9f2a49",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/base/internal/dynamic_library_win32.c"
    },
    {
      "type": "modify",
      "old_id": "abcbb9fefc61cc1524c2aa1d759dc7861eb28573",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/base/string_builder.c",
      "new_id": "a31f53b851ab2a9587bb03aeb11e6018c844c487",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/base/string_builder.c"
    },
    {
      "type": "modify",
      "old_id": "48a3fdb3aed9b639f5021a70e7e43b890e6bb5d4",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/base/string_builder.h",
      "new_id": "6ac933327acc9b17f41b42a892e5d18f64fcfd28",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/base/string_builder.h"
    },
    {
      "type": "modify",
      "old_id": "35987fe1048a64b3b134ae8a68813616249285e7",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/base/string_builder_test.cc",
      "new_id": "8e30ba66b357b1eebe4ae4b3179ba7fc7d0cb4fd",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/base/string_builder_test.cc"
    },
    {
      "type": "modify",
      "old_id": "8872f254e5b29fb75e1142c97d16d5d004da226e",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/drivers/hip/api.h",
      "new_id": "2b210ec71b31df8c9ba5edb84ba4afe389735fa0",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/drivers/hip/api.h"
    },
    {
      "type": "modify",
      "old_id": "476c15602df271a2848cc7ea7f10079bd6662b4b",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/drivers/hip/dynamic_symbols.c",
      "new_id": "83496cfb37bec6d9edbe1866657570f8877296ce",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/drivers/hip/dynamic_symbols.c"
    },
    {
      "type": "modify",
      "old_id": "1958cc121348545aa98ef6014fea63f222a6404f",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/drivers/hip/dynamic_symbols.h",
      "new_id": "a3471229d53b0b1684cf98d7e41f8ca65696cf2c",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/drivers/hip/dynamic_symbols.h"
    },
    {
      "type": "modify",
      "old_id": "4506930c7511d421d1f1ed95604afdf6f70754d3",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/drivers/hip/dynamic_symbols_test.cc",
      "new_id": "7cb983043f3e0473a645df0c3ac28a650b70a8e3",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/drivers/hip/dynamic_symbols_test.cc"
    },
    {
      "type": "modify",
      "old_id": "5d1eb9933696a0be971ad20bfd26ef431a09b777",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/drivers/hip/hip_driver.c",
      "new_id": "3b5eede76b690c3f9f118b186f827085c9daeadb",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/drivers/hip/hip_driver.c"
    },
    {
      "type": "modify",
      "old_id": "9e37277915246245379239341796ef2674d740f4",
      "old_mode": 33188,
      "old_path": "runtime/src/iree/hal/drivers/hip/registration/driver_module.c",
      "new_id": "99c11b4eb7c2f6c6c2bb2f8b99a100d2792ac998",
      "new_mode": 33188,
      "new_path": "runtime/src/iree/hal/drivers/hip/registration/driver_module.c"
    }
  ]
}
