Commit 0b639e94 authored by Shucai Xiao's avatar Shucai Xiao
Browse files

optimize the calling of rocmblas function.

parent 3d200e1c
...@@ -117,6 +117,9 @@ argument miopen_gemm::compute(context& ctx, ...@@ -117,6 +117,9 @@ argument miopen_gemm::compute(context& ctx,
auto alpha_r = to_rocblas_type(as(alpha)); auto alpha_r = to_rocblas_type(as(alpha));
auto beta_r = to_rocblas_type(as(beta)); auto beta_r = to_rocblas_type(as(beta));
auto to_pointer = [&](auto&& arg) { return to_rocblas_type(as.from(arg.data())); }; auto to_pointer = [&](auto&& arg) { return to_rocblas_type(as.from(arg.data())); };
// call the strided implementation only if there are multiple matrices
if (batch_num > 1)
{
generic_rocblas_batched_gemm(as, generic_rocblas_batched_gemm(as,
ctx.get_stream().get_rocblas(), ctx.get_stream().get_rocblas(),
transb ? rocblas_operation_transpose : rocblas_operation_none, transb ? rocblas_operation_transpose : rocblas_operation_none,
...@@ -136,7 +139,25 @@ argument miopen_gemm::compute(context& ctx, ...@@ -136,7 +139,25 @@ argument miopen_gemm::compute(context& ctx,
ldc, ldc,
m * n, m * n,
batch_num); batch_num);
}
else
{
generic_rocblas_gemm(as,
ctx.get_stream().get_rocblas(),
transb ? rocblas_operation_transpose : rocblas_operation_none,
transa ? rocblas_operation_transpose : rocblas_operation_none,
n,
m,
k,
&alpha_r,
to_pointer(args[1]),
ldb,
to_pointer(args[0]),
lda,
&beta_r,
to_pointer(args[2]),
ldc);
}
}); });
return args[2]; return args[2];
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment