)]}'
{
  "commit": "a6dfa2507f5e246807b64e0b53acf7d4bc1c3e7d",
  "tree": "3521fe204f9f5269e22bd2b73d5d36d3c248dc33",
  "parents": [
    "0b8508118258fec566f363e057535e90ab030aa9"
  ],
  "author": {
    "name": "Aiden Grossman",
    "email": "aidengrossman@google.com",
    "time": "Thu Jul 24 07:44:37 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jul 24 07:44:37 2025 -0700"
  },
  "message": "Save models during ES training in a separate thread\n\nThis patch makes it so that blackbox_learner saves models during ES\ntraining in a separate thread. There is a bit of additionaly complexity\nso that we save the models concurrently while waiting for compilation\nresults (when the process will be blocked waiting on IO). If we just\nspawn jobs whenever we run into performance problems due to the GIL and\nare back where we started. We cannot use subprocesses as we cannot\npickle the policy saver function.\n\nThis extra complexity is justified through significant performance gains on\ntraining jobs with relatively short step times (up to 20%, still single digit\npercentages with step times around 5 minutes).\n\nReviewers: svkeerthy, mtrofin\n\nReviewed By: mtrofin\n\nPull Request: https://github.com/google/ml-compiler-opt/pull/524\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "656e3712484d8b99d87a4a0da84c1f00eb4ddde2",
      "old_mode": 33188,
      "old_path": "compiler_opt/es/blackbox_learner.py",
      "new_id": "ecc9b5f9dec78f365011b1c04d6513fce136d684",
      "new_mode": 33188,
      "new_path": "compiler_opt/es/blackbox_learner.py"
    },
    {
      "type": "modify",
      "old_id": "232d62f64b92f2ed2f640df94d3461d99c963a90",
      "old_mode": 33188,
      "old_path": "compiler_opt/es/blackbox_learner_test.py",
      "new_id": "03d67aaae89e96eebbbea1cf283b9f85ba0f9a7d",
      "new_mode": 33188,
      "new_path": "compiler_opt/es/blackbox_learner_test.py"
    },
    {
      "type": "modify",
      "old_id": "714665bfd7c94d706980a66203232a3465d62734",
      "old_mode": 33188,
      "old_path": "compiler_opt/es/es_trainer_lib.py",
      "new_id": "db8ee5848df3599efcbb70b4283b7874891f6053",
      "new_mode": 33188,
      "new_path": "compiler_opt/es/es_trainer_lib.py"
    }
  ]
}
