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

333 lines
8.6 KiB
YAML

---
include: rocblas_common.yaml
include: known_bugs.yaml
Definitions:
- &size_t_m_n_lda_ldb_ldc
- { M: 4096, N: 4096, lda: 1048600, ldb: 4096, ldc: 4096 }
- { M: 4096, N: 4096, lda: 4096, ldb: 1048600, ldc: 4096 }
- { M: 4096, N: 4096, lda: 4096, ldb: 4096, ldc: 1048600 }
- &quick_matrix_size_range
- { M: -1, N: 1, lda: 1, ldb: 1, ldc: 1 } # bad n
- { M: 2, N: -1, lda: 2, ldb: 2, ldc: 1 } # bad k
- { M: 0, N: 3, lda: 3, ldb: 3, ldc: 3 } # n==0
- { M: 3, N: 0, lda: 3, ldb: 3, ldc: 3 } # k==0
- { M: 3, N: 3, lda: 1, ldb: 3, ldc: 3 } # bad lda
- { M: 1, N: 3, lda: 1, ldb: 3, ldc: 3 } # bad lda if right
- { M: 3, N: 3, lda: 3, ldb: 1, ldc: 3 } # bad ldb
- { M: 3, N: 3, lda: 3, ldb: 3, ldc: 1 } # bad ldc
- &alpha_beta_quick_range
- { 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
- &tiny_matrix_size
- { M: 88, N: 100, lda: 200, ldb: 88, ldc: 88 }
- &medium_matrix_size_range
- { M: 12, N: 33, lda: 33, ldb: 33, ldc: 33 }
- { M: 88, N: 100, lda: 200, ldb: 88, ldc: 88 }
- { M: 199, N: 290, lda: 290, ldb: 290, ldc: 200 }
- &large_matrix_size_range
- { M: 2011, N: 253, lda: 2011, ldb: 2011, ldc: 2048 }
- { M: 1024, N: 1200, lda: 1200, ldb: 1200, ldc: 1024 }
- &alpha_beta_range
- { alpha: 1.5, alphai: 1.5, beta: 2.0, betai: 0.0 }
- { alpha: -2.0, alphai: 1.0, beta: -1.0, betai: 0.5 }
- &alpha_beta
- { alpha: 0.5, alphai: 0.5, beta: -0.5, betai: 0.5 }
Tests:
- name: hemm_bad
category: quick
function:
- hemm_bad_arg
- hemm_batched_bad_arg
- hemm_strided_batched_bad_arg
precision: *single_double_precisions_complex
api: [ C, FORTRAN, FORTRAN_64 ]
- name: hemm_quick
category: quick
function: hemm
precision: *single_double_precisions_complex
uplo: [ U ]
side: [ L, R ]
matrix_size: *quick_matrix_size_range
alpha: [ 0, 1 ]
beta: [ 0, 1 ]
- name: hemm_NaN
category: pre_checkin
function: hemm
precision: *single_double_precisions_complex
uplo: [ U ]
side: [ L ]
matrix_size: *tiny_matrix_size
alpha: [ 2.0, .NaN ] # NaN is converted to 0.0 in test code
beta: [ 1.0, .NaN ]
- name: hemm_medium
category: pre_checkin
function: hemm
precision: *single_double_precisions_complex
uplo: [ U, L ]
side: [ L, R ]
matrix_size: *medium_matrix_size_range
alpha_beta: *alpha_beta_range
api: [ C, FORTRAN ]
- name: hemm_large
category: nightly
function: hemm
precision: *single_double_precisions_complex
uplo: [ U, L ]
side: [ L, R ]
matrix_size: *large_matrix_size_range
pointer_mode_device: false
alpha_beta: *alpha_beta_range
- name: hemm_size_t
category: stress
function: hemm
precision: *single_precision_complex
uplo: [ U, L ]
side: [ L, R ]
matrix_size: *size_t_m_n_lda_ldb_ldc
pointer_mode_host: false
alpha: [ 2 ]
beta: [ 2 ]
gpu_arch: ['90a','942','950']
os_flags: LINUX
- name: hemm_grid_y_16
category: nightly
function: hemm
precision: *single_precision_complex
arguments:
- { side: L, uplo: L}
matrix_size:
# - { M: 4, N: 525000, lda: 4, ldb: 4, ldc: 4 } # n > 2^16 * 8 = 524288 # < scal limit < hemm limit
# - { M: 4, N: 524000, lda: 4, ldb: 4, ldc: 4 } # n < 2^16 * 8 = 524288 # > scal limit < hemm limit
- { M: 4, N: 2097200, lda: 4, ldb: 4, ldc: 4 } # n < 2^16 * 32 = 2097152 # > scal limit > hemm limit
alpha: [ 0, 2 ]
beta: [ 0, 2 ]
# batched
- name: hemm_batched_NaN
category: pre_checkin
function: hemm_batched
precision: *double_precision_complex
uplo: [ L ]
side: [ R ]
matrix_size: *tiny_matrix_size
alpha: [ 1.0, .NaN ] # NaN is converted to 0.0 in test code
beta: [ 0.5, .NaN ]
batch_count: [ 2 ]
- name: hemm_batched_quick
category: quick
function: hemm_batched
precision: *single_double_precisions_complex
uplo: [ U ]
side: [ L, R ]
matrix_size: *quick_matrix_size_range
alpha: [ 0, 1 ]
beta: [ 0, 1 ]
batch_count: [ 0, 1 ]
- name: hemm_batched_medium
category: pre_checkin
function: hemm_batched
precision: *single_double_precisions_complex
uplo: [ U, L ]
side: [ L, R ]
matrix_size: *medium_matrix_size_range
alpha_beta: *alpha_beta_range
batch_count: [ 1, 7 ]
api: [ C, FORTRAN ]
- name: hemm_batched_large
category: nightly
function: hemm_batched
precision: *single_double_precisions_complex
uplo: [ U, L ]
side: [ L, R ]
matrix_size: *large_matrix_size_range
pointer_mode_device: false
alpha_beta: *alpha_beta_range
batch_count: [ 2 ]
- name: hemm_batched_size_t
category: stress
function: hemm_batched
precision: *single_precision_complex
uplo: [ U, L ]
side: [ L, R ]
matrix_size: *size_t_m_n_lda_ldb_ldc
pointer_mode_host: false
alpha: [ 2 ]
beta: [ 2 ]
batch_count: [ 1 ]
gpu_arch: ['90a','942','950']
os_flags: LINUX
# strided batched
- name: hemm_strided_batched_quick
category: quick
function: hemm_strided_batched
precision: *single_double_precisions_complex
uplo: [ U ]
side: [ L, R ]
matrix_size: *quick_matrix_size_range
alpha: [ 0, 1 ]
beta: [ 0, 1 ]
batch_count: [ 0, 1 ]
stride_scale: [1]
- name: hemm_strided_batched_NaN
category: pre_checkin
function: hemm_strided_batched
precision: *single_precision_complex
uplo: [ L ]
side: [ R ]
matrix_size: *tiny_matrix_size
alpha: [ 0.5, .NaN ] # NaN is converted to 0.0 in test code
beta: [ 1.0, .NaN ]
batch_count: [ 3 ]
stride_scale: [1]
- name: hemm_strided_batched_medium
category: pre_checkin
function: hemm_strided_batched
precision: *single_double_precisions_complex
uplo: [ U, L ]
side: [ L, R ]
matrix_size: *medium_matrix_size_range
alpha_beta: *alpha_beta_range
batch_count: [ 1, 7 ]
stride_scale: [1]
api: [ C, FORTRAN ]
- name: hemm_strided_batched_large
category: nightly
function: hemm_strided_batched
precision: *single_double_precisions_complex
uplo: [ U, L ]
side: [ L, R ]
matrix_size: *large_matrix_size_range
pointer_mode_host: false
alpha_beta: *alpha_beta_range
batch_count: [ 2 ]
stride_scale: [1]
- name: hemm_graph_test
category: pre_checkin
function:
- hemm
- hemm_batched
- hemm_strided_batched
precision: *single_double_precisions_complex
uplo: [ U ]
side: [ L, R ]
matrix_size:
- { M: 88, N: 100, lda: 200, ldb: 88, ldc: 88 }
alpha_beta: *alpha_beta
batch_count: [ 2 ]
stride_scale: [1]
graph_test: true
- name: hemm_repeatability_check
category: stress
function:
- hemm
- hemm_batched
- hemm_strided_batched
precision: *single_double_precisions_complex
uplo: [ U ]
side: [ L, R ]
matrix_size:
- { M: 88, N: 100, lda: 200, ldb: 88, ldc: 88 }
alpha_beta: *alpha_beta
batch_count: [ 2 ]
stride_scale: [1]
pointer_mode_host: false
initialization : hpl
atomics_mode: 0
iters: 5
devices: 4
repeatability_check: true
- name: hemm_large_batch
category: pre_checkin
function:
- hemm_batched
- hemm_strided_batched
precision: *single_precision_complex
uplo: [ U, L ]
side: [ L, R ]
matrix_size:
- { M: 2, N: 2, lda: 4, ldb: 2, ldc : 4 , batch_count: *c_grid_yz_require_passes }
stride_scale: [1]
alpha: [ 2 ]
beta: [ 2 ]
- name: hemm_ILP64_L
category: stress
api: [C_64]
function:
- hemm
# same code path
# - hemm_strided_batched
precision: *single_precision_complex
uplo: [ U, L ]
side: [ L ]
matrix_size:
- { M: 2, N: 2147483649, lda: 2147483649, ldb: 2 , ldc: 2 }
- { M: 4096, N: 2, lda: 4096, ldb: 2147483649, ldc: 4096 }
alpha: [ 2 ]
beta: [ 2 ]
stride_scale: [1]
os_flags: LINUX
gpu_arch: ['90a','942','950']
# TODO: 32GB/matrix x 3 exceeds current default test limits so remove for now
# - name: hemm_ILP64_R
# category: stress
# api: [C_64]
# function:
# - hemm
# - hemm_strided_batched
# precision: *single_precision_complex
# arguments:
# - { M: 2147483649, N: 2, lda: 2147483649, ldb: 2147483649, ldc: 2147483649 } # N can't be 32-bit for side == R
# uplo: [ U, L ]
# side: [ R ]
# alpha: [ 2 ]
# beta: [ 2 ]
# stride_scale: [1]
# os_flags: LINUX
# gpu_arch: ['90a','942','950']
- name: hemm_batched_ILP64
category: stress
function:
- hemm_batched
- hemm_strided_batched
precision: *single_precision_complex
uplo: [ U, L ]
side: [ L, R ]
matrix_size:
- { M: 2, N: 2, lda: 4, ldb: 2, ldc : 4 , batch_count: *c_grid_yz_require_passes }
alpha_beta: *alpha_beta
api : [ C_64 ]
os_flags: LINUX
gpu_arch: ['90a','942','950']