This page contains proposed changes for a future release of ROCm. Read the latest Linux release of ROCm documentation for your production environments.

rocBLAS Enumeration

Contents

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#