Skip to content

[ROCm] Some fixes of ROCm codegen#16404

Merged
junrushao merged 1 commit intoapache:mainfrom
spectrometerHBH:rocm-fix
Jan 16, 2024
Merged

[ROCm] Some fixes of ROCm codegen#16404
junrushao merged 1 commit intoapache:mainfrom
spectrometerHBH:rocm-fix

Conversation

@spectrometerHBH
Copy link
Copy Markdown
Contributor

@spectrometerHBH spectrometerHBH commented Jan 15, 2024

  • Handle tvm_thread_invariant as no op.
  • llvm.amdgcn.ds.bpermute requires i32 as its input, but it can handle all 32 bit types
  • ocml intrinsics lead to incorrect codegen when used with vectorization, remove it and use llvm intrinsics instead

- Handle tvm_thread_invariant as no op.
- `llvm.amdgcn.ds.bpermute` requires i32 as its input, but it can handle all 32 bit types
- ocml intrinsics lead to incorrect codegen when used with vectorization, remove it and use llvm intrinsics instead
@junrushao junrushao merged commit 68be158 into apache:main Jan 16, 2024
junrushao pushed a commit to junrushao/tvm that referenced this pull request Jan 17, 2024
This PR upstreams a few commits that recovers the unity branch from
broken wheel packages. It includes the following changes:

- Fix MSVC build in `pipe.h` where `DWORD` is not cast to proper return
  type (mlc-ai/relax#306);
- Fix MSVC build warnings on not recognizing "#pragma GCC"
  (mlc-ai/relax#307);
- Fix NVCC build warnings where it fails to infer if "[[noreturn]]"
  actually does not return (mlc-ai/relax#308);
- Fix ROCM/Vulkan backend which fails compilation for operators like group
  GEMM, paged attention, etc. (apache#16404,
  apache#16405)
junrushao added a commit to junrushao/tvm that referenced this pull request Jan 17, 2024
This PR upstreams a few commits that recovers the unity branch from
broken wheel packages. It includes the following changes:

- Fix MSVC build in `pipe.h` where `DWORD` is not cast to proper return
  type (mlc-ai/relax#306);
- Fix MSVC build warnings on not recognizing "#pragma GCC"
  (mlc-ai/relax#307);
- Fix NVCC build warnings where it fails to infer if "[[noreturn]]"
  actually does not return (mlc-ai/relax#308);
- Fix ROCM/Vulkan backend which fails compilation for operators like group
  GEMM, paged attention, etc. (apache#16404,
  apache#16405)

Co-authored-by: Bohan Hou <bohanhou@andrew.cmu.edu>
Co-authored-by: Lesheng Jin <leshenj15@gmail.com>
junrushao added a commit to junrushao/tvm that referenced this pull request Jan 17, 2024
This PR upstreams a few commits that recovers the unity branch from
broken wheel packages. It includes the following changes:

- Fix MSVC build in `pipe.h` where `DWORD` is not cast to proper return
  type (mlc-ai/relax#306);
- Fix MSVC build warnings on not recognizing "#pragma GCC"
  (mlc-ai/relax#307);
- Fix NVCC build warnings where it fails to infer if "[[noreturn]]"
  actually does not return (mlc-ai/relax#308);
- Fix ROCM/Vulkan backend which fails compilation for operators like group
  GEMM, paged attention, etc. (apache#16404,
  apache#16405)

Co-authored-by: Bohan Hou <bohanhou@andrew.cmu.edu>
Co-authored-by: Lesheng Jin <leshenj15@gmail.com>
junrushao added a commit to mlc-ai/relax that referenced this pull request Jan 17, 2024
This PR upstreams a few commits that recovers the unity branch from
broken wheel packages. It includes the following changes:

- Fix MSVC build in `pipe.h` where `DWORD` is not cast to proper return
  type (#306);
- Fix MSVC build warnings on not recognizing "#pragma GCC"
  (#307);
- Fix NVCC build warnings where it fails to infer if "[[noreturn]]"
  actually does not return (#308);
- Fix ROCM/Vulkan backend which fails compilation for operators like group
  GEMM, paged attention, etc. (apache/tvm#16404,
  apache/tvm#16405)

Co-authored-by: Bohan Hou <bohanhou@andrew.cmu.edu>
Co-authored-by: Lesheng Jin <leshenj15@gmail.com>
junrushao added a commit to mlc-ai/relax that referenced this pull request Jan 17, 2024
This PR upstreams a few commits that recovers the unity branch from
broken wheel packages. It includes the following changes:

- Fix MSVC build in `pipe.h` where `DWORD` is not cast to proper return
  type (#306);
- Fix MSVC build warnings on not recognizing "#pragma GCC"
  (#307);
- Fix NVCC build warnings where it fails to infer if "[[noreturn]]"
  actually does not return (#308);
- Fix ROCM/Vulkan backend which fails compilation for operators like group
  GEMM, paged attention, etc. (apache/tvm#16404,
  apache/tvm#16405)

Co-authored-by: Bohan Hou <bohanhou@andrew.cmu.edu>
Co-authored-by: Lesheng Jin <leshenj15@gmail.com>
tqchen pushed a commit that referenced this pull request Jan 17, 2024
This PR upstreams a few commits that recovers the unity branch from
broken wheel packages. It includes the following changes:

- Fix MSVC build in `pipe.h` where `DWORD` is not cast to proper return
  type (mlc-ai/relax#306);
- Fix MSVC build warnings on not recognizing "#pragma GCC"
  (mlc-ai/relax#307);
- Fix NVCC build warnings where it fails to infer if "[[noreturn]]"
  actually does not return (mlc-ai/relax#308);
- Fix ROCM/Vulkan backend which fails compilation for operators like group
  GEMM, paged attention, etc. (#16404,
  #16405)

Co-authored-by: Bohan Hou <bohanhou@andrew.cmu.edu>
Co-authored-by: Lesheng Jin <leshenj15@gmail.com>
junrushao added a commit to mlc-ai/relax that referenced this pull request Jan 21, 2024
This PR upstreams a few commits that recovers the unity branch from
broken wheel packages. It includes the following changes:

- Fix MSVC build in `pipe.h` where `DWORD` is not cast to proper return
  type (#306);
- Fix MSVC build warnings on not recognizing "#pragma GCC"
  (#307);
- Fix NVCC build warnings where it fails to infer if "[[noreturn]]"
  actually does not return (#308);
- Fix ROCM/Vulkan backend which fails compilation for operators like group
  GEMM, paged attention, etc. (apache/tvm#16404,
  apache/tvm#16405)

Co-authored-by: Bohan Hou <bohanhou@andrew.cmu.edu>
Co-authored-by: Lesheng Jin <leshenj15@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants