composable_kernel icon indicating copy to clipboard operation
composable_kernel copied to clipboard

[GEMM] Set enable-post-misched=0 as default compile option

Open aska-0096 opened this issue 1 year ago • 5 comments

This PR set "-mllvm -enable-post-misched=0" as default compile option of CK. This option will improve gemm_universal performance and ensure the correctness.

aska-0096 avatar Apr 15 '24 07:04 aska-0096

It seems that option doesn't compatible to clang++ in CI codegen test. Hi @illsilin, may I ask the reason behind CI codegen use clang++ compiler? Hi @zjing14 , are our users and customers all use hipcc as compiler?

aska-0096 avatar Apr 15 '24 11:04 aska-0096

The new compile flag not support in rocm6.0 clang++( latest release), but it should be. Compiler team is checking the issue.

cc @zjing14

aska-0096 avatar Apr 16 '24 06:04 aska-0096

Most of the customers build CK with clang directly and dislike hipcc because it is not transparent about what it does behind the scenes. It is AMD policy to get all rocm components to abandon hipcc and move to clang by 6.2 release. We have started using clang as the default compiler for our builds since November 2023.

illsilin avatar Apr 16 '24 16:04 illsilin

Most of the customers build CK with clang directly and dislike hipcc because it is not transparent about what it does behind the scenes. It is AMD policy to get all rocm components to abandon hipcc and move to clang by 6.2 release. We have started using clang as the default compiler for our builds since November 2023.

Thanks for explaining. I tested this branch on ROCm 6.1 and found no problems. It seems that our compiler solved the problem on this version. Is it possible to update the CI docker to ROCm 6.1 which was released today?

aska-0096 avatar Apr 17 '24 03:04 aska-0096

We can definitely upgrade our default docker and compiler to rocm6.1, however, it's likely that some customers will continue to use older compiler versions for some time. So I would be a little worried to use compiler flags that will cause build failures with older rocm versions. Perhaps, we can implement these flags as an option in our CI and set the default to ON, instead of hardcoding them in the cmake file?

illsilin avatar Apr 17 '24 14:04 illsilin

The 2fix had been merged in PR #1250, so this one is no longer required.

illsilin avatar May 15 '24 15:05 illsilin