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
311 lines
8.6 KiB
YAML
311 lines
8.6 KiB
YAML
---
|
|
include: rocblas_common.yaml
|
|
include: known_bugs.yaml
|
|
|
|
Definitions:
|
|
- &invalid_matrix_size_range
|
|
- { N: -1, K: 1, lda: 1, ldb: 1, ldc: 1 } # bad n
|
|
- { N: 2, K: -1, lda: 2, ldb: 2, ldc: 1 } # bad k
|
|
- { N: 0, K: 3, lda: 3, ldb: 3, ldc: 3 } # n==0
|
|
- { N: 3, K: 0, lda: 3, ldb: 3, ldc: 3 } # k==0
|
|
- { N: 3, K: 1, lda: 1, ldb: 3, ldc: 3 } # bad lda if not transpose
|
|
- { N: 1, K: 3, lda: 1, ldb: 3, ldc: 3 } # bad lda if transpose
|
|
- { N: 1, K: 3, lda: 3, ldb: 1, ldc: 3 } # bad ldb if not transpose
|
|
- { N: 3, K: 1, lda: 3, ldb: 1, ldc: 3 } # bad ldb if transpose
|
|
- { N: 3, K: 3, lda: 3, ldb: 3, ldc: 1 } # bad ldc
|
|
|
|
- &tiny_matrix_size
|
|
- { N: 199, K: 32, lda: 199, ldb: 199, ldc: 199 }
|
|
|
|
- &medium_matrix_size_range
|
|
- { N: 88, K: 200, lda: 200, ldb: 200, ldc: 88 }
|
|
- { N: 64, K: 70, lda: 128, ldb: 128, ldc: 64 }
|
|
- { N: 199, K: 290, lda: 290, ldb: 290, ldc: 200 }
|
|
|
|
- &large_matrix_size_range
|
|
- { N: 2011, K: 1233, lda: 2011, ldb: 2011, ldc: 2048 }
|
|
- { N: 3024, K: 3200, lda: 3300, ldb: 3300, ldc: 3300 }
|
|
|
|
- &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: -2.0, alphai: 1.5, beta: -0.5, betai: 0.5 }
|
|
|
|
Tests:
|
|
|
|
- name: gemmt_bad
|
|
category: quick
|
|
function: gemmt_bad_arg
|
|
precision: *single_double_precisions_complex_real
|
|
api: [ C, FORTRAN ]
|
|
|
|
- name: gemmt_NaN
|
|
category: pre_checkin
|
|
function: gemmt
|
|
precision: *single_double_precisions_complex_real
|
|
uplo: [ U ]
|
|
transA: [ N ]
|
|
transB: [ T ]
|
|
matrix_size: *tiny_matrix_size
|
|
alpha: [ 2.0, .NaN ] # NaN is converted to 0.0 in test code
|
|
beta: [ 1.0, .NaN ]
|
|
|
|
- name: gemmt_invalid_size
|
|
category: quick
|
|
function: gemmt
|
|
precision: *single_double_precisions_complex_real
|
|
uplo: [ L ]
|
|
transA: [ C ]
|
|
transB: [ C ]
|
|
matrix_size: *invalid_matrix_size_range
|
|
alpha_beta: *alpha_beta
|
|
batch_count: [ 1 ]
|
|
api: [ C, FORTRAN ]
|
|
|
|
- name: gemmt_medium_matrix
|
|
category: pre_checkin
|
|
function: gemmt
|
|
precision: *single_double_precisions_complex_real
|
|
uplo: [ U, L ]
|
|
transA: [ T, C ]
|
|
transB: [ N, C ]
|
|
matrix_size: *medium_matrix_size_range
|
|
alpha_beta: *alpha_beta
|
|
batch_count: [ 1 ]
|
|
|
|
- name: gemmt_large
|
|
category: nightly
|
|
function: gemmt
|
|
precision: *single_double_precisions_complex_real
|
|
uplo: [ U ]
|
|
transA: [ N, T ]
|
|
transB: [ N, C ]
|
|
matrix_size: *large_matrix_size_range
|
|
alpha_beta: *alpha_beta
|
|
|
|
- name: gemmt_size_t
|
|
category: stress
|
|
function: gemmt
|
|
precision: *single_precision
|
|
uplo: [ U, L ] # op(A) and op(B) are NxK
|
|
matrix_size:
|
|
- { transA: N, transB: N, N: 3, K: 46975, lda: 3, ldb: 46975, ldc: 3 }
|
|
- { transA: N, transB: T, N: 3, K: 46975, lda: 3, ldb: 46975, ldc: 3 }
|
|
- { transA: T, transB: N, N: 46975, K: 4, lda: 4, ldb: 4, ldc: 46975}
|
|
alpha_beta:
|
|
- { alpha: 0.5, beta: 0.5 }
|
|
batch_count: [ 1 ]
|
|
pointer_mode_host: false
|
|
gpu_arch: ['90a','942','950']
|
|
os_flags: LINUX
|
|
|
|
- name: gemmt_ILP64
|
|
category: stress
|
|
uplo: [ U , L ] # op(A) and op(B) are NxK
|
|
matrix_size:
|
|
- { N: 35, K: 2, lda: 2147483649, ldb: 36, ldc: 36, batch_count: 1, transA: N, transB: N, uplo: U }
|
|
- { N: 35, K: 2, lda: 36, ldb: 2147483649, ldc: 36, batch_count: 1, transA: T, transB: T, uplo: L }
|
|
- { N: 2, K: 35, lda: 36, ldb: 36, ldc: 2147483649, batch_count: 1, transA: T, transB: T, uplo: U }
|
|
- { N: 2, K: 2, lda: 2, ldb: 2, ldc: 2, batch_count: *c_grid_yz_require_passes, transA: N, transB: T, uplo: L}
|
|
- { N: 3, K: 469, lda: 3, ldb: 469, ldc: 3, transA: N, transB: N, uplo: U }
|
|
api: [ C_64 ]
|
|
alpha_beta:
|
|
- { alpha: 1.0, beta: 1.0 }
|
|
os_flags: [ LINUX ]
|
|
function:
|
|
- gemmt_strided_batched: *single_precision
|
|
stride_scale: 1
|
|
gpu_arch: '9??'
|
|
|
|
# batched
|
|
- name: gemmt_batched_bad
|
|
category: quick
|
|
function: gemmt_batched_bad_arg
|
|
precision: *single_double_precisions_complex_real
|
|
api: [ C, FORTRAN ]
|
|
|
|
- name: gemmt_batched_quick
|
|
category: quick
|
|
function: gemmt_batched
|
|
precision: *single_double_precisions_complex_real
|
|
uplo: [ U ]
|
|
transA: [ T, C ]
|
|
transB: [ N, C ]
|
|
matrix_size: *tiny_matrix_size
|
|
alpha: [ 0, 1 ]
|
|
beta: [ 0, 1 ]
|
|
batch_count: [ 0, 1 ]
|
|
|
|
- name: gemmt_batched_NaN
|
|
category: pre_checkin
|
|
function: gemmt_batched
|
|
precision: *single_double_precisions_complex_real
|
|
uplo: [ L ]
|
|
transA: [ N, T ]
|
|
transB: [ N, C ]
|
|
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: gemmt_batched_medium
|
|
category: pre_checkin
|
|
function: gemmt_batched
|
|
precision: *single_double_precisions_complex_real
|
|
uplo: [ U, L ]
|
|
transA: [ T ]
|
|
transB: [ N ]
|
|
matrix_size: *medium_matrix_size_range
|
|
alpha_beta: *alpha_beta_range
|
|
batch_count: [ 1, 4 ]
|
|
api: [ C, FORTRAN ]
|
|
|
|
- name: gemmt_batched_large
|
|
category: nightly
|
|
function: gemmt_batched
|
|
precision: *single_double_precisions_complex_real
|
|
uplo: [ U ]
|
|
transA: [ N ]
|
|
transB: [ T ]
|
|
matrix_size: *large_matrix_size_range
|
|
alpha_beta: *alpha_beta
|
|
batch_count: [ 2 ]
|
|
|
|
- name: gemmt_batched_ILP64 # TODO: add tests for K, lda, ldb, ldc > int32_t_max
|
|
category: stress
|
|
api: [C_64]
|
|
function: gemmt_batched
|
|
precision: *single_precision
|
|
uplo: [ U ] # op(A) and op(B) are NxK
|
|
matrix_size:
|
|
- { transA: N, transB: N, N: 3, K: 469 , lda: 3, ldb: 469 , ldc: 3 }
|
|
alpha_beta:
|
|
- { alpha: 0.5, beta: 0.5 }
|
|
batch_count: [ 65536 ]
|
|
pointer_mode_host: false
|
|
os_flags: LINUX
|
|
|
|
# strided batched
|
|
- name: gemmt_strided_batched_bad
|
|
category: quick
|
|
function: gemmt_strided_batched_bad_arg
|
|
precision: *single_double_precisions_complex_real
|
|
api: [ C, FORTRAN ]
|
|
|
|
- name: gemmt_strided_batched_quick
|
|
category: quick
|
|
function: gemmt_strided_batched
|
|
precision: *single_precision
|
|
uplo: [ U ]
|
|
transA: [ N, T, C ]
|
|
transB: [ N, T, C ]
|
|
matrix_size: *tiny_matrix_size
|
|
alpha: [ 0, 1 ]
|
|
beta: [ 0, 1 ]
|
|
batch_count: [ 0, 1 ]
|
|
|
|
- name: gemmt_strided_batched_NaN
|
|
category: pre_checkin
|
|
function: gemmt_strided_batched
|
|
precision: *double_precision
|
|
uplo: [ U ]
|
|
transA: [ T ]
|
|
transB: [ 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: [ 3 ]
|
|
|
|
- name: gemmt_strided_batched_medium
|
|
category: pre_checkin
|
|
function: gemmt_strided_batched
|
|
precision: *single_double_precisions_complex_real
|
|
uplo: [ U, L ]
|
|
transA: [ N, T, C ]
|
|
transB: [ N, T, C ]
|
|
matrix_size: *medium_matrix_size_range
|
|
alpha_beta: *alpha_beta_range
|
|
batch_count: [ 3 ]
|
|
api: [ C, FORTRAN ]
|
|
|
|
- name: gemmt_strided_batched_large
|
|
category: nightly
|
|
function: gemmt_strided_batched
|
|
precision: *single_double_precisions_complex_real
|
|
uplo: [ L ]
|
|
transA: [ T ]
|
|
transB: [ N ]
|
|
matrix_size: *large_matrix_size_range
|
|
alpha_beta: *alpha_beta
|
|
batch_count: [ 2 ]
|
|
|
|
- name: gemmt_large_batch
|
|
category: stress
|
|
function:
|
|
- gemmt_batched
|
|
- gemmt_strided_batched
|
|
precision: *single_precision
|
|
uplo: [ L ]
|
|
transA: [ T ]
|
|
transB: [ N ]
|
|
matrix_size:
|
|
- { N: 3, K: 3, lda: 3, ldb: 3, ldc: 3, batch_count: *c_grid_yz_require_passes }
|
|
alpha_beta:
|
|
- { alpha: 0.5, beta: 0.5 }
|
|
|
|
- name: gemmt_strided_batched_ILP64 # TODO: add tests for K, lda, ldb, ldc > int32_t_max
|
|
category: stress
|
|
api: [C_64]
|
|
function: gemmt_strided_batched
|
|
precision: *single_precision
|
|
uplo: [ U ] # op(A) and op(B) are NxK
|
|
matrix_size:
|
|
- { transA: N, transB: N, N: 3, K: 469 , lda: 3, ldb: 469 , ldc: 3 }
|
|
alpha_beta:
|
|
- { alpha: 0.5, beta: 0.5 }
|
|
batch_count: [ 65536 ]
|
|
pointer_mode_host: false
|
|
os_flags: LINUX
|
|
|
|
- name: gemmt_graph_test
|
|
category: pre_checkin
|
|
function:
|
|
- gemmt
|
|
- gemmt_batched
|
|
- gemmt_strided_batched
|
|
precision: *single_double_precisions_complex_real
|
|
uplo: [ L ]
|
|
transA: [ T ]
|
|
transB: [ N ]
|
|
matrix_size:
|
|
- { N: 199, K: 290, lda: 290, ldb: 290, ldc: 200 }
|
|
batch_count: [ 2 ]
|
|
alpha_beta: *alpha_beta_range
|
|
graph_test: true
|
|
|
|
|
|
- name: gemmt_repeatability_check
|
|
category: stress
|
|
function:
|
|
- gemmt
|
|
- gemmt_batched
|
|
- gemmt_strided_batched
|
|
precision: *single_double_precisions_complex_real
|
|
uplo: [ L ]
|
|
transA: [ T ]
|
|
transB: [ N ]
|
|
matrix_size:
|
|
- { N: 199, K: 290, lda: 290, ldb: 290, ldc: 200 }
|
|
batch_count: [ 2 ]
|
|
alpha_beta: *alpha_beta_range
|
|
atomics_mode: 0
|
|
iters: 5
|
|
initialization: hpl
|
|
devices: 4
|
|
repeatability_check: true
|
|
...
|