Skip to main content
`Ctrl`+`K`

# 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.

  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_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.

  enumerator rocblas_layer_mode_log_internal

    Outputs to the same stream as trace logging with limited internal API details like GEMM backend used.

## 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