Skip to content
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

Added benchmarks for GEMM complex types #465

Conversation

OuadiElfarouki
Copy link
Collaborator

@OuadiElfarouki OuadiElfarouki commented Sep 26, 2023

This PR extends portBLAS, cuBLAS & rocBLAS benchmarks to complex (float & double) data types for Gemm, GemmBatched and GemmBatchedStrided operators.

Copy link
Collaborator

@s-Nick s-Nick left a comment

Choose a reason for hiding this comment

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

LGTM Thank you @OuadiElfarouki

reinterpret_cast<void*>(c_ref.data() + _base(m, n, batch_idx)), ldc);
}

if (batch_type == blas::gemm_batch_type_t::interleaved) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think it's best if we move this check before the #ifdef BLAS_VERIFY_BENCHMARK block to avoid calling the reference implementation.

std::tie(t1s, t2s, m, k, n, alpha_r, alpha_i, beta_r, beta_i, batch_size,
batch_type) = p;
// Only batch_type == strided is supported with Complex data
if (batch_type == 1) {
Copy link
Collaborator

Choose a reason for hiding this comment

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

If we want to keep this check here than we don't really need to check for the batch_type in run() function since we are manually choosing the type of data layout that is going to be called for the run() function.

@muhammad-tanvir-1211 muhammad-tanvir-1211 merged commit 8d29746 into codeplaysoftware:master Oct 26, 2023
3 checks passed
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