Files
TheRock/rocm-libraries/projects/rocsparse/clients/tests/test_csrgemm.yaml
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

566 lines
15 KiB
YAML

# ########################################################################
# Copyright (C) 2019-2026 Advanced Micro Devices, Inc. All rights Reserved.
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#
# ########################################################################
---
include: rocsparse_common.yaml
Definitions:
- &alpha_range_quick
- { alpha: 1.0, alphai: 1.0 }
- &alpha_range_checkin
- { alpha: 2.0, alphai: 0.5 }
- { alpha: 0.0, alphai: 1.5 }
- &alpha_range_nightly
- { alpha: 0.0, alphai: 1.5 }
- { alpha: 2.0, alphai: 0.0 }
- { alpha: 3.0, alphai: 1.5 }
- &beta_range_quick
- { beta: 1.0, betai: 1.0 }
- &beta_range_checkin
- { beta: 0.0, betai: 1.5 }
- { beta: 3.0, betai: 1.0 }
- &beta_range_nightly
- { beta: 0.0, betai: 1.5 }
- { beta: 3.0, betai: 1.5 }
- { beta: -0.5, betai: 1.0 }
Tests:
# C = alpha * A * B
- name: csrgemm_mult
category: quick
function: csrgemm
precision: *single_double_precisions_complex_real
M: [50]
N: [13]
K: [50]
alpha_alphai: *alpha_range_quick
beta: [-99.0]
transA: [rocsparse_operation_none]
transB: [rocsparse_operation_none]
baseA: [rocsparse_index_base_zero]
baseB: [rocsparse_index_base_zero]
baseC: [rocsparse_index_base_zero]
matrix: [rocsparse_matrix_zero]
- name: csrgemm_mult
category: quick
function: csrgemm
precision: *single_double_precisions_complex_real
M: [50, 300]
N: [13, 300]
K: [50, 254]
alpha_alphai: *alpha_range_quick
beta: [-99.0]
transA: [rocsparse_operation_none]
transB: [rocsparse_operation_none]
baseA: [rocsparse_index_base_one]
baseB: [rocsparse_index_base_one]
baseC: [rocsparse_index_base_one]
matrix: [rocsparse_matrix_random]
- name: csrgemm_mult_file
category: quick
function: csrgemm
precision: *single_double_precisions
M: 1
N: [13, 300]
K: 1
alpha_alphai: *alpha_range_quick
beta: [-99.0]
transA: [rocsparse_operation_none]
transB: [rocsparse_operation_none]
baseA: [rocsparse_index_base_zero]
baseB: [rocsparse_index_base_zero]
baseC: [rocsparse_index_base_one]
matrix: [rocsparse_matrix_file_rocalution]
filename: [nos1,
nos2,
nos3,
nos4,
nos5,
nos6,
nos7]
- name: csrgemm_mult_file
category: quick
function: csrgemm
precision: *single_double_precisions_complex
M: 1
N: [21, 300]
K: 1
alpha_alphai: *alpha_range_quick
beta: [-99.0]
transA: [rocsparse_operation_none]
transB: [rocsparse_operation_none]
baseA: [rocsparse_index_base_zero]
baseB: [rocsparse_index_base_one]
baseC: [rocsparse_index_base_one]
matrix: [rocsparse_matrix_file_rocalution]
filename: [qc2534,
mplate]
- name: csrgemm_bad_arg
category: pre_checkin
function: csrgemm_bad_arg
precision: *single_double_precisions_complex_real
- name: csrgemm_mult
category: pre_checkin
function: csrgemm
precision: *single_double_precisions_complex_real
M: [8, 1799]
N: [8, 2000]
K: [0, 1942, 9848]
alpha_alphai: *alpha_range_checkin
beta: [-99.0]
transA: [rocsparse_operation_none]
transB: [rocsparse_operation_none]
baseA: [rocsparse_index_base_zero]
baseB: [rocsparse_index_base_zero]
baseC: [rocsparse_index_base_zero]
matrix: [rocsparse_matrix_random]
- name: csrgemm_mult_file
category: pre_checkin
function: csrgemm
precision: *single_double_precisions
M: 1
N: [8, 2000]
K: 1
alpha_alphai: *alpha_range_checkin
beta: [-99.0]
transA: [rocsparse_operation_none]
transB: [rocsparse_operation_none]
baseA: [rocsparse_index_base_one]
baseB: [rocsparse_index_base_one]
baseC: [rocsparse_index_base_one]
matrix: [rocsparse_matrix_file_rocalution]
filename: [mc2depi,
ASIC_320k,
scircuit,
mac_econ_fwd500,
nos1,
nos3,
nos5,
nos7]
- name: csrgemm_mult_file
category: pre_checkin
function: csrgemm
precision: *single_double_precisions_complex
M: 1
N: [8, 2000]
K: 1
alpha_alphai: *alpha_range_checkin
beta: [-99.0]
transA: [rocsparse_operation_none]
transB: [rocsparse_operation_none]
baseA: [rocsparse_index_base_zero]
baseB: [rocsparse_index_base_zero]
baseC: [rocsparse_index_base_zero]
matrix: [rocsparse_matrix_file_rocalution]
filename: [mplate,
Chevron2,
Chevron3]
# Coverage gap tests: high intermediate products per row (develop vs reduced_ci)
# Semi-dense matrices to trigger group sizes 4-6 (1K-8K intermediates)
- name: csrgemm_mult_high_intermediates
category: pre_checkin
function: csrgemm
precision: *double_only_precisions
M: [128]
N: [128]
K: [256]
percentage: [0.4]
alpha_alphai: *alpha_range_checkin
beta: [-99.0]
transA: [rocsparse_operation_none]
transB: [rocsparse_operation_none]
baseA: [rocsparse_index_base_zero]
baseB: [rocsparse_index_base_zero]
baseC: [rocsparse_index_base_zero]
matrix_init_kind: [rocsparse_matrix_init_kind_tunedavg]
matrix: [rocsparse_matrix_random]
- name: csrgemm_mult
category: nightly
function: csrgemm
precision: *single_double_precisions_complex_real
M: [5000]
N: [2619, 2588]
K: [442, 42312, 743434]
alpha_alphai: *alpha_range_nightly
beta: [-99.0]
transA: [rocsparse_operation_none]
transB: [rocsparse_operation_none]
baseA: [rocsparse_index_base_zero]
baseB: [rocsparse_index_base_zero]
baseC: [rocsparse_index_base_zero]
matrix: [rocsparse_matrix_random]
- name: csrgemm_mult_file
category: nightly
function: csrgemm
precision: *single_double_precisions
M: 1
N: [2619, 2588]
K: 1
alpha_alphai: *alpha_range_nightly
beta: [-99.0]
transA: [rocsparse_operation_none]
transB: [rocsparse_operation_none]
baseA: [rocsparse_index_base_zero]
baseB: [rocsparse_index_base_zero]
baseC: [rocsparse_index_base_zero]
matrix: [rocsparse_matrix_file_rocalution]
filename: [amazon0312,
Chebyshev4,
webbase-1M]
# bibd_22_8: dense combinatorial-design pattern — single-precision csrgemm
# accumulates enough round-off here to marginally exceed the strict f32
# tolerance (~4% over) on several GPUs. Relax with a small tolerance multiplier.
- name: csrgemm_mult_file
category: nightly
function: csrgemm
precision: *single_double_precisions
M: 1
N: [2619, 2588]
K: 1
alpha_alphai: *alpha_range_nightly
beta: [-99.0]
transA: [rocsparse_operation_none]
transB: [rocsparse_operation_none]
baseA: [rocsparse_index_base_zero]
baseB: [rocsparse_index_base_zero]
baseC: [rocsparse_index_base_zero]
matrix: [rocsparse_matrix_file_rocalution]
tolm: 4
filename: [bibd_22_8]
- name: csrgemm_mult_file
category: nightly
function: csrgemm
precision: *double_only_precisions
M: 1
N: [2619, 2588]
K: 1
alpha_alphai: *alpha_range_nightly
beta: [-99.0]
transA: [rocsparse_operation_none]
transB: [rocsparse_operation_none]
baseA: [rocsparse_index_base_zero]
baseB: [rocsparse_index_base_zero]
baseC: [rocsparse_index_base_zero]
matrix: [rocsparse_matrix_file_rocalution]
filename: [scircuit,
sme3Dc,
shipsec1,
rma10]
- name: csrgemm_mult_file
category: nightly
function: csrgemm
precision: *single_double_precisions_complex
M: 1
N: [2411, 3492]
K: 1
alpha_alphai: *alpha_range_nightly
beta: [-99.0]
transA: [rocsparse_operation_none]
transB: [rocsparse_operation_none]
baseA: [rocsparse_index_base_zero]
baseB: [rocsparse_index_base_zero]
baseC: [rocsparse_index_base_zero]
matrix: [rocsparse_matrix_file_rocalution]
filename: [Chevron4]
# C = beta * D
- name: csrgemm_scale
category: quick
function: csrgemm
precision: *single_double_precisions_complex_real
M: [300]
N: [243]
alpha: [-99.0]
beta_betai: *beta_range_quick
baseC: [rocsparse_index_base_one]
baseD: [rocsparse_index_base_zero]
matrix: [rocsparse_matrix_zero]
- name: csrgemm_scale
category: quick
function: csrgemm
precision: *single_double_precisions_complex_real
M: [8]
N: [8, 12]
alpha: [-99.0]
beta_betai: *beta_range_quick
baseC: [rocsparse_index_base_zero]
baseD: [rocsparse_index_base_zero]
matrix: [rocsparse_matrix_random]
- name: csrgemm_scale_file
category: quick
function: csrgemm
precision: *single_double_precisions
M: 1
N: 1
alpha: [-99.0]
beta_betai: *beta_range_quick
baseC: [rocsparse_index_base_one]
baseD: [rocsparse_index_base_one]
matrix: [rocsparse_matrix_file_rocalution]
filename: [nos1,
nos2,
nos3,
nos4,
nos5,
nos6,
nos7]
- name: csrgemm_scale_file
category: quick
function: csrgemm
precision: *single_double_precisions_complex
M: 1
N: 1
alpha: [-99.0]
beta_betai: *beta_range_quick
baseC: [rocsparse_index_base_zero]
baseD: [rocsparse_index_base_one]
matrix: [rocsparse_matrix_file_rocalution]
filename: [qc2534,
mplate]
- name: csrgemm_scale
category: pre_checkin
function: csrgemm
precision: *single_double_precisions_complex_real
M: [8, 932]
N: [8, 784]
alpha: [-99.0]
beta_betai: *beta_range_checkin
baseC: [rocsparse_index_base_zero]
baseD: [rocsparse_index_base_zero]
matrix: [rocsparse_matrix_random]
- name: csrgemm_scale_file
category: pre_checkin
function: csrgemm
precision: *single_double_precisions
M: 1
N: 1
alpha: [-99.0]
beta_betai: *beta_range_checkin
baseC: [rocsparse_index_base_one]
baseD: [rocsparse_index_base_one]
matrix: [rocsparse_matrix_file_rocalution]
filename: [rma10,
ASIC_320k,
mc2depi,
scircuit,
mac_econ_fwd500,
nos1,
nos3,
nos5,
nos7]
- name: csrgemm_scale_file
category: pre_checkin
function: csrgemm
precision: *single_double_precisions_complex
M: 1
N: 1
alpha: [-99.0]
beta_betai: *beta_range_checkin
baseC: [rocsparse_index_base_zero]
baseD: [rocsparse_index_base_zero]
matrix: [rocsparse_matrix_file_rocalution]
filename: [mplate,
Chevron2,
Chevron3]
- name: csrgemm_scale
category: nightly
function: csrgemm
precision: *single_double_precisions_complex_real
M: [5000]
N: [1516, 4208]
alpha: [-99.0]
beta_betai: *beta_range_nightly
baseC: [rocsparse_index_base_zero]
baseD: [rocsparse_index_base_zero]
matrix: [rocsparse_matrix_random]
- name: csrgemm_scale_file
category: nightly
function: csrgemm
precision: *single_double_precisions
M: 1
N: 1
alpha: [-99.0]
beta_betai: *beta_range_nightly
baseC: [rocsparse_index_base_zero]
baseD: [rocsparse_index_base_zero]
matrix: [rocsparse_matrix_file_rocalution]
filename: [bibd_22_8,
bmwcra_1,
amazon0312,
Chebyshev4,
sme3Dc,
webbase-1M,
shipsec1]
- name: csrgemm_scale_file
category: nightly
function: csrgemm
precision: *single_double_precisions_complex
M: 1
N: 1
alpha: [-99.0]
beta_betai: *beta_range_nightly
baseC: [rocsparse_index_base_zero]
baseD: [rocsparse_index_base_zero]
matrix: [rocsparse_matrix_file_rocalution]
filename: [Chevron4]
# C = alpha * A * B + beta * D
- name: csrgemm_mult_scale
category: quick
function: csrgemm
precision: *single_double_precisions_complex_real
M: [300]
N: [300]
K: [300]
alpha_alphai: *alpha_range_quick
beta_betai: *beta_range_quick
baseA: [rocsparse_index_base_zero]
baseB: [rocsparse_index_base_one]
baseC: [rocsparse_index_base_zero]
baseD: [rocsparse_index_base_one]
matrix: [rocsparse_matrix_zero]
- name: csrgemm_mult_scale
category: quick
function: csrgemm
precision: *single_double_precisions_complex_real
M: [300]
N: [300]
K: [300]
alpha_alphai: *alpha_range_quick
beta_betai: *beta_range_quick
baseA: [rocsparse_index_base_one]
baseB: [rocsparse_index_base_zero]
baseC: [rocsparse_index_base_one]
baseD: [rocsparse_index_base_zero]
matrix: [rocsparse_matrix_random]
- name: csrgemm_mult_scale_file
category: quick
function: csrgemm
precision: *single_double_precisions
M: 1
N: [13, 222]
K: 1
alpha_alphai: *alpha_range_quick
beta_betai: *beta_range_quick
baseA: [rocsparse_index_base_zero]
baseB: [rocsparse_index_base_zero]
baseC: [rocsparse_index_base_one]
baseD: [rocsparse_index_base_one]
matrix: [rocsparse_matrix_file_rocalution]
filename: [nos1,
nos2,
nos3,
nos4,
nos5,
nos6,
nos7]
- name: csrgemm_mult_scale_file
category: quick
function: csrgemm
precision: *single_double_precisions_complex
M: 1
N: [21, 45]
K: 1
alpha_alphai: *alpha_range_quick
beta_betai: *beta_range_quick
baseA: [rocsparse_index_base_one]
baseB: [rocsparse_index_base_one]
baseC: [rocsparse_index_base_zero]
baseD: [rocsparse_index_base_zero]
matrix: [rocsparse_matrix_file_rocalution]
filename: [qc2534,
mplate]
- name: csrgemm_mult_scale_file
category: pre_checkin
function: csrgemm
precision: *single_double_precisions
M: 1
N: [276]
K: 1
alpha_alphai: *alpha_range_checkin
beta_betai: *beta_range_checkin
baseA: [rocsparse_index_base_zero]
baseB: [rocsparse_index_base_zero]
baseC: [rocsparse_index_base_one]
baseD: [rocsparse_index_base_zero]
matrix: [rocsparse_matrix_file_rocalution]
filename: [rma10,
ASIC_320k,
mc2depi,
scircuit,
mac_econ_fwd500,
webbase-1M,
shipsec1]
- name: csrgemm_mult_scale_file
category: nightly
function: csrgemm
precision: *single_double_precisions
M: 1
N: [120]
K: 1
alpha_alphai: *alpha_range_nightly
beta_betai: *beta_range_nightly
baseA: [rocsparse_index_base_zero]
baseB: [rocsparse_index_base_zero]
baseC: [rocsparse_index_base_zero]
baseD: [rocsparse_index_base_one]
matrix: [rocsparse_matrix_file_rocalution]
filename: [bibd_22_8,
bmwcra_1,
amazon0312,
Chebyshev4,
sme3Dc]