Files
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

520 lines
16 KiB
YAML

# ########################################################################
# Copyright (C) 2025-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.
#
# ########################################################################
# Data types are defined as either aliases to Python-recognized ctypes,
# or enums defined with c_int base clases and attributes.
Datatypes:
- hipsparseIndexType_t:
bases: [ c_int ]
attr:
u16: 1
i32: 2
i64: 3
- hipDataType:
bases: [ c_int ]
attr:
f32_r: 0
f64_r: 1
f16_r: 2
i8_r: 3
f32_c: 4
f64_c: 5
u8_r: 8
i32_r: 10
u32_r: 12
bf16_r: 14
- { single: f32_r, double: f64_r }
- { single complex: f32_c, double complex: f64_c }
- hipsparseOperation_t:
bases: [ c_int ]
attr:
HIPSPARSE_OPERATION_NON_TRANSPOSE: 0
HIPSPARSE_OPERATION_TRANSPOSE: 1
HIPSPARSE_OPERATION_CONJUGATE_TRANSPOSE: 2
- hipsparseIndexBase_t:
bases: [ c_int ]
attr:
HIPSPARSE_INDEX_BASE_ZERO: 0
HIPSPARSE_INDEX_BASE_ONE: 1
- hipsparseDiagType_t:
bases: [ c_int ]
attr:
HIPSPARSE_DIAG_TYPE_NON_UNIT: 0
HIPSPARSE_DIAG_TYPE_UNIT: 1
- hipsparseFillMode_t:
bases: [ c_int ]
attr:
HIPSPARSE_FILL_MODE_LOWER: 0
HIPSPARSE_FILL_MODE_UPPER: 1
- hipsparseAction_t:
bases: [ c_int ]
attr:
HIPSPARSE_ACTION_SYMBOLIC: 0
HIPSPARSE_ACTION_NUMERIC: 1
- hipsparseHybPartition_t:
bases: [ c_int ]
attr:
HIPSPARSE_HYB_PARTITION_AUTO: 0
HIPSPARSE_HYB_PARTITION_USER: 1
HIPSPARSE_HYB_PARTITION_MAX: 2
- hipsparseSolvePolicy_t:
bases: [ c_int ]
attr:
HIPSPARSE_SOLVE_POLICY_NO_LEVEL: 0
HIPSPARSE_SOLVE_POLICY_USE_LEVEL: 1
- hipsparseDirection_t:
bases: [ c_int ]
attr:
HIPSPARSE_DIRECTION_ROW: 0
HIPSPARSE_DIRECTION_COLUMN: 1
- hipsparseOrder_t:
bases: [c_int ]
attr:
HIPSPARSE_ORDER_COL: 1
HIPSPARSE_ORDER_ROW: 2
- hipsparseFormat_t:
bases: [c_int ]
attr:
HIPSPARSE_FORMAT_CSR: 1
HIPSPARSE_FORMAT_CSC: 2
HIPSPARSE_FORMAT_COO: 3
HIPSPARSE_FORMAT_COO_AOS: 4
HIPSPARSE_FORMAT_BLOCKED_ELL: 5
- hipsparseCsr2CscAlg_t:
bases: [c_int ]
attr:
HIPSPARSE_CSR2CSC_ALG_DEFAULT: 0
HIPSPARSE_CSR2CSC_ALG1: 1
HIPSPARSE_CSR2CSC_ALG2: 2
- hipsparseDenseToSparseAlg_t:
bases: [c_int ]
attr:
HIPSPARSE_DENSETOSPARSE_ALG_DEFAULT: 0
- hipsparseSparseToDenseAlg_t:
bases: [c_int ]
attr:
HIPSPARSE_SPARSETODENSE_ALG_DEFAULT: 0
- hipsparseSDDMMAlg_t:
bases: [c_int ]
attr:
HIPSPARSE_SDDMM_ALG_DEFAULT: 0
- hipsparseSpGEMMAlg_t:
bases: [c_int ]
attr:
HIPSPARSE_SPGEMM_DEFAULT: 0
- hipsparseSpMVAlg_t:
bases: [c_int ]
attr:
HIPSPARSE_SPMV_ALG_DEFAULT: 0
HIPSPARSE_SPMV_COO_ALG1: 1
HIPSPARSE_SPMV_CSR_ALG1: 2
HIPSPARSE_SPMV_CSR_ALG2: 3
HIPSPARSE_SPMV_COO_ALG2: 4
HIPSPARSE_SPMV_SELL_ALG1: 5
HIPSPARSE_SPMV_BSR_ALG1: 6
HIPSPARSE_SPMV_CSR_ALG3: 7
- hipsparseSpSVAlg_t:
bases: [c_int ]
attr:
HIPSPARSE_SPSV_ALG_DEFAULT: 0
- hipsparseSpSMAlg_t:
bases: [c_int ]
attr:
HIPSPARSE_SPSM_ALG_DEFAULT: 0
- hipsparseSpMMAlg_t:
bases: [c_int ]
attr:
HIPSPARSE_SPMM_ALG_DEFAULT: 0
HIPSPARSE_SPMM_COO_ALG1: 1
HIPSPARSE_SPMM_COO_ALG2: 2
HIPSPARSE_SPMM_COO_ALG3: 3
HIPSPARSE_SPMM_COO_ALG4: 5
HIPSPARSE_SPMM_CSR_ALG1: 4
HIPSPARSE_SPMM_CSR_ALG2: 6
HIPSPARSE_SPMM_CSR_ALG3: 12
HIPSPARSE_SPMM_BLOCKED_ELL_ALG1: 13
HIPSPARSE_SPMM_BSR_ALG1: 14
- hipsparseSPGEMMAlg_t:
bases: [c_int ]
attr:
HIPSPARSE_SPGEMM_DEFAULT: 0
HIPSPARSE_SPGEMM_CSR_ALG_DETERMINISTIC: 1
HIPSPARSE_SPGEMM_CSR_ALG_NONDETERMINISTIC: 2
HIPSPARSE_SPGEMM_ALG1: 3
HIPSPARSE_SPGEMM_ALG2: 4
HIPSPARSE_SPGEMM_ALG3: 5
indextype i32: &i32
- index_type_I: i32
index_type_J: i32
indextype i64i32 mixture: &i64i32
- index_type_I: i64
index_type_J: i32
indextype i64: &i64
- index_type_I: i64
index_type_J: i64
indextype i32 and i64: &i32_i64
- index_type_I: i32
index_type_J: i32
- index_type_I: i64
index_type_J: i64
indextype i32 i64i32 mixture and i64: &i32i32_i64i32_i64i64
- index_type_I: i32
index_type_J: i32
- index_type_I: i64
index_type_J: i32
- index_type_I: i64
index_type_J: i64
Real precisions: &real_precisions
- &int8_int8_int32_xyt_precision
{ x_type: i8_r, y_type: i8_r, compute_type: i32_r }
- &int8_int8_float32_xyt_precision
{ x_type: i8_r, y_type: i8_r, compute_type: f32_r }
- &float16_float16_float32_xyt_precision
{ x_type: f16_r, y_type: f16_r, compute_type: f32_r }
- &bfloat16_bfloat16_float32_xyt_precision
{ x_type: bf16_r, y_type: bf16_r, compute_type: f32_r }
- &int8_int8_int32_int32_axyt_precision
{ a_type: i8_r, x_type: i8_r, y_type: i32_r, compute_type: i32_r }
- &int8_int8_float32_float32_axyt_precision
{ a_type: i8_r, x_type: i8_r, y_type: f32_r, compute_type: f32_r }
- &float16_float16_float32_float32_axyt_precision
{ a_type: f16_r, x_type: f16_r, y_type: f32_r, compute_type: f32_r }
- &float16_float16_float16_float32_axyt_precision
{ a_type: f16_r, x_type: f16_r, y_type: f16_r, compute_type: f32_r }
- &bfloat16_bfloat16_float32_float32_axyt_precision
{ a_type: bf16_r, x_type: bf16_r, y_type: f32_r, compute_type: f32_r }
- &bfloat16_bfloat16_bfloat16_float32_axyt_precision
{ a_type: bf16_r, x_type: bf16_r, y_type: bf16_r, compute_type: f32_r }
- &int8_int8_int32_int32_abct_precision
{ a_type: i8_r, b_type: i8_r, c_type: i32_r, compute_type: i32_r }
- &int8_int8_float32_float32_abct_precision
{ a_type: i8_r, b_type: i8_r, c_type: f32_r, compute_type: f32_r }
- &float16_float16_float32_float32_abct_precision
{ a_type: f16_r, b_type: f16_r, c_type: f32_r, compute_type: f32_r }
- &int8_precision
{ a_type: i8_r, b_type: i8_r, c_type: i8_r, x_type: i8_r, y_type: i8_r, compute_type: i8_r }
- &half_precision
{ a_type: f16_r, b_type: f16_r, c_type: f16_r, x_type: f16_r, y_type: f16_r, compute_type: f16_r }
- &bfloat16_precision
{ a_type: bf16_r, b_type: bf16_r, c_type: bf16_r, x_type: bf16_r, y_type: bf16_r, compute_type: bf16_r }
- &single_precision
{ a_type: f32_r, b_type: f32_r, c_type: f32_r, x_type: f32_r, y_type: f32_r, compute_type: f32_r }
- &double_precision
{ a_type: f64_r, b_type: f64_r, c_type: f64_r, x_type: f64_r, y_type: f64_r, compute_type: f64_r }
- &float32_float64_float64_float64
{ a_type: f32_r, x_type: f64_r, y_type: f64_r, compute_type: f64_r }
- &float16_float32_axpby_precision
{ x_type: f16_r, y_type: f16_r, compute_type: f32_r }
- &bfloat16_float32_axpby_precision
{ x_type: bf16_r, y_type: bf16_r, compute_type: f32_r }
Complex precisions: &complex_precisions
- &float32_cmplx32_cmplx32_cmplx32_axyt_precision
{ a_type: f32_r, x_type: f32_c, y_type: f32_c, compute_type: f32_c }
- &float64_cmplx64_cmplx64_cmplx64_axyt_precision
{ a_type: f64_r, x_type: f64_c, y_type: f64_c, compute_type: f64_c }
- &single_precision_complex
{ a_type: f32_c, b_type: f32_c, c_type: f32_c, x_type: f32_c, y_type: f32_c, compute_type: f32_c }
- &double_precision_complex
{ a_type: f64_c, b_type: f64_c, c_type: f64_c, x_type: f64_c, y_type: f64_c, compute_type: f64_c }
- &cmplx32_cmplx64_cmplx64_cmplx64
{ a_type: f32_c, x_type: f64_c, y_type: f64_c, compute_type: f64_c }
C precisions real: &single_only_precisions
- *single_precision
C precisions real: &double_only_precisions
- *double_precision
C precisions real: &single_double_precisions
- *single_precision
- *double_precision
C precisions complex: &single_only_precisions_complex
- *single_precision_complex
C precisions complex: &double_only_precisions_complex
- *double_precision_complex
C precisions complex: &single_double_precisions_complex
- *single_precision_complex
- *double_precision_complex
C precisions complex and real: &single_double_precisions_complex_real
- *single_precision
- *double_precision
- *single_precision_complex
- *double_precision_complex
C precisions complex and real: &single_only_precisions_complex_real
- *single_precision
- *single_precision_complex
C precisions complex and real: &double_only_precisions_complex_real
- *double_precision
- *double_precision_complex
C spvv mixed precisions: &spvv_mixed_precisions
- *int8_int8_int32_xyt_precision
- *int8_int8_float32_xyt_precision
- *float16_float16_float32_xyt_precision
- *bfloat16_bfloat16_float32_xyt_precision
C precisions scatter: &scatter_precisions
- *int8_precision
- *half_precision
- *bfloat16_precision
- *single_precision
- *double_precision
- *single_precision_complex
- *double_precision_complex
C precisions axpby mixed: &axpby_mixed_precisions
- *float16_float32_axpby_precision
- *bfloat16_float32_axpby_precision
C precisions axpby all: &axpby_all_precisions
- *single_precision
- *double_precision
- *single_precision_complex
- *double_precision_complex
- *float16_float32_axpby_precision
- *bfloat16_float32_axpby_precision
# Precisions supported by hipsparseGather (uniform precision only: X == Y).
# Includes int8, fp16, bf16, fp32, fp64, complex32, and complex64.
C precisions gather: &gather_precisions
- *int8_precision
- *half_precision
- *bfloat16_precision
- *single_precision
- *double_precision
- *single_precision_complex
- *double_precision_complex
SpMV mixed precisions: &spmv_mixed_precisions
- *int8_int8_int32_int32_axyt_precision
- *int8_int8_float32_float32_axyt_precision
- *float16_float16_float32_float32_axyt_precision
- *float16_float16_float16_float32_axyt_precision
- *bfloat16_bfloat16_float32_float32_axyt_precision
- *bfloat16_bfloat16_bfloat16_float32_axyt_precision
- *float32_float64_float64_float64
- *cmplx32_cmplx64_cmplx64_cmplx64
- *float32_cmplx32_cmplx32_cmplx32_axyt_precision
- *float64_cmplx64_cmplx64_cmplx64_axyt_precision
# The Arguments struct passed directly to C++. See hipsparse_arguments.hpp.
# The order of the entries is significant, so it can't simply be a dictionary.
# The types on the RHS are eval'd for Python-recognized types including ctypes
# and datatypes defined in Datatypes above. T*n represents array of length n.
Arguments:
- M: c_int
- N: c_int
- K: c_int
- nnz: c_int
- block_dim: c_int
- row_block_dimA: c_int
- col_block_dimA: c_int
- row_block_dimB: c_int
- col_block_dimB: c_int
- lda: c_int
- ldb: c_int
- ldc: c_int
- batch_count: c_int
- index_type_I: hipsparseIndexType_t
- index_type_J: hipsparseIndexType_t
- a_type: hipDataType
- x_type: hipDataType
- y_type: hipDataType
- compute_type: hipDataType
- alpha: c_double
- alphai: c_double
- beta: c_double
- betai: c_double
- threshold: c_double
- percentage: c_double
- c: c_double
- s: c_double
- transA: hipsparseOperation_t
- transB: hipsparseOperation_t
- baseA: hipsparseIndexBase_t
- baseB: hipsparseIndexBase_t
- baseC: hipsparseIndexBase_t
- baseD: hipsparseIndexBase_t
- action: hipsparseAction_t
- part: hipsparseHybPartition_t
- diag_type: hipsparseDiagType_t
- fill_mode: hipsparseFillMode_t
- solve_policy: hipsparseSolvePolicy_t
- dirA: hipsparseDirection_t
- orderA: hipsparseOrder_t
- orderB: hipsparseOrder_t
- orderC: hipsparseOrder_t
- formatA: hipsparseFormat_t
- formatB: hipsparseFormat_t
- csr2csc_alg: hipsparseCsr2CscAlg_t
- dense2sparse_alg: hipsparseDenseToSparseAlg_t
- sparse2dense_alg: hipsparseSparseToDenseAlg_t
- sddmm_alg: hipsparseSDDMMAlg_t
- spgemm_alg: hipsparseSpGEMMAlg_t
- spmm_alg: hipsparseSpMMAlg_t
- spmv_alg: hipsparseSpMVAlg_t
- spsm_alg: hipsparseSpSMAlg_t
- spsv_alg: hipsparseSpSVAlg_t
- numericboost: c_int
- boosttol: c_double
- boostval: c_double
- boostvali: c_double
- slice_size: c_int
- ell_width: c_int
- permute: c_int
- gtsv_alg: c_int
- gpsv_alg: c_int
- unit_check: c_int
- timing: c_int
- iters: c_int
- graph_test: c_bool
- call_preprocess: c_bool
- filename: c_char*192
- function: c_char*64
- category: c_char*32
# These named dictionary lists [ {dict1}, {dict2}, etc. ] supply subsets of
# test arguments in a structured way. The dictionaries are applied to the test
# one at a time, to generate combinations. If one of this table's entries is
# a dictionary of size one, it means that the argument named by its key takes
# on values paired with argument named by its value. For example:
#
# - function: precision
#
# when used with the code:
#
# function:
# func1: prec1
# func2: prec2
# func3: prec3
#
# causes (function, precision) to take on the values (func1, prec1),
# (func2, prec2), (func3, prec3), etc.
Dictionary lists to expand:
- arguments
- M_N
- M_N_K
- transA_transB
- alpha_beta
- alpha_alphai
- beta_betai
- alphai_betai
- boostval_boostvali
- indextype
- precision
- function: precision
# In case an array argument needs to be passed directly to C as an array,
# it needs to be listed here to avoid being expanded into multiple test
# cases with each of its elements.
Lists to not expand:
- e.g., an array argument not to be expanded
# Defaults
Defaults:
M: -1
N: -1
K: -1
nnz: -1
block_dim: 2
row_block_dimA: 2
col_block_dimA: 2
row_block_dimB: 2
col_block_dimB: 2
lda: 1
ldb: 1
ldc: 1
batch_count: -1
index_type_I: i32
index_type_J: i32
a_type: f32_r
x_type: f32_r
y_type: f32_r
compute_type: f32_r
x_type: f32_r
y_type: f32_r
alpha: 1.0
alphai: 0.0
beta: 0.0
betai: 0.0
threshold: 1.0
percentage: 0.0
c: 1.0
s: 1.0
transA: HIPSPARSE_OPERATION_NON_TRANSPOSE
transB: HIPSPARSE_OPERATION_NON_TRANSPOSE
baseA: HIPSPARSE_INDEX_BASE_ZERO
baseB: HIPSPARSE_INDEX_BASE_ZERO
baseC: HIPSPARSE_INDEX_BASE_ZERO
baseD: HIPSPARSE_INDEX_BASE_ZERO
action: HIPSPARSE_ACTION_NUMERIC
part: HIPSPARSE_HYB_PARTITION_AUTO
diag_type: HIPSPARSE_DIAG_TYPE_NON_UNIT
fill_mode: HIPSPARSE_FILL_MODE_LOWER
solve_policy: HIPSPARSE_SOLVE_POLICY_USE_LEVEL
dirA: HIPSPARSE_DIRECTION_ROW
orderA: HIPSPARSE_ORDER_COL
orderB: HIPSPARSE_ORDER_COL
orderC: HIPSPARSE_ORDER_COL
formatA: HIPSPARSE_FORMAT_CSR
formatB: HIPSPARSE_FORMAT_CSR
csr2csc_alg: HIPSPARSE_CSR2CSC_ALG_DEFAULT
dense2sparse_alg: HIPSPARSE_DENSETOSPARSE_ALG_DEFAULT
sparse2dense_alg: HIPSPARSE_SPARSETODENSE_ALG_DEFAULT
sddmm_alg: HIPSPARSE_SDDMM_ALG_DEFAULT
spgemm_alg: HIPSPARSE_SPGEMM_DEFAULT
spmm_alg: HIPSPARSE_SPMM_ALG_DEFAULT
spmv_alg: HIPSPARSE_SPMV_ALG_DEFAULT
spsm_alg: HIPSPARSE_SPSM_ALG_DEFAULT
spsv_alg: HIPSPARSE_SPSV_ALG_DEFAULT
numericboost: 0
boosttol: 0.0
boostval: 1.0
boostvali: 0.0
slice_size: 2
ell_width: 0
permute: 0
gtsv_alg: 0
gpsv_alg: 0
unit_check: 1
timing: 0
iters: 10
graph_test: false
call_preprocess: false
filename: '*'
function: '*'
category: '*'