-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Disable lda for swizzle_a in HipBlaslt #1699
base: develop
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Docs component OK.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The problem is that user may set another lda into swizzleA kernel through hipblaslt API, which may cause the result incorrect. I didn't see you fix that.
} | ||
|
||
if(swizzleA && matA->ld != 0) | ||
log_hints(__func__, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
where did you clean or ignore lda?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. The lda parameter is ignored (set to k) in both the initial problem and valid_args.
619c9ce
to
a14872e
Compare
{ | ||
//support TN for swizzle | ||
if(matmul_descr->op_A != HIPBLAS_OP_T && matmul_descr->op_B != HIPBLAS_OP_N) | ||
{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
swizzleA only need matmul_descr->op_A == HIPBLAS_OP_T
swizzleB only needs matmul_descr->op_B == HIPBLAS_OP_N
|
||
// matrix A | ||
int64_t num_rows_a = matA->m; | ||
int64_t num_cols_a = matA->n; | ||
int num_batches_a = matA->batch_count; | ||
a_type = matA->type; | ||
lda = matA->ld; | ||
lda = (swizzleA) ? k : matA->ld; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should we done this in Tensile runtime but not hipblaslt runtime?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or done it in Tensile kernel
} | ||
} | ||
|
||
if(swizzleA && !isValidOrderForDatatype(a_type, matA->order)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
seems that we need to support problem type predicate for hipblasltOrder
Disable lda for swizzle_a in HipBlaslt