rocBLAS enumeration

Contents

rocBLAS enumeration#

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

rocblas_operation#

enum rocblas_operation#

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

These are parameter constants, with numbering 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#

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 on, 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 is uninitialized, 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 from proceeding.

enumerator rocblas_status_check_numerics_fail#

Set if the vector/matrix has a NaN/Infinity/denormal value.

enumerator rocblas_status_excluded_from_build#

Function is not available in build. It likely requires Tensile but was built without it.

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 the data stored in a BLAS type.

These are parameter constants, with numbering that continues into the next free decimal range but is 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_invalid#

Invalid datatype value. Do not use.

rocblas_pointer_mode#

enum rocblas_pointer_mode#

Indicates whether scalar pointers are on the 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 whether atomics operations are allowed. Not allowing atomic operations can generally improve determinism and repeatability of results at a cost to performance. Defaults to rocblas_atomics_allowed.

Values:

enumerator rocblas_atomics_not_allowed#

Algorithms refrain from atomics where applicable.

enumerator rocblas_atomics_allowed#

Algorithms take advantage of atomics where applicable.

rocblas_layer_mode#

enum rocblas_layer_mode#

Indicates whether the layer is active by means of a 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 is 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.

enumerator rocblas_layer_mode_log_internal#

Outputs to the same stream as trace logging with limited internal API details, such as the GEMM backend that was used.

rocblas_gemm_algo#

enum rocblas_gemm_algo#

Indicates whether the layer is active by means of a bitmask.

Values:

enumerator rocblas_gemm_algo_standard#
enumerator rocblas_gemm_algo_solution_index#

rocblas_gemm_flags#

enum rocblas_gemm_flags#

Controls the flags passed into GEMM algorithms invoked by the 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 was in use. This has now been removed and is available for future use.

Select the GEMM problem with the highest efficiency per compute unit used, which is 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 Instinct MI200 FP16 HPA (High Precision Accumulate) GEMM kernel. This implementation uses 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 of the rocBLAS design notes documentation for more details.

enumerator rocblas_gemm_flags_check_solution_index#
enumerator rocblas_gemm_flags_fp16_alt_impl_rnz#
enumerator rocblas_gemm_flags_stochastic_rounding#