# ######################################################################## # Copyright (C) 2020-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_pre_checkin - { alpha: 2.0, beta: -2.0, alphai: 1.0, betai: -0.5 } - &alpha_beta_range_nightly - { alpha: 2.0, beta: -2.0, alphai: 1.0, betai: -0.5 } Tests: # # CHECKIN # - name: sddmm_bad_arg category: pre_checkin function: sddmm_bad_arg indextype: *i32i32_i64i32_i64i64 precision: *single_double_precisions_complex_real formatC: [rocsparse_format_coo, rocsparse_format_coo_aos, rocsparse_format_csr, rocsparse_format_csc, rocsparse_format_ell] - name: sddmm category: pre_checkin function: sddmm indextype: *i32i32_i64i32_i64i64 precision: *single_double_precisions_complex_real M: [2] N: [4] K: [8] alpha_beta: *alpha_beta_range_pre_checkin transA: [rocsparse_operation_none, rocsparse_operation_transpose] transB: [rocsparse_operation_none] baseC: [rocsparse_index_base_one] order: [rocsparse_order_row] sddmm_alg: [rocsparse_sddmm_alg_default] matrix: [rocsparse_matrix_random] formatC: [rocsparse_format_coo, rocsparse_format_coo_aos, rocsparse_format_csr, rocsparse_format_csc, rocsparse_format_ell] - name: sddmm category: pre_checkin function: sddmm indextype: *i32i32_i64i32_i64i64 precision: *single_double_precisions M: [256] N: [512] K: [512] alpha_beta: *alpha_beta_range_pre_checkin transA: [rocsparse_operation_transpose] transB: [rocsparse_operation_transpose] baseC: [rocsparse_index_base_zero] order: [rocsparse_order_column] sddmm_alg: [rocsparse_sddmm_alg_dense] matrix: [rocsparse_matrix_random] formatC: [rocsparse_format_coo, rocsparse_format_coo_aos, rocsparse_format_csr, rocsparse_format_csc, rocsparse_format_ell] - name: sddmm_file category: pre_checkin function: sddmm indextype: *i32i32_i64i32_i64i64 precision: *single_double_precisions M: 1 N: 1 K: [8] alpha_beta: *alpha_beta_range_pre_checkin transA: [rocsparse_operation_none] transB: [rocsparse_operation_transpose] baseA: [rocsparse_index_base_one] matrix: [rocsparse_matrix_file_rocalution] sddmm_alg: [rocsparse_sddmm_alg_default] order: [rocsparse_order_column] filename: [nos3] formatC: [rocsparse_format_coo, rocsparse_format_coo_aos, rocsparse_format_csr, rocsparse_format_csc, rocsparse_format_ell] - name: sddmm category: pre_checkin function: sddmm indextype: *i32i32_i64i32_i64i64 precision: *float16_float16_float32_float32_abct_precision M: [457] N: [254] K: [310] alpha_beta: *alpha_beta_range_pre_checkin transA: [rocsparse_operation_none] transB: [rocsparse_operation_none] baseC: [rocsparse_index_base_zero] order: [rocsparse_order_column] sddmm_alg: [rocsparse_sddmm_alg_default] matrix: [rocsparse_matrix_random] formatC: [rocsparse_format_coo, rocsparse_format_coo_aos, rocsparse_format_csr, rocsparse_format_csc, rocsparse_format_ell] - name: sddmm category: pre_checkin function: sddmm indextype: *i32i32_i64i32_i64i64 precision: *float16_float16_float16_float16_abct_precision M: [386] N: [512] K: [439] alpha_beta: *alpha_beta_range_pre_checkin transA: [rocsparse_operation_none] transB: [rocsparse_operation_none] baseC: [rocsparse_index_base_zero] order: [rocsparse_order_column] sddmm_alg: [rocsparse_sddmm_alg_dense] matrix: [rocsparse_matrix_random] formatC: [rocsparse_format_coo, rocsparse_format_coo_aos, rocsparse_format_csr, rocsparse_format_csc, rocsparse_format_ell] - name: sddmm_graph_test category: pre_checkin function: sddmm indextype: *i32i32_i64i32_i64i64 precision: *single_double_precisions M: [16] N: [93] K: [34] alpha_beta: *alpha_beta_range_pre_checkin transA: [rocsparse_operation_none] transB: [rocsparse_operation_none] baseC: [rocsparse_index_base_zero] order: [rocsparse_order_column] sddmm_alg: [rocsparse_sddmm_alg_default] matrix: [rocsparse_matrix_random] formatC: [rocsparse_format_coo, rocsparse_format_coo_aos, rocsparse_format_csr, rocsparse_format_csc, rocsparse_format_ell] graph_test: true - name: sddmm_file category: pre_checkin function: sddmm indextype: *i32 precision: *single_double_precisions M: 1 N: 1 K: [5, 9] alpha_beta: *alpha_beta_range_pre_checkin transA: [rocsparse_operation_none] transB: [rocsparse_operation_transpose] baseA: [rocsparse_index_base_one] matrix: [rocsparse_matrix_file_rocalution] sddmm_alg: [rocsparse_sddmm_alg_default] order: [rocsparse_order_column] filename: [nos1, nos2, nos3, nos4, nos5, nos6, nos7] formatC: [rocsparse_format_coo,rocsparse_format_coo_aos,rocsparse_format_csr,rocsparse_format_csc,rocsparse_format_ell] - name: sddmm_file category: pre_checkin function: sddmm indextype: *i32 precision: *single_double_precisions_complex M: 1 N: 1 K: [32, 64] alpha_beta: *alpha_beta_range_pre_checkin transA: [rocsparse_operation_none] transB: [rocsparse_operation_transpose] baseA: [rocsparse_index_base_one] matrix: [rocsparse_matrix_file_rocalution] sddmm_alg: [rocsparse_sddmm_alg_default] order: [rocsparse_order_column] filename: [mplate, mc2depi] formatC: [rocsparse_format_coo,rocsparse_format_coo_aos,rocsparse_format_csr,rocsparse_format_csc,rocsparse_format_ell] # # QUICK # - name: sddmm_file category: quick function: sddmm indextype: *i32i32_i64i32_i64i64 precision: *single_double_precisions M: 1 N: 1 K: [8] alpha_beta: *alpha_beta_range_quick transA: [rocsparse_operation_none] transB: [rocsparse_operation_transpose] baseA: [rocsparse_index_base_one] matrix: [rocsparse_matrix_file_rocalution] sddmm_alg: [rocsparse_sddmm_alg_default] order: [rocsparse_order_column] filename: [nos1] formatC: [rocsparse_format_coo, rocsparse_format_coo_aos, rocsparse_format_csr, rocsparse_format_csc, rocsparse_format_ell] - name: sddmm category: quick function: sddmm indextype: *i32i32_i64i32_i64i64 precision: *single_double_precisions M: [16] N: [93] K: [34] alpha_beta: *alpha_beta_range_quick transA: [rocsparse_operation_none] transB: [rocsparse_operation_none] baseC: [rocsparse_index_base_zero] order: [rocsparse_order_column] sddmm_alg: [rocsparse_sddmm_alg_default] matrix: [rocsparse_matrix_random] formatC: [rocsparse_format_coo, rocsparse_format_coo_aos, rocsparse_format_csr, rocsparse_format_csc, rocsparse_format_ell] - name: sddmm category: quick function: sddmm indextype: *i32i32_i64i32_i64i64 precision: *float16_float16_float32_float32_abct_precision M: [88] N: [103] K: [128] alpha_beta: *alpha_beta_range_quick transA: [rocsparse_operation_transpose] transB: [rocsparse_operation_none] baseC: [rocsparse_index_base_zero] order: [rocsparse_order_column] sddmm_alg: [rocsparse_sddmm_alg_dense] matrix: [rocsparse_matrix_random] formatC: [rocsparse_format_coo, rocsparse_format_coo_aos, rocsparse_format_csr, rocsparse_format_csc, rocsparse_format_ell] - name: sddmm category: quick function: sddmm indextype: *i32i32_i64i32_i64i64 precision: *float16_float16_float16_float16_abct_precision M: [144] N: [203] K: [72] alpha_beta: *alpha_beta_range_quick transA: [rocsparse_operation_none] transB: [rocsparse_operation_transpose] baseC: [rocsparse_index_base_zero] order: [rocsparse_order_row] sddmm_alg: [rocsparse_sddmm_alg_default] matrix: [rocsparse_matrix_random] formatC: [rocsparse_format_coo, rocsparse_format_coo_aos, rocsparse_format_csr, rocsparse_format_csc, rocsparse_format_ell] - name: sddmm category: quick function: sddmm indextype: *i32i32_i64i32_i64i64 precision: [*float16_float16_float16_float32_abct_precision, *bfloat16_bfloat16_bfloat16_float32_abct_precision] M: [300] N: [300] K: [776] alpha_beta: *alpha_beta_range_quick transA: [rocsparse_operation_none] transB: [rocsparse_operation_none] baseC: [rocsparse_index_base_zero] order: [rocsparse_order_column] sddmm_alg: [rocsparse_sddmm_alg_dense] matrix: [rocsparse_matrix_random] formatC: [rocsparse_format_coo, rocsparse_format_coo_aos, rocsparse_format_csr, rocsparse_format_csc, rocsparse_format_ell] # # NIGHTLY # - name: sddmm category: nightly function: sddmm indextype: *i32i32_i64i32_i64i64 precision: *single_double_precisions M: [1000] N: [1000] K: [40000] alpha_beta: *alpha_beta_range_nightly transA: [rocsparse_operation_none] baseA: [rocsparse_index_base_one] transB: [rocsparse_operation_none] order: [rocsparse_order_column] sddmm_alg: [rocsparse_sddmm_alg_default, rocsparse_sddmm_alg_dense] matrix: [rocsparse_matrix_random] formatC: [rocsparse_format_coo,rocsparse_format_coo_aos,rocsparse_format_csr,rocsparse_format_csc,rocsparse_format_ell] - name: sddmm category: nightly function: sddmm indextype: *i32i32_i64i32_i64i64 precision: *single_double_precisions M: [40000] N: [40000] K: [32, 64] alpha_beta: *alpha_beta_range_nightly transA: [rocsparse_operation_none] baseA: [rocsparse_index_base_one] transB: [rocsparse_operation_none] order: [rocsparse_order_column] sddmm_alg: [rocsparse_sddmm_alg_default] matrix: [rocsparse_matrix_random] formatC: [rocsparse_format_coo, rocsparse_format_coo_aos, rocsparse_format_csr, rocsparse_format_csc, rocsparse_format_ell] - name: sddmm_file category: nightly function: sddmm indextype: *i64 precision: *double_only_precisions M: 1 N: 1 K: [128] alpha_beta: *alpha_beta_range_nightly transA: [rocsparse_operation_none] transB: [rocsparse_operation_transpose] baseA: [rocsparse_index_base_zero] matrix: [rocsparse_matrix_file_rocalution] sddmm_alg: [rocsparse_sddmm_alg_default] order: [rocsparse_order_row] filename: [shipsec1] formatC: [rocsparse_format_coo, rocsparse_format_coo_aos, rocsparse_format_csr, rocsparse_format_csc, rocsparse_format_ell]