Files
TheRock/rocm-libraries/projects/rocblas/clients/gtest/syrk_gtest.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

308 lines
9.0 KiB
YAML

---
include: rocblas_common.yaml
include: known_bugs.yaml
Definitions:
- &quick_matrix_size_range
- { N: -1, lda: 1, K: 1, ldc: 1 } # bad n
- { N: 2, lda: 2, K: -1, ldc: 1 } # bad k
- { N: 0, lda: 3, K: 3, ldc: 3 } # n==0
- { N: 3, lda: 3, K: 0, ldc: 3 } # k==0
- { N: 3, lda: 1, K: 1, ldc: 3 } # bad lda if not transpose
- { N: 1, lda: 1, K: 3, ldc: 3 } # bad lda if transpose
- { N: 3, lda: 3, K: 3, ldc: 1 } # bad ldc
- &tiny_matrix_size
- { N: 199, lda: 199, K: 32, ldc: 199 }
#test the kernels which uses only gemm to compute syrk
- { N: 2, lda: 501, K: 501, ldc: 2 }
- &medium_matrix_size_range
- { N: 199, lda: 199, K: 32, ldc: 199 }
- { N: 88, lda: 200, K: 200, ldc: 88 }
#test the kernels which uses only gemm to compute syrk
- { N: 51, lda: 201, K: 201, ldc: 51 }
- { N: 601, lda: 806, K: 805, ldc: 601 }
- &large_matrix_size_range
- { N: 2011, lda: 2011, K: 253, ldc: 2048 }
- { N: 5000, lda: 5008, K: 164, ldc: 5000 }
#test the kernels which uses only gemm to compute syrk
- { N: 601, lda: 2001, K: 2001, ldc: 601 }
- { N: 64, lda: 5000, K: 5000, ldc: 64 }
- &alpha_beta_range
- { alpha: 1.5, alphai: 1.5, beta: 0.0, betai: 0.0 }
- { alpha: -2.0, alphai: 1.0, beta: -1.0, betai: 0.5 }
- { alpha: 0.0, alphai: 0.0, beta: 1.0, betai: 0.0 } # quick success
- { alpha: 0.0, alphai: 0.0, beta: 2.0, betai: 0.5 } # scale step only
- &alpha_beta
- { alpha: -1.0, alphai: 0.5, beta: -0.5, betai: 0.5 }
# These larger values below on large_matrices require a tolerance rather than equality
# due to least significant digit difference CPU to GPU on windows
# I expect only accumulation difference from scheduling variation on windows
# - { alpha: -2.1, alphai: 1.3, beta: -0.5, betai: 0.6 }
Tests:
- name: syrk_bad
category: quick
function:
- syrk_bad_arg
- syrk_batched_bad_arg
- syrk_strided_batched_bad_arg
precision: *single_double_precisions_complex_real
api: [ C, FORTRAN, FORTRAN_64 ]
# non batched
- name: syrk_size_t_T
category: stress
function: syrk
precision: *single_precision
uplo: [ L, U ]
transA: [ T ] # A is KxN for tranpose, C is NxN
matrix_size:
- { N: 51201, ldc: 51201, K: 4, lda: 4 }
- { N: 51200, ldc: 51200, K: 8, lda: 8 } # N mod 32 == 0 && k % 8 == 0
- { N: 51200, ldc: 51200, K: 16, lda: 16 } # N mod 16 == 0 && k % 16 == 0
- { N: 51200, ldc: 51200, K: 7, lda: 7 } # N mod 16 == 0 && k % 16 != 0
- { N: 4, ldc: 4, K: 51201, lda: 51201 }
- { N: 32, ldc: 32, K: 51200, lda: 51200 } # N mod 32 == 0 && k % 8 == 0
alpha_beta:
- { alpha: 0.5, alphai: 0.0, beta: 0.5, betai: 0.0 }
pointer_mode_host: false
gpu_arch: ['90a','942','950']
os_flags: LINUX
- name: syrk_size_t_N
category: stress
function: syrk
precision: *single_precision
uplo: [ L, U ]
transA: [ N ] # A is NxK, C is NxN
matrix_size:
- { N: 51201, ldc: 51201, K: 4, lda: 51201 }
- { N: 51200, ldc: 51200, K: 8, lda: 51200 } # N mod 32 == 0 && k % 8 == 0
- { N: 51200, ldc: 51200, K: 16, lda: 51200 } # N mod 16 == 0 && k % 16 == 0
- { N: 51200, ldc: 51200, K: 7, lda: 51200 } # N mod 16 == 0 && k % 16 != 0
- { N: 4, ldc: 4, K: 51201, lda: 4 }
- { N: 32, ldc: 32, K: 51200, lda: 32 } # N mod 32 == 0 && k % 8 == 0
alpha_beta:
- { alpha: 0.5, alphai: 0.0, beta: 0.5, betai: 0.0 }
pointer_mode_host: false
gpu_arch: ['90a','942','950']
os_flags: LINUX
- name: syrk_quick
category: quick
function: syrk
precision: *single_double_precisions_complex
uplo: [ U ]
transA: [ N, T ]
matrix_size: *quick_matrix_size_range
alpha: [ 0 ]
beta: [ 1 ]
- name: syrk_conj
category: quick
function: syrk
precision: *single_double_precisions # only supported for real types
uplo: [ U ]
transA: [ C ]
matrix_size: *tiny_matrix_size
alpha: [ 2.0 ]
beta: [ 2.0 ]
- name: syrk_NaN
category: pre_checkin
function: syrk
precision: *single_double_precisions_complex
uplo: [ U ]
transA: [ N ]
matrix_size: *tiny_matrix_size
alpha: [ 2.0, .NaN ] # NaN is converted to 0.0 in test code
beta: [ 1.0, .NaN ]
- name: syrk_medium
category: pre_checkin
function: syrk
precision: *single_double_precisions
uplo: [ U, L ]
transA: [N, T]
matrix_size: *medium_matrix_size_range
alpha_beta: *alpha_beta_range
api: [ C, FORTRAN ]
- name: syrk_large
category: nightly
function: syrk
precision: *single_double_precisions_complex_real
uplo: [ L ]
transA: [N, T]
matrix_size: *large_matrix_size_range
alpha_beta: *alpha_beta
pointer_mode_host: false
# batched
- name: syrk_batched_quick
category: quick
function: syrk_batched
precision: *single_double_precisions_complex
uplo: [ U ]
transA: [ N, T ]
matrix_size: *quick_matrix_size_range
alpha: [ 0 ]
beta: [ 1 ]
batch_count: [ 0, 1 ]
- name: syrk_batched_NaN
category: pre_checkin
function: syrk_batched
precision: *double_precision
uplo: [ L ]
transA: [ N ]
matrix_size: *tiny_matrix_size
alpha: [ 2.0, .NaN ] # NaN is converted to 0.0 in test code
beta: [ 1.0, .NaN ]
batch_count: [ 2 ]
- name: syrk_batched_medium
category: pre_checkin
function: syrk_batched
precision: *single_double_precisions
uplo: [ U, L ]
transA: [N, T]
matrix_size: *medium_matrix_size_range
alpha_beta: *alpha_beta_range
batch_count: [ 1, 7 ]
api: [ C, FORTRAN ]
- name: syrk_batched_large
category: nightly
function: syrk_batched
precision: *single_double_precisions_complex_real
uplo: [ U, L ]
transA: [N]
matrix_size: *large_matrix_size_range
alpha_beta: *alpha_beta
batch_count: [ 2 ]
pointer_mode_device: false
# strided batched
- name: syrk_strided_batched_quick
category: quick
function: syrk_strided_batched
precision: *single_double_precisions_complex
uplo: [ U ]
transA: [ N, T ]
matrix_size: *quick_matrix_size_range
alpha: [ 0 ]
beta: [ 1 ]
batch_count: [ 0, 1 ]
- name: syrk_strided_batched_NaN
category: pre_checkin
function: syrk_strided_batched
precision: *single_precision
uplo: [ U ]
transA: [ N ]
matrix_size: *tiny_matrix_size
alpha: [ 2.0, .NaN ] # NaN is converted to 0.0 in test code
beta: [ 1.0, .NaN ]
batch_count: [ 2 ]
- name: syrk_strided_batched_medium
category: pre_checkin
function: syrk_strided_batched
precision: *single_double_precisions
uplo: [ U, L ]
transA: [N, T]
matrix_size: *medium_matrix_size_range
alpha_beta: *alpha_beta_range
batch_count: [ 1, 7 ]
api: [ C, FORTRAN ]
- name: syrk_strided_batched_large
category: nightly
function: syrk_strided_batched
precision: *single_double_precisions_complex_real
uplo: [ U, L ]
transA: [N]
matrix_size: *large_matrix_size_range
alpha_beta: *alpha_beta
batch_count: [ 2 ]
pointer_mode_host: false
- name: syrk_large_batch
category: stress
uplo: [ U, L ]
arguments:
- { N: 2, K: 2, lda: 2, ldb: 2, ldc: 2, batch_count: *c_grid_yz_require_passes, transA: T}
alpha_beta:
- { alpha: 1.0, beta: 1.0 }
function:
- syrk_batched: *single_precision
- syrk_strided_batched: *single_precision
stride_scale: 1
- name: syrk_ILP64
category: stress
uplo: [ U, L ]
arguments:
#- { N: 1, K: 2147483649, lda: 1, ldb: 1, batch_count: 1, transA: N } #TODO: Commenting out big tests due to alarm time out
#- { N: 1, K: 2147483649, lda: 2147483649, ldc: 1, batch_count: 1, transA: T } #TODO: Commenting out big tests due to alarm time out
- { N: 35, K: 2, lda: 2147483649, ldc: 36, batch_count: 1, transA: N }
- { N: 2, K: 35, lda: 36, ldb: 2147483649, ldc: 2147483649, batch_count: 1, transA: T }
- { N: 2, K: 2, lda: 2, ldc: 2, batch_count: *c_grid_yz_require_passes, transA: T}
- { N: 2011, K: 253, lda: 2011, ldc: 2048, batch_count: 3, transA: N }
- { N: 1024, K: 1200, lda: 1200, ldc: 1024, batch_count: 2, transA: T }
api: [ C_64 ]
alpha_beta:
- { alpha: 1.0, beta: 1.0 }
os_flags: [ LINUX ]
function:
- syrk_strided_batched: *single_precision
stride_scale: 1
#gpu_arch: '9??'
- name: syrk_graph_test
category: pre_checkin
function:
- syrk
- syrk_batched
- syrk_strided_batched
precision: *single_double_precisions
uplo: [ L ]
transA: [ N, T ]
matrix_size:
- { N: 199, K: 33, lda: 199, ldb: 199, ldc: 199 }
alpha_beta: *alpha_beta_range
batch_count: [ 2 ]
graph_test: true
- name: syrk_repeatability_check
category: stress
function:
- syrk
- syrk_batched
- syrk_strided_batched
precision: *single_double_precisions
pointer_mode_host: false
initialization: hpl
atomics_mode: 0
iters: 5
uplo: [ L ]
transA: [ N, T ]
matrix_size:
- { N: 199, K: 33, lda: 199, ldb: 199, ldc: 199 }
alpha_beta: *alpha_beta_range
batch_count: [ 2 ]
stride_scale: 1
devices: 4
repeatability_check: true
...