)]}'
{
  "commit": "cb6ad463d0338669148ed676c8a623cfd15c7d72",
  "tree": "35f253cb096eebb6d2f71f380a5d7e9205164e75",
  "parents": [
    "df55682ba5fcef5409eee3d966df08433bc7cfbe"
  ],
  "author": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Fri Jul 29 15:35:53 2022 -0700"
  },
  "committer": {
    "name": "Sameer Agarwal",
    "email": "sameeragarwal@google.com",
    "time": "Fri Aug 05 15:30:12 2022 -0700"
  },
  "message": "Add mixed precision support for CPU based DenseCholesky\n\nOn problem-744-543562-pre.txt\n\nThe time spent in linear solver on my M1 Pro is\n\neigen        81.550970\neigen+mixed  54.107383\nLAPACK       47.078127\nLAPACK+mixed 28.639868\n\nSolution quality is unaffected.\n\nThe implementation of RefinedDenseCholesky and DenseIterativeRefiner\nare straightforward ports of RefinedSparseCholesky and\nSparseIterativeRefiner (formerly IterativeRefiner).\n\nIt maybe possible to refactor the SparseCholesky and DenseCholesky\ninterfaces so that this code duplication can be removed in the\nfuture.\n\nChange-Id: I921334224cb97629a60390f2add822de207f7923\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8868e1a8af36ea079487c3bec2a97814a6bae50a",
      "old_mode": 33188,
      "old_path": "internal/ceres/cuda_buffer.h",
      "new_id": "64774fa198d6550717425e649d2c42779158dcdc",
      "new_mode": 33188,
      "new_path": "internal/ceres/cuda_buffer.h"
    },
    {
      "type": "modify",
      "old_id": "b9acc990f7721cd32283c81c2756bd7484d9491d",
      "old_mode": 33188,
      "old_path": "internal/ceres/cuda_dense_cholesky_test.cc",
      "new_id": "c7b11ce4f2810185fe5a0d58e8c3da7ebbbc3e5c",
      "new_mode": 33188,
      "new_path": "internal/ceres/cuda_dense_cholesky_test.cc"
    },
    {
      "type": "modify",
      "old_id": "e2c5036457484aaf3cba676d38cbcb86b80f8e52",
      "old_mode": 33188,
      "old_path": "internal/ceres/dense_cholesky.cc",
      "new_id": "16d3e1ad90715ab4de464e301eaf4c855d1a5220",
      "new_mode": 33188,
      "new_path": "internal/ceres/dense_cholesky.cc"
    },
    {
      "type": "modify",
      "old_id": "0593875f5604cb0906ec81bf58be7cf15dac0222",
      "old_mode": 33188,
      "old_path": "internal/ceres/dense_cholesky.h",
      "new_id": "1c561c170a8c582eb87b608a53902fdd98991669",
      "new_mode": 33188,
      "new_path": "internal/ceres/dense_cholesky.h"
    },
    {
      "type": "modify",
      "old_id": "5f96939237728d199a71ad3cbc19b24f965d862e",
      "old_mode": 33188,
      "old_path": "internal/ceres/dense_cholesky_test.cc",
      "new_id": "f8e65676978c9fa6d7a3f1540edd3a4799d2c17f",
      "new_mode": 33188,
      "new_path": "internal/ceres/dense_cholesky_test.cc"
    },
    {
      "type": "modify",
      "old_id": "a2407c0fa73376ac582db43b4fba18c31c317ab8",
      "old_mode": 33188,
      "old_path": "internal/ceres/eigensparse.cc",
      "new_id": "ce016581cac4f43f6e8b5065eba30678690f46dd",
      "new_mode": 33188,
      "new_path": "internal/ceres/eigensparse.cc"
    },
    {
      "type": "modify",
      "old_id": "b9fa88a9df29cfadbc4f0783daa1774fd272819c",
      "old_mode": 33188,
      "old_path": "internal/ceres/iterative_refiner.cc",
      "new_id": "90ff5114a3a729a549bfff2863c8469ac7dfe764",
      "new_mode": 33188,
      "new_path": "internal/ceres/iterative_refiner.cc"
    },
    {
      "type": "modify",
      "old_id": "d500212523d66691e5a8fad775cce740d8c1d872",
      "old_mode": 33188,
      "old_path": "internal/ceres/iterative_refiner.h",
      "new_id": "8333124d15361a460dd190477dff1f74798417f0",
      "new_mode": 33188,
      "new_path": "internal/ceres/iterative_refiner.h"
    },
    {
      "type": "modify",
      "old_id": "5718f14f82939fe64ab4e817f84ee16647f5c96c",
      "old_mode": 33188,
      "old_path": "internal/ceres/iterative_refiner_test.cc",
      "new_id": "0b09247e6f4ddb4e9aca5502e0d3de289762c934",
      "new_mode": 33188,
      "new_path": "internal/ceres/iterative_refiner_test.cc"
    },
    {
      "type": "modify",
      "old_id": "93551f7074cd1a51681463154cbf5e35bdebc0cf",
      "old_mode": 33188,
      "old_path": "internal/ceres/solver.cc",
      "new_id": "966a5dde4caf536ae57a10596f9d946b29dd7e79",
      "new_mode": 33188,
      "new_path": "internal/ceres/solver.cc"
    },
    {
      "type": "modify",
      "old_id": "fe7412c9fa6ef73f6b7535321e501fbe17b2f3be",
      "old_mode": 33188,
      "old_path": "internal/ceres/sparse_cholesky.cc",
      "new_id": "22df3c930357d5d840d9ccc9d6c6fdfd49ab9f20",
      "new_mode": 33188,
      "new_path": "internal/ceres/sparse_cholesky.cc"
    },
    {
      "type": "modify",
      "old_id": "feea7aa074cb258c413d101a5bc51c095916a415",
      "old_mode": 33188,
      "old_path": "internal/ceres/sparse_cholesky.h",
      "new_id": "9907d0793b0d38a65a268b5de9eea144b2661c17",
      "new_mode": 33188,
      "new_path": "internal/ceres/sparse_cholesky.h"
    },
    {
      "type": "modify",
      "old_id": "31dbb02d248c0743700cf99daa845125e512b463",
      "old_mode": 33188,
      "old_path": "internal/ceres/sparse_cholesky_test.cc",
      "new_id": "05222320adbb5d90cd6dd85d92e52a824ef89ad3",
      "new_mode": 33188,
      "new_path": "internal/ceres/sparse_cholesky_test.cc"
    }
  ]
}
