rocBLAS Enumeration#

Enumeration constants have numbering that is consistent with CBLAS, ACML, most standard C BLAS libraries

rocblas_operation#

enum rocblas_operation

Used to specify whether the matrix is to be transposed or not.

Parameter constants. numbering is consistent with CBLAS, ACML and most standard C BLAS libraries

Values:

enumerator rocblas_operation_none

Operate with the matrix.

enumerator rocblas_operation_transpose

Operate with the transpose of the matrix.

enumerator rocblas_operation_conjugate_transpose

Operate with the conjugate transpose of the matrix.

rocblas_fill#

enum rocblas_fill

Used by the Hermitian, symmetric and triangular matrix routines to specify whether the upper, or lower triangle is being referenced.

Values:

enumerator rocblas_fill_upper

Upper triangle.

enumerator rocblas_fill_lower

Lower triangle.

enumerator rocblas_fill_full

rocblas_diagonal#

enum rocblas_diagonal

It is used by the triangular matrix routines to specify whether the matrix is unit triangular.

Values:

enumerator rocblas_diagonal_non_unit

Non-unit triangular.

enumerator rocblas_diagonal_unit

Unit triangular.

rocblas_side#

enum rocblas_side

Indicates the side matrix A is located relative to matrix B during multiplication.

Values:

enumerator rocblas_side_left

Multiply general matrix by symmetric, Hermitian, or triangular matrix on the left.

enumerator rocblas_side_right

Multiply general matrix by symmetric, Hermitian, or triangular matrix on the right.

enumerator rocblas_side_both

rocblas_status#

enum rocblas_status

rocblas status codes definition

Values:

enumerator rocblas_status_success

Success

enumerator rocblas_status_invalid_handle

Handle not initialized, invalid or null

enumerator rocblas_status_not_implemented

Function is not implemented

enumerator rocblas_status_invalid_pointer

Invalid pointer argument

enumerator rocblas_status_invalid_size

Invalid size argument

enumerator rocblas_status_memory_error

Failed internal memory allocation, copy or dealloc

enumerator rocblas_status_internal_error

Other internal library failure

enumerator rocblas_status_perf_degraded

Performance degraded due to low device memory

enumerator rocblas_status_size_query_mismatch

Unmatched start/stop size query

enumerator rocblas_status_size_increased

Queried device memory size increased

enumerator rocblas_status_size_unchanged

Queried device memory size unchanged

enumerator rocblas_status_invalid_value

Passed argument not valid

enumerator rocblas_status_continue

Nothing preventing function to proceed

enumerator rocblas_status_check_numerics_fail

Will be set if the vector/matrix has a NaN/Infinity/denormal value

enumerator rocblas_status_excluded_from_build

Function is not available in build, likely a function requiring Tensile built without Tensile

enumerator rocblas_status_arch_mismatch

The function requires a feature absent from the device architecture

rocblas_datatype#

enum rocblas_datatype

Indicates the precision width of data stored in a blas type.

Parameter constants. Numbering continues into next free decimal range but not shared with other BLAS libraries

Values:

enumerator rocblas_datatype_f16_r

16-bit floating point, real

enumerator rocblas_datatype_f32_r

32-bit floating point, real

enumerator rocblas_datatype_f64_r

64-bit floating point, real

enumerator rocblas_datatype_f16_c

16-bit floating point, complex

enumerator rocblas_datatype_f32_c

32-bit floating point, complex

enumerator rocblas_datatype_f64_c

64-bit floating point, complex

enumerator rocblas_datatype_i8_r

8-bit signed integer, real

enumerator rocblas_datatype_u8_r

8-bit unsigned integer, real

enumerator rocblas_datatype_i32_r

32-bit signed integer, real

enumerator rocblas_datatype_u32_r

32-bit unsigned integer, real

enumerator rocblas_datatype_i8_c

8-bit signed integer, complex

enumerator rocblas_datatype_u8_c

8-bit unsigned integer, complex

enumerator rocblas_datatype_i32_c

32-bit signed integer, complex

enumerator rocblas_datatype_u32_c

32-bit unsigned integer, complex

enumerator rocblas_datatype_bf16_r

16-bit bfloat, real

enumerator rocblas_datatype_bf16_c

16-bit bfloat, complex

enumerator rocblas_datatype_f8_r

8 bit floating point, real

enumerator rocblas_datatype_bf8_r

8 bit bfloat, real

enumerator rocblas_datatype_invalid

Invalid datatype value, do not use

rocblas_pointer_mode#

enum rocblas_pointer_mode

Indicates if scalar pointers are on host or device. This is used for scalars alpha and beta and for scalar function return values.

Values:

enumerator rocblas_pointer_mode_host

Scalar values affected by this variable are located on the host.

enumerator rocblas_pointer_mode_device

Scalar values affected by this variable are located on the device.

rocblas_atomics_mode#

enum rocblas_atomics_mode

Indicates if atomics operations are allowed. Not allowing atomic operations may generally improve determinism and repeatability of results at a cost of performance. Defaults to rocblas_atomics_allowed.

Values:

enumerator rocblas_atomics_not_allowed

Algorithms will refrain from atomics where applicable.

enumerator rocblas_atomics_allowed

Algorithms will take advantage of atomics where applicable.

rocblas_layer_mode#

enum rocblas_layer_mode

Indicates if layer is active with bitmask.

Values:

enumerator rocblas_layer_mode_none

No logging will take place.

enumerator rocblas_layer_mode_log_trace

A line containing the function name and value of arguments passed will be printed with each rocBLAS function call.

enumerator rocblas_layer_mode_log_bench

Outputs a line each time a rocBLAS function is called, this line can be used with rocblas-bench to make the same call again.

enumerator rocblas_layer_mode_log_profile

Outputs a YAML description of each rocBLAS function called, along with its arguments and number of times it was called.

rocblas_gemm_algo#

enum rocblas_gemm_algo

Indicates if layer is active with bitmask.

Values:

enumerator rocblas_gemm_algo_standard
enumerator rocblas_gemm_algo_solution_index

rocblas_gemm_flags#

enum rocblas_gemm_flags

Control flags passed into gemm algorithms invoked by Tensile Host.

Values:

enumerator rocblas_gemm_flags_none

Default empty flags.

enumerator rocblas_gemm_flags_use_cu_efficiency

Before ROCm 6.0 rocblas_gemm_flags_pack_int8x4 = 0x1, as has now been removed so is available for future use.

Select the gemm problem with the highest efficiency per compute unit used. Useful for running multiple smaller problems simultaneously. This takes precedence over the performance metric set in rocblas_handle and currently only works for gemm_*_ex problems.

enumerator rocblas_gemm_flags_fp16_alt_impl

Select an alternate implementation for the MI200 FP16 HPA (High Precision Accumulate) GEMM kernel utilizing the BF16 matrix instructions with reduced accuracy in cases where computation cannot tolerate the FP16 matrix instructions flushing subnormal FP16 input/output data to zero. See the “MI200 (gfx90a) Considerations” section for more details.

enumerator rocblas_gemm_flags_check_solution_index
enumerator rocblas_gemm_flags_fp16_alt_impl_rnz
enumerator rocblas_gemm_flags_stochastic_rounding