# ######################################################################## # Copyright (C) 2024-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_beta_range_quick - { alpha: 1.0, beta: -1.0, alphai: 1.0, betai: -0.5 } - &alpha_beta_range_checkin - { alpha: 0.0, beta: 1.0, alphai: 1.5, betai: 0.5 } - { alpha: 3.0, beta: 1.0, alphai: 2.0, betai: -0.5 } - &alpha_beta_range_nightly - { alpha: -0.5, beta: 0.5, alphai: 1.0, betai: -0.5 } - { alpha: -1.0, beta: -0.5, alphai: 0.0, betai: 0.0 } - &alpha_beta_range_stress - { alpha: 1.0, beta: 0.0, alphai: 0.0, betai: 0.0 } Tests: - name: spmm_bsr_bad_arg category: pre_checkin function: spmm_bsr_bad_arg indextype: *i32i32_i64i32_i64i64 precision: *single_double_precisions_complex_real ############################## # Quick ############################## - name: spmm_bsr category: quick function: spmm_bsr indextype: *i32i32_i64i32_i64i64 precision: *single_double_precisions_complex_real M: [145] N: [117] K: [172] block_dim: [1, 5, 9, 13] alpha_beta: *alpha_beta_range_quick transA: [rocsparse_operation_none] transB: [rocsparse_operation_none, rocsparse_operation_transpose] baseA: [rocsparse_index_base_zero] direction: [rocsparse_direction_row] matrix: [rocsparse_matrix_random] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column] orderC: [rocsparse_order_column] - name: spmm_bsr category: quick function: spmm_bsr indextype: *i32 precision: *single_double_precisions_complex_real M: [8, 223] N: [8, 300] K: [0, 167] block_dim: [4] alpha_beta: *alpha_beta_range_quick transA: [rocsparse_operation_none] transB: [rocsparse_operation_none] baseA: [rocsparse_index_base_zero] direction: [rocsparse_direction_column] matrix: [rocsparse_matrix_random] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column] orderC: [rocsparse_order_row] - name: spmm_bsr_file category: quick function: spmm_bsr indextype: *i64i32 precision: *single_double_precisions M: 1 N: [100] K: 1 block_dim: [2] alpha_beta: *alpha_beta_range_quick transA: [rocsparse_operation_none] transB: [rocsparse_operation_none, rocsparse_operation_transpose] baseA: [rocsparse_index_base_one] direction: [rocsparse_direction_row] matrix: [rocsparse_matrix_file_rocalution] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column, rocsparse_order_row] orderC: [rocsparse_order_column] filename: [nos1] - name: spmm_bsr_file category: quick function: spmm_bsr indextype: *i64 precision: *single_double_precisions M: 1 N: [57] K: 1 block_dim: [6] alpha_beta: *alpha_beta_range_quick transA: [rocsparse_operation_none] transB: [rocsparse_operation_none, rocsparse_operation_transpose] baseA: [rocsparse_index_base_one] direction: [rocsparse_direction_row] matrix: [rocsparse_matrix_file_rocalution] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column, rocsparse_order_row] orderC: [rocsparse_order_column] filename: [nos2] - name: spmm_bsr_file category: quick function: spmm_bsr indextype: *i32 precision: *single_double_precisions_complex M: 1 N: [7] K: 1 block_dim: [3] alpha_beta: *alpha_beta_range_quick transA: [rocsparse_operation_none] transB: [rocsparse_operation_transpose] baseA: [rocsparse_index_base_zero] direction: [rocsparse_direction_column] matrix: [rocsparse_matrix_file_rocalution] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column] orderC: [rocsparse_order_row] filename: [mplate] - name: spmm_bsr category: quick function: spmm_bsr indextype: *i32 precision: *float16_float16_float32_float32_abct_precision M: [300] N: [16, 23] K: [847] block_dim: [2, 5, 8] alpha_beta: *alpha_beta_range_quick transA: [rocsparse_operation_none] transB: [rocsparse_operation_none] baseA: [rocsparse_index_base_zero] matrix: [rocsparse_matrix_random] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_row] orderC: [rocsparse_order_row] - name: spmm_bsr category: quick function: spmm_bsr indextype: *i32 precision: *bfloat16_bfloat16_float32_float32_abct_precision M: [300] N: [144] K: [56478] block_dim: [12] alpha_beta: *alpha_beta_range_quick transA: [rocsparse_operation_none] transB: [rocsparse_operation_none] baseA: [rocsparse_index_base_zero] matrix: [rocsparse_matrix_random] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column] orderC: [rocsparse_order_row] - name: spmm_bsr category: quick function: spmm_bsr indextype: *i32 precision: [*float16_float16_float32_float32_abct_precision, *bfloat16_bfloat16_float32_float32_abct_precision] M: [300] N: [32] K: [512] block_dim: [2, 3, 8] alpha_beta: *alpha_beta_range_quick transA: [rocsparse_operation_none] transB: [rocsparse_operation_none, rocsparse_operation_transpose] baseA: [rocsparse_index_base_zero] matrix: [rocsparse_matrix_random] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column] orderC: [rocsparse_order_column] ############################## # Precheckin ############################## - name: spmm_bsr category: pre_checkin function: spmm_bsr indextype: *i32i32_i64i32_i64i64 precision: *single_double_precisions M: [311] N: [441] K: [82] block_dim: [5, 10] alpha_beta: *alpha_beta_range_checkin transA: [rocsparse_operation_none] transB: [rocsparse_operation_none, rocsparse_operation_transpose] baseA: [rocsparse_index_base_one] direction: [rocsparse_direction_row] matrix: [rocsparse_matrix_random] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_row, rocsparse_order_column] orderC: [rocsparse_order_column] - name: spmm_bsr_file category: pre_checkin function: spmm_bsr indextype: *i32_i64 precision: *double_only_precisions_complex M: 1 N: [16] K: 1 block_dim: [8] alpha_beta: *alpha_beta_range_checkin transA: [rocsparse_operation_none] transB: [rocsparse_operation_transpose] baseA: [rocsparse_index_base_zero] direction: [rocsparse_direction_column] matrix: [rocsparse_matrix_file_rocalution] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_row] orderC: [rocsparse_order_column] filename: [mplate] - name: spmm_bsr_file category: pre_checkin function: spmm_bsr indextype: *i32i32_i64i32_i64i64 precision: *double_only_precisions M: 1 N: [54] K: 1 block_dim: [2, 11, 12] alpha_beta: *alpha_beta_range_checkin transA: [rocsparse_operation_none] transB: [rocsparse_operation_transpose] baseA: [rocsparse_index_base_zero] direction: [rocsparse_direction_row] matrix: [rocsparse_matrix_file_rocalution] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column] orderC: [rocsparse_order_row] filename: [nos3] - name: spmm_bsr_file category: pre_checkin function: spmm_bsr indextype: *i32i32_i64i32_i64i64 precision: *single_double_precisions M: 1 N: [9] K: 1 block_dim: [4, 14] alpha_beta: *alpha_beta_range_checkin transA: [rocsparse_operation_none] transB: [rocsparse_operation_transpose] baseA: [rocsparse_index_base_zero] direction: [rocsparse_direction_column] matrix: [rocsparse_matrix_file_rocalution] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_row] orderC: [rocsparse_order_row] filename: [nos4] - name: spmm_bsr_file category: pre_checkin function: spmm_bsr indextype: *i64i32 precision: *double_only_precisions M: 1 N: [47] K: 1 block_dim: [3, 15] alpha_beta: *alpha_beta_range_checkin transA: [rocsparse_operation_none] transB: [rocsparse_operation_transpose] baseA: [rocsparse_index_base_zero] direction: [rocsparse_direction_row] matrix: [rocsparse_matrix_file_rocalution] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column] orderC: [rocsparse_order_column] filename: [nos5] - name: spmm_bsr_file category: pre_checkin function: spmm_bsr indextype: *i64i32 precision: *single_double_precisions_complex M: 1 N: [4] K: 1 block_dim: [7, 16] alpha_beta: *alpha_beta_range_checkin transA: [rocsparse_operation_none] transB: [rocsparse_operation_none] baseA: [rocsparse_index_base_one] direction: [rocsparse_direction_column] matrix: [rocsparse_matrix_file_rocalution] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_row] orderC: [rocsparse_order_row] filename: [nos6] - name: spmm_bsr_file category: pre_checkin function: spmm_bsr indextype: *i32i32_i64i32_i64i64 precision: *double_only_precisions M: 1 N: [6] K: 1 block_dim: [8, 17] alpha_beta: *alpha_beta_range_checkin transA: [rocsparse_operation_none] transB: [rocsparse_operation_transpose] baseA: [rocsparse_index_base_zero] direction: [rocsparse_direction_row] matrix: [rocsparse_matrix_file_rocalution] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_row] orderC: [rocsparse_order_column] filename: [nos7] - name: spmm_bsr_file category: pre_checkin function: spmm_bsr indextype: *i64i32 precision: *double_only_precisions M: 1 N: [21] K: 1 block_dim: [4] alpha_beta: *alpha_beta_range_checkin transA: [rocsparse_operation_none] transB: [rocsparse_operation_transpose] baseA: [rocsparse_index_base_zero] direction: [rocsparse_direction_row] matrix: [rocsparse_matrix_file_rocalution] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column] orderC: [rocsparse_order_column] filename: [scircuit] - name: spmm_bsr_file category: pre_checkin function: spmm_bsr indextype: *i64i32 precision: *double_only_precisions_complex M: 1 N: [17] K: 1 block_dim: [2] alpha_beta: *alpha_beta_range_checkin transA: [rocsparse_operation_none] transB: [rocsparse_operation_none] baseA: [rocsparse_index_base_one] direction: [rocsparse_direction_column] matrix: [rocsparse_matrix_file_rocalution] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_row] orderC: [rocsparse_order_row] filename: [Chevron2] - name: spmm_bsr category: pre_checkin function: spmm_bsr indextype: *i32 precision: *float16_float16_float32_float32_abct_precision M: [2000] N: [21, 27] K: [13724] block_dim: [3, 4, 5] alpha_beta: *alpha_beta_range_checkin transA: [rocsparse_operation_none] transB: [rocsparse_operation_none] baseA: [rocsparse_index_base_zero] matrix: [rocsparse_matrix_random] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column] orderC: [rocsparse_order_row] - name: spmm_bsr category: pre_checkin function: spmm_bsr indextype: *i32 precision: [*float16_float16_float32_float32_abct_precision, *bfloat16_bfloat16_float32_float32_abct_precision] M: [1024] N: [32, 64] K: [1024] block_dim: [2, 4, 8] alpha_beta: *alpha_beta_range_checkin transA: [rocsparse_operation_none] transB: [rocsparse_operation_none, rocsparse_operation_transpose] baseA: [rocsparse_index_base_zero] matrix: [rocsparse_matrix_random] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column] orderC: [rocsparse_order_column] - name: spmm_bsr_graph_test category: pre_checkin function: spmm_bsr indextype: *i32i32_i64i32_i64i64 precision: *double_only_precisions M: [223, 485] N: [223] K: [223, 485, 647] block_dim: [11] alpha_beta: *alpha_beta_range_quick transA: [rocsparse_operation_none] transB: [rocsparse_operation_none, rocsparse_operation_transpose] baseA: [rocsparse_index_base_zero] direction: [rocsparse_direction_column] matrix: [rocsparse_matrix_random] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column] orderC: [rocsparse_order_row] graph_test: true ############################## # Nightly ############################## - name: spmm_bsr category: nightly function: spmm_bsr indextype: *i32i32_i64i32_i64i64 precision: *single_double_precisions_complex_real M: [431] N: [273] K: [97] block_dim: [21] alpha_beta: *alpha_beta_range_nightly transA: [rocsparse_operation_none] transB: [rocsparse_operation_none] baseA: [rocsparse_index_base_zero] direction: [rocsparse_direction_row] matrix: [rocsparse_matrix_random] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column] orderC: [rocsparse_order_column] - name: spmm_bsr_file category: nightly function: spmm_bsr indextype: *i64i32 precision: *double_only_precisions M: 1 N: [14] K: 1 block_dim: [2] alpha_beta: *alpha_beta_range_nightly transA: [rocsparse_operation_none] transB: [rocsparse_operation_transpose] baseA: [rocsparse_index_base_one] direction: [rocsparse_direction_column] matrix: [rocsparse_matrix_file_rocalution] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column, rocsparse_order_row] orderC: [rocsparse_order_row] filename: [sme3Dc] - name: spmm_bsr_file category: nightly function: spmm_bsr indextype: *i32_i64 precision: *double_only_precisions M: 1 N: [48] K: 1 block_dim: [3] tolm: 4 alpha_beta: *alpha_beta_range_nightly transA: [rocsparse_operation_none] transB: [rocsparse_operation_none] baseA: [rocsparse_index_base_one] direction: [rocsparse_direction_row] matrix: [rocsparse_matrix_file_rocalution] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_row] orderC: [rocsparse_order_column] filename: [shipsec1] - name: spmm_bsr_file category: nightly function: spmm_bsr indextype: *i32_i64 precision: *double_only_precisions M: 1 N: [21] K: 1 block_dim: [4] alpha_beta: *alpha_beta_range_nightly transA: [rocsparse_operation_none] transB: [rocsparse_operation_none] baseA: [rocsparse_index_base_one] direction: [rocsparse_direction_column] matrix: [rocsparse_matrix_file_rocalution] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_row] orderC: [rocsparse_order_column] filename: [ASIC_320k] - name: spmm_bsr_file category: nightly function: spmm_bsr indextype: *i32_i64 precision: *single_only_precisions_complex M: 1 N: [12] K: 1 block_dim: [9] alpha_beta: *alpha_beta_range_nightly transA: [rocsparse_operation_none] transB: [rocsparse_operation_transpose] baseA: [rocsparse_index_base_zero] direction: [rocsparse_direction_row] matrix: [rocsparse_matrix_file_rocalution] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column] orderC: [rocsparse_order_column] filename: [Chevron3] - name: spmm_bsr_file category: nightly function: spmm_bsr indextype: *i32_i64 precision: *double_only_precisions_complex M: 1 N: [12] K: 1 block_dim: [9] alpha_beta: *alpha_beta_range_nightly transA: [rocsparse_operation_none] transB: [rocsparse_operation_transpose] baseA: [rocsparse_index_base_zero] direction: [rocsparse_direction_row] matrix: [rocsparse_matrix_file_rocalution] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column] orderC: [rocsparse_order_column] filename: [Chevron4] device_memory_gb: 18 - name: spmm_bsr_file category: nightly function: spmm_bsr indextype: *i32_i64 precision: *single_double_precisions_complex M: 1 N: [5] K: 1 block_dim: [5] alpha_beta: *alpha_beta_range_nightly transA: [rocsparse_operation_none] transB: [rocsparse_operation_transpose] baseA: [rocsparse_index_base_zero] direction: [rocsparse_direction_column] matrix: [rocsparse_matrix_file_rocalution] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column] orderC: [rocsparse_order_row] filename: [Chevron4] - name: spmm_bsr_file category: nightly function: spmm_bsr indextype: *i32_i64 precision: *double_only_precisions M: 1 N: [52] K: 1 block_dim: [6] tolm: 4 alpha_beta: *alpha_beta_range_nightly transA: [rocsparse_operation_none] transB: [rocsparse_operation_none] baseA: [rocsparse_index_base_one] direction: [rocsparse_direction_row] matrix: [rocsparse_matrix_file_rocalution] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_row] orderC: [rocsparse_order_row] filename: [shipsec1] - name: spmm_bsr category: nightly function: spmm_bsr indextype: *i32 precision: *float16_float16_float32_float32_abct_precision M: [8472] N: [29, 39] K: [12943] alpha_beta: *alpha_beta_range_nightly transA: [rocsparse_operation_none] transB: [rocsparse_operation_none] baseA: [rocsparse_index_base_zero] matrix: [rocsparse_matrix_random] spmm_alg: [rocsparse_spmm_alg_bsr] orderB: [rocsparse_order_column] orderC: [rocsparse_order_column]