Skip to content
This repository has been archived by the owner on Jan 13, 2025. It is now read-only.

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 subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants