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

329 lines
10 KiB
YAML

---
include: rocblas_common.yaml
include: known_bugs.yaml
Definitions:
- &invalid_size_range
- { M: 3, N: 3, lda: 3, ldb: 3, ldc: 3, stride_scale: 1, batch_count: -1 } # batch_count < 0
- { M: -1, N: 1, lda: 1, ldb: 1, ldc: 1, stride_scale: 1 } # M < 0
- { M: 1, N: -1, lda: 1, ldb: 1, ldc: 1, stride_scale: 1 } # N < 0
- { M: 2, N: 2, lda: 1, ldb: 2, ldc: 2, stride_scale: 1 } # lda < M
- { M: 2, N: 2, lda: 2, ldb: 1, ldc: 2, stride_scale: 1 } # ldb < M
- { M: 2, N: 2, lda: 2, ldb: 2, ldc: 1, stride_scale: 1 } # ldc < M
- &small_matrix_size_range
- { M: 0, N: 1, lda: 1, ldb: 1, ldc: 1 } # M == 0
- { M: 1, N: 0, lda: 1, ldb: 1, ldc: 1 } # N == 0
- { M: 3, N: 33, lda: 35, ldb: 35, ldc: 35 }
- { M: 10, N: 11, lda: 100, ldb: 12, ldc: 13 }
- &tiny_matrix_size
- { M: 192, N: 193, lda: 194, ldb: 195, ldc: 196 }
- &large_matrix_size_range
- { M: 192, N: 193, lda: 194, ldb: 195, ldc: 196 }
- { M: 192, N: 192, lda: 192, ldb: 192, ldc: 192 }
- { M: 640, N: 641, lda: 960, ldb: 961, ldc: 962 }
- { M: 1001, N: 1000, lda: 1003, ldb: 1002, ldc: 1001 }
- &huge_matrix_size_range
- { M: 4011, N: 4012, lda: 4012, ldb: 4013, ldc: 4014 }
- &small_alpha_beta_range
- { alpha: 0.0, beta: 0.0 }
- { alpha: 2.0, beta: 0.0 }
- { alpha: 0.0, beta: 2.0 }
- { alpha: -3.0, beta: -2.0 }
- &large_alpha_beta_range
- { alpha: 2.0, beta: 0.0 }
- { alpha: 0.0, beta: 2.0 }
- { alpha: -2.0, beta: -3.0 }
- &huge_alpha_beta_range
- { alpha: 1.0, beta: 3.0 }
- &small_complex_alpha_beta_range
- { alpha: 2, beta: 0, alphai: 0, betai: 0 }
- { alpha: 0, beta: 2, alphai: 0, betai: 0 }
- { alpha: 0, beta: 0, alphai: 2, betai: 0 }
- { alpha: 0, beta: 0, alphai: 0, betai: 2 }
- { alpha: -2, beta: -3, alphai: -4, betai: -5 }
- &large_complex_alpha_beta_range
- { alpha: 1, beta: 2, alphai: 3, betai: 4 }
- { alpha: 1, beta: 0, alphai: 5, betai: 0 }
- &huge_complex_alpha_beta_range
- { alpha: 4, beta: 3, alphai: 2, betai: 1 }
- &transA_transB_range
- { transA: [N,T,C], transB: [N,T,C] }
- &tiny_transA_transB_range
- { transA: N, transB: N }
Tests:
- name: bad_arg
category: quick
function:
- geam_bad_arg
- geam_batched_bad_arg
- geam_strided_batched_bad_arg
precision: *single_double_precisions_complex_real
api: [ C, FORTRAN ]
- name: invalid_size
category: quick
function:
- geam
- geam_batched
- geam_strided_batched
precision: *single_double_precisions
transA: [N]
transB: [N]
matrix_size: *invalid_size_range
api: [ C, FORTRAN ]
- name: geam_size_t
category: stress
function: geam
precision: *single_precision
arguments:
# inplace has matching leading dims and can't be tranpose
- { transA: N, transB: N, M: 2048, N: 2048, lda: 1049100, ldb: 2048, ldc: 1049100 }
- { transA: N, transB: T, M: 2048, N: 2048, lda: 1049100, ldb: 2048, ldc: 1049100 }
- { transA: N, transB: N, M: 2048, N: 2048, lda: 2048, ldb: 1049100, ldc: 1049100 }
- { transA: T, transB: N, M: 2048, N: 2048, lda: 2048, ldb: 1049100, ldc: 1049100 }
# iterate over large leading dims for A, B, C for all tranposes
- { transA: N, transB: N, M: 2048, N: 2048, lda: 1049100, ldb: 2048, ldc: 2048 }
- { transA: N, transB: N, M: 2048, N: 2048, lda: 2048, ldb: 1049100, ldc: 2048 }
- { transA: N, transB: N, M: 2048, N: 2048, lda: 2048, ldb: 2048, ldc: 1049100 }
- { transA: N, transB: T, M: 2048, N: 2048, lda: 1049100, ldb: 2048, ldc: 2048 }
- { transA: N, transB: T, M: 2048, N: 2048, lda: 2048, ldb: 1049100, ldc: 2048 }
- { transA: N, transB: T, M: 2048, N: 2048, lda: 2048, ldb: 2048, ldc: 1049100 }
- { transA: T, transB: N, M: 2048, N: 2048, lda: 1049100, ldb: 2048, ldc: 2048 }
- { transA: T, transB: N, M: 2048, N: 2048, lda: 2048, ldb: 1049100, ldc: 2048 }
- { transA: T, transB: N, M: 2048, N: 2048, lda: 2048, ldb: 2048, ldc: 1049100 }
- { transA: T, transB: T, M: 2048, N: 2048, lda: 1049100, ldb: 2048, ldc: 2048 }
- { transA: T, transB: T, M: 2048, N: 2048, lda: 2048, ldb: 1049100, ldc: 2048 }
- { transA: T, transB: T, M: 2048, N: 2048, lda: 2048, ldb: 2048, ldc: 1049100 }
alpha_beta:
- { alpha: 1.0, beta: 1.0 }
stride_scale: [ 1 ]
batch_count: [ 1 ]
pointer_mode_device: false
gpu_arch: ['90a','942','950']
os_flags: LINUX
- name: geam_NaN
category: quick
function: geam
precision: *single_double_precisions
transA_transB: *transA_transB_range
matrix_size: *tiny_matrix_size
alpha: [ 1.0, .NaN ] # NaN is converted to 0.0 in test code
beta: [ 0.5, 1.0, .NaN ]
- name: geam_small
category: quick
function: geam
precision: *single_double_precisions
transA_transB: *transA_transB_range
matrix_size: *small_matrix_size_range
alpha_beta: *small_alpha_beta_range
api: [ C, FORTRAN ]
- name: geam_batched_NaN
category: quick
function: geam_batched
precision: *single_precision_complex
transA_transB: *tiny_transA_transB_range
matrix_size: *tiny_matrix_size
alpha: [ 1.0, .NaN ] # NaN is converted to 0.0 in test code
beta: [ 1.5, .NaN ]
batch_count: [ 2 ]
- name: geam_batched_small
category: quick
function: geam_batched
precision: *single_double_precisions
transA_transB: *transA_transB_range
matrix_size: *small_matrix_size_range
alpha_beta: *small_alpha_beta_range
batch_count: [ 1, 2 ]
api: [ C, FORTRAN ]
- name: geam_strided_batched_NaN
category: quick
function: geam_strided_batched
precision: *double_precision_complex
transA_transB: *tiny_transA_transB_range
matrix_size: *tiny_matrix_size
alpha: [ 1.0, .NaN ] # NaN is converted to 0.0 in test code
beta: [ 1.5, .NaN ]
stride_scale: [ 2 ]
batch_count: [ 2 ]
- name: geam_strided_batched_small
category: quick
function: geam_strided_batched
precision: *single_double_precisions
transA_transB: *transA_transB_range
matrix_size: *small_matrix_size_range
alpha_beta: *small_alpha_beta_range
stride_scale: [ 2 ]
batch_count: [ 2 ]
api: [ C, FORTRAN ]
- name: geam_small_complex
category: quick
function: geam
precision: *single_double_precisions_complex
transA_transB: *transA_transB_range
matrix_size: *small_matrix_size_range
alpha_beta: *small_complex_alpha_beta_range
api: [ C, FORTRAN ]
- name: geam_batched_small_complex
category: quick
function: geam_batched
precision: *single_double_precisions_complex
transA_transB: *transA_transB_range
matrix_size: *small_matrix_size_range
alpha_beta: *small_complex_alpha_beta_range
batch_count: [ 2 ]
api: [ C, FORTRAN ]
- name: geam_strided_batched_small_complex
category: quick
function: geam_strided_batched
precision: *single_double_precisions_complex
transA_transB: *transA_transB_range
matrix_size: *small_matrix_size_range
alpha_beta: *small_complex_alpha_beta_range
stride_scale: [ 2 ]
batch_count: [ 2 ]
api: [ C, FORTRAN ]
- name: geam_large
category: pre_checkin
function: geam
precision: *single_double_precisions
transA_transB: *transA_transB_range
matrix_size: *large_matrix_size_range
alpha_beta: *large_alpha_beta_range
- name: geam_large_complex
category: pre_checkin
function: geam
precision: *single_double_precisions_complex
transA_transB: *transA_transB_range
matrix_size: *large_matrix_size_range
alpha_beta: *large_complex_alpha_beta_range
pointer_mode_device: false # more kernels for host only
- name: geam_batched_large_complex
category: pre_checkin
function: geam_batched
precision: *single_double_precisions_complex
transA_transB: *transA_transB_range
matrix_size: *large_matrix_size_range
alpha_beta: *large_complex_alpha_beta_range
batch_count: [ 2 ]
pointer_mode_device: false
- name: geam_strided_batched_large_complex
category: pre_checkin
function: geam_strided_batched
precision: *single_double_precisions_complex
transA_transB: *transA_transB_range
matrix_size: *large_matrix_size_range
alpha_beta: *large_complex_alpha_beta_range
stride_scale: [ 2 ]
batch_count: [ 2 ]
- name: geam_huge
category: nightly
function: geam
precision: *single_double_precisions
transA_transB: *transA_transB_range
matrix_size: *huge_matrix_size_range
alpha_beta: *huge_alpha_beta_range
- name: geam_huge_complex
category: nightly
function: geam
precision: *single_double_precisions_complex
transA_transB: *transA_transB_range
matrix_size: *huge_matrix_size_range
alpha_beta: *huge_complex_alpha_beta_range
pointer_mode_device: false
- name: geam_large_batch
category: pre_checkin # TODO
arguments:
- { M: 2, N: 2, lda: 2, ldb: 2, ldc: 2, batch_count: *c_grid_yz_require_passes, transA: T, transB: T }
alpha: [1.0, 0.0]
beta: 1.0
function:
- geam_batched: *single_precision
- geam_strided_batched: *single_precision
stride_scale: 1
- name: geam_ILP64
category: stress
arguments:
- { M: 2147483649, N: 1, lda: 2147483659, ldb: 2147483669, ldc: 2147483689, batch_count: 1, transA: N, transB: N}
- { M: 1, N: 2147483649, lda: 2147483649, ldb: 1, ldc: 1, batch_count: 1, transA: T, transB: N }
- { M: 2147483649, N: 1, lda: 2147483659, ldb: 1, ldc: 2147483689, batch_count: 1, transA: N, transB: T}
- { M: 2, N: 2, lda: 2, ldb: 2, ldc: 2, batch_count: *c_grid_yz_require_passes, transA: T, transB: T }
api: [ C_64 ]
alpha_beta: *huge_alpha_beta_range
os_flags: [ LINUX ]
function:
- geam_strided_batched: *single_precision
stride_scale: 1
gpu_arch: '9??'
- name: geam_graph_test
category: pre_checkin
function:
- geam
- geam_batched
- geam_strided_batched
precision: *single_double_precisions_complex
transA: [N]
transB: [N]
matrix_size:
- { M: 192, N: 193, lda: 194, ldb: 195, ldc: 196 }
stride_scale: [ 1 ]
batch_count: [ 2 ]
alpha_beta: *small_complex_alpha_beta_range
graph_test: true
- name: geam_repeatability_check
category: stress
function:
- geam
- geam_batched
- geam_strided_batched
precision: *single_double_precisions_complex
initialization: hpl
transA: [N]
transB: [N]
matrix_size:
- { M: 192, N: 193, lda: 194, ldb: 195, ldc: 196 }
stride_scale: [ 1 ]
batch_count: [ 2 ]
alpha_beta: *small_complex_alpha_beta_range
atomics_mode : 0
pointer_mode_host: false
iters: 5
devices: 4
repeatability_check: true
...