)]}'
{
  "commit": "46f8a18567731925e06a7389a6c611e1dc420ea8",
  "tree": "fd080850d5f3870c1e1bca80d62463fad76a5c18",
  "parents": [
    "21122498ecfaa394aeef9d6ca8d8659550be97fa"
  ],
  "author": {
    "name": "Deven Desai",
    "email": "deven.desai.amd@gmail.com",
    "time": "Wed Aug 05 01:46:34 2020 +0000"
  },
  "committer": {
    "name": "Deven Desai",
    "email": "deven.desai.amd@gmail.com",
    "time": "Wed Aug 05 01:46:34 2020 +0000"
  },
  "message": "Adding an explicit launch_bounds(1024) attribute for GPU kernels.\n\nStarting with ROCm 3.5, the HIP compiler will change from HCC to hip-clang.\n\nThis compiler change introduce a change in the default value of the `__launch_bounds__` attribute associated with a GPU kernel. (default value means the value assumed by the compiler as the `__launch_bounds attribute__` value, when it is not explicitly specified by the user)\n\nCurrently (i.e. for HIP with ROCm 3.3 and older), the default value is 1024. That changes to 256 with ROCm 3.5 (i.e. hip-clang compiler). As a consequence of this change, if a GPU kernel with a `__luanch_bounds__` attribute of 256 is launched at runtime with a threads_per_block value \u003e 256, it leads to a runtime error. This is leading to a couple of Eigen unit test failures with ROCm 3.5.\n\nThis commit adds an explicit `__launch_bounds(1024)__` attribute to every GPU kernel that currently does not have it explicitly specified (and hence will end up getting the default value of 256 with the change to hip-clang)\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fd8278f67f36ae646b3d376d75d1a85d4fd4183d",
      "old_mode": 33188,
      "old_path": "test/gpu_common.h",
      "new_id": "509be59427be6583e5835ea01f99cefdb7b31654",
      "new_mode": 33188,
      "new_path": "test/gpu_common.h"
    },
    {
      "type": "modify",
      "old_id": "27ad9f1476f12cbab0d8795b7c1f33c660ac1ed2",
      "old_mode": 33188,
      "old_path": "unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h",
      "new_id": "19a834d0e3fd4040b98d3e7ba1248a0558ec12cf",
      "new_mode": 33188,
      "new_path": "unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h"
    },
    {
      "type": "modify",
      "old_id": "af9b58816761b255ba13220f07e25d2e57dd999c",
      "old_mode": 33188,
      "old_path": "unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h",
      "new_id": "9b0eb3e2fab4cfb152295edda6c571df7214f8f3",
      "new_mode": 33188,
      "new_path": "unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h"
    },
    {
      "type": "modify",
      "old_id": "36df03d62a89cf6d51e7b7028f08e3ab90821e4d",
      "old_mode": 33188,
      "old_path": "unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h",
      "new_id": "cfc49166aef5c302b79f716a290c9e5c63357a84",
      "new_mode": 33188,
      "new_path": "unsupported/Eigen/CXX11/src/Tensor/TensorReductionGpu.h"
    },
    {
      "type": "modify",
      "old_id": "bef8d261f19c9440abf1202331e387adacf66803",
      "old_mode": 33188,
      "old_path": "unsupported/Eigen/CXX11/src/Tensor/TensorScan.h",
      "new_id": "9e3b1a0b9479dcac1ed66207b125fa615aa32547",
      "new_mode": 33188,
      "new_path": "unsupported/Eigen/CXX11/src/Tensor/TensorScan.h"
    }
  ]
}
