Skip to content

Conversation

@xinlipn
Copy link
Contributor

@xinlipn xinlipn commented Aug 1, 2023

Convert ctest test_conv_hip_igemm_xdlops to gTest

@junliume
Copy link
Contributor

junliume commented Aug 5, 2023

@xinlipn please resolve conflicts and this PR has passed CI once.

@xinlipn
Copy link
Contributor Author

xinlipn commented Aug 6, 2023

@xinlipn please resolve conflicts and this PR has passed CI once.

@junliume , Fixed conflicts

Copy link
Contributor

@atamazov atamazov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Almost good.

Comment on lines 62 to 72
case miopenInt8: params = ConfigWithInt8::GetParam(); break;
case miopenHalf:
case miopenBFloat16:
case miopenFloat:
case miopenInt8x4:
case miopenInt32:
case miopenDouble:
FAIL() << "miopenHalf, miopenBFloat16, miopenFloat, miopenInt8x4, miopenInt32, "
"miopenDouble data "
"type not supported by "
"conv_hip_igemm_mlir_xdlops test";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Recommendation] At the time of adding the ConvHipImplicitGemmFwdXdlops solver (in #1692), only the INT8 type was supported, and the initial test set was of INT8 type only. Then there was #1803 which adds support for HALF and FLOAT, but that PR is missing the support of these new datatypes in tests. That is why the test lacks HALF and FLOAT support.

There is another problem with this test: it allows all solvers to work and therefore there there is no guarantee that namely the ConvHipImplicitGemmFwdXdlops is being tested. If there is a problem with it (i.e. it is disabled), then any other solver (i.e. Gemm) can do the job and test would succeed.

@xinlipn @JehandadKhan What about resolving there problems at once? Or let's address these in a separate PR?

Copy link
Contributor Author

@xinlipn xinlipn Aug 22, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Recommendation] At the time of adding the ConvHipImplicitGemmFwdXdlops solver (in #1692), only the INT8 type was supported, and the initial test set was of INT8 type only. Then there was #1803 which adds support for HALF and FLOAT, but that PR is missing the support of these new datatypes in tests. That is why the test lacks HALF and FLOAT support.

There is another problem with this test: it allows all solvers to work and therefore there there is no guarantee that namely the ConvHipImplicitGemmFwdXdlops is being tested. If there is a problem with it (i.e. it is disabled), then any other solver (i.e. Gemm) can do the job and test would succeed.

@xinlipn @JehandadKhan What about resolving there problems at once? Or let's address these in a separate PR?

@atamazov , thanks for bringing up these points. Does it make sense to open another PR? The reason is 1) Please correct me if I was wrong, it seems ConvHipImplicitGemmFwdXdlops is a different test, we can update with the datatypes you mentioned in its own gTest 2) in case it's the same test as here, this PR can be used as 1:1 map from the original cTest and any other changes can be put in a separate PR to avoid confusion.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@xinlipn

  1. Please correct me if I was wrong, it seems ConvHipImplicitGemmFwdXdlops is a different test

This test_conv_hip_igemm_xdlops (which is being refactored in this PR) was introduced together with the ConvHipImplicitGemmFwdXdlops solver, in #1692 (which was created by @JehandadKhan). Therefore I suspect that this test is intended to test specifically ConvHipImplicitGemmFwdXdlops. If this is so, then I recommend adding support for other datatypes, and limiting it to the ConvHipImplicitGemmFwdXdlops only.

Please discuss with @JehandadKhan in order to clarify things and to decide what needs to be done. My comment is only recommendation.

  1. in case it's the same test as here, this PR can be used as 1:1 map from the original cTest and any other changes can be put in a separate PR to avoid confusion.

No objections!

Copy link
Contributor

@atamazov atamazov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I am assuming that #2292 (comment) will be followed up here or in the separate PR.

@JehandadKhan
Copy link
Contributor

LGTM. I am assuming that #2292 (comment) will be followed up here or in the separate PR.

I think that makes sense, @xinlipn can address the comment in a follow up PR.

@xinlipn
Copy link
Contributor Author

xinlipn commented Aug 29, 2023

Tested on gfx908, [email protected]

$printenv | grep MIOPEN
MIOPEN_ENABLE_LOGGING_CMD=1
MIOPEN_TEST_ALL=1
MIOPEN_TEST_COMPOSABLEKERNEL=TRUE
MIOPEN_TEST_FLOAT_ARG=--int8
MIOPEN_ENABLE_LOGGING=1
MIOPEN_LOG_LEVEL=5

gtest passed, log is as below:

gtest_test_conv_hip_igemm_xdlops.log

@junliume junliume merged commit ac3dedb into develop Aug 31, 2023
@JehandadKhan JehandadKhan deleted the sl/gtest_conv_hip_igemm_xdlops branch December 13, 2023 17:21
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.

5 participants