cuTENSOR Data Types¶
cutensorComputeType_t
¶
-
enum
cutensorComputeType_t
¶
-
- Brief
-
Encodes cuTENSOR’s compute type (see “User Guide - Accuracy Guarantees” for details).
Values:
-
CUTENSOR_R_MIN_16F
= (1U << 0U)¶
-
real as a half
-
CUTENSOR_C_MIN_16F
= (1U << 1U)¶
-
complex as a half
-
CUTENSOR_R_MIN_32F
= (1U << 2U)¶
-
real as a float
-
CUTENSOR_C_MIN_32F
= (1U << 3U)¶
-
complex as a float
-
CUTENSOR_R_MIN_64F
= (1U << 4U)¶
-
real as a double
-
CUTENSOR_C_MIN_64F
= (1U << 5U)¶
-
complex as a double
-
CUTENSOR_R_MIN_8U
= (1U << 6U)¶
-
real as a uint8
-
CUTENSOR_R_MIN_32U
= (1U << 7U)¶
-
real as a uint32
-
CUTENSOR_R_MIN_8I
= (1U << 8U)¶
-
real as a int8
-
CUTENSOR_R_MIN_32I
= (1U << 9U)¶
-
real as a int32
cutensorHandle_t
¶
-
struct
cutensorHandle_t
¶
-
- Brief
-
Opaque structure holding cuTENSOR’s library context.
cutensorTensorDescriptor_t
¶
-
struct
cutensorTensorDescriptor_t
¶
-
- Brief
-
Opaque structure representing a tensor descriptor.
cutensorContractionDescriptor_t
¶
-
struct
cutensorContractionDescriptor_t
¶
-
- Brief
-
Opaque structure representing a tensor contraction descriptor.
cutensorContractionFind_t
¶
-
struct
cutensorContractionFind_t
¶
-
- Brief
-
Opaque structure representing a candidate.
cutensorContractionPlan_t
¶
-
struct
cutensorContractionPlan_t
¶
-
- Brief
-
Opaque structure representing a plan.
cutensorAlgo_t
¶
-
enum
cutensorAlgo_t
¶
-
- Brief
-
Allows users to specify the algorithm to be used for performing the tensor contraction.
- Details
-
This enum gives users finer control over which algorithm should be executed by cutensorContraction(); values >= 0 correspond to certain sub-algorithms of GETT.
Values:
-
CUTENSOR_ALGO_GETT
= -4¶
-
Choose the GETT algorithm.
-
CUTENSOR_ALGO_TGETT
= -3¶
-
Transpose (A or B) + GETT.
-
CUTENSOR_ALGO_TTGT
= -2¶
-
Transpose-Transpose-GEMM-Transpose (requires additional memory)
-
CUTENSOR_ALGO_DEFAULT
= -1¶
-
Lets the internal heuristic choose.
cutensorWorksizePreference_t
¶
-
enum
cutensorWorksizePreference_t
¶
-
Values:
-
CUTENSOR_WORKSPACE_MIN
= 1¶
-
At least one algorithm will be available.
-
CUTENSOR_WORKSPACE_RECOMMENDED
= 2¶
-
The most suitable algorithm will be available.
-
CUTENSOR_WORKSPACE_MAX
= 3¶
-
All algorithms will be available.
-
cutensorOperator_t
¶
-
enum
cutensorOperator_t
¶
-
- Brief
-
This enum captures all unary and binary element-wise operations supported by the cuTENSOR library.
Values:
-
CUTENSOR_OP_IDENTITY
= 1¶
-
Identity operator (i.e., elements are not changed)
-
CUTENSOR_OP_SQRT
= 2¶
-
Square root.
-
CUTENSOR_OP_RELU
= 8¶
-
Rectified linear unit.
-
CUTENSOR_OP_CONJ
= 9¶
-
Complex conjugate.
-
CUTENSOR_OP_RCP
= 10¶
-
Reciprocal.
-
CUTENSOR_OP_SIGMOID
= 11¶
-
y=1/(1+exp(-x))
-
CUTENSOR_OP_TANH
= 12¶
-
y=tanh(x)
-
CUTENSOR_OP_EXP
= 22¶
-
Exponentiation.
-
CUTENSOR_OP_LOG
= 23¶
-
Log (base e).
-
CUTENSOR_OP_ABS
= 24¶
-
Absolute value.
-
CUTENSOR_OP_NEG
= 25¶
-
Negation.
-
CUTENSOR_OP_SIN
= 26¶
-
Sine.
-
CUTENSOR_OP_COS
= 27¶
-
Cosine.
-
CUTENSOR_OP_TAN
= 28¶
-
Tangent.
-
CUTENSOR_OP_SINH
= 29¶
-
Hyperbolic sine.
-
CUTENSOR_OP_COSH
= 30¶
-
Hyperbolic cosine.
-
CUTENSOR_OP_ASIN
= 31¶
-
Inverse sine.
-
CUTENSOR_OP_ACOS
= 32¶
-
Inverse cosine.
-
CUTENSOR_OP_ATAN
= 33¶
-
Inverse tangent.
-
CUTENSOR_OP_ASINH
= 34¶
-
Inverse hyperbolic sine.
-
CUTENSOR_OP_ACOSH
= 35¶
-
Inverse hyperbolic cosine.
-
CUTENSOR_OP_ATANH
= 36¶
-
Inverse hyperbolic tangent.
-
CUTENSOR_OP_CEIL
= 37¶
-
Ceiling.
-
CUTENSOR_OP_FLOOR
= 38¶
-
Floor.
-
CUTENSOR_OP_ADD
= 3¶
-
Addition of two elements.
-
CUTENSOR_OP_MUL
= 5¶
-
Multiplication of two elements.
-
CUTENSOR_OP_MAX
= 6¶
-
Maximum of two elements.
-
CUTENSOR_OP_MIN
= 7¶
-
Minimum of two elements.
-
CUTENSOR_OP_UNKNOWN
= 126¶
-
reserved for internal use only
cutensorStatus_t
¶
-
enum
cutensorStatus_t
¶
-
- Brief
-
cuTENSOR status type returns
- Details
-
The type is used for function status returns. All cuTENSOR library functions return their status, which can have the following values.
Values:
-
CUTENSOR_STATUS_SUCCESS
= 0¶
-
The operation completed successfully.
-
CUTENSOR_STATUS_NOT_INITIALIZED
= 1¶
-
The cuTENSOR library was not initialized.
-
CUTENSOR_STATUS_ALLOC_FAILED
= 3¶
-
Resource allocation failed inside the cuTENSOR library.
-
CUTENSOR_STATUS_INVALID_VALUE
= 7¶
-
An unsupported value or parameter was passed to the function (indicates an user error).
-
CUTENSOR_STATUS_ARCH_MISMATCH
= 8¶
-
Indicates that the device is either not ready, or the target architecture is not supported.
-
CUTENSOR_STATUS_MAPPING_ERROR
= 11¶
-
An access to GPU memory space failed, which is usually caused by a failure to bind a texture.
-
CUTENSOR_STATUS_EXECUTION_FAILED
= 13¶
-
The GPU program failed to execute. This is often caused by a launch failure of the kernel on the GPU, which can be caused by multiple reasons.
-
CUTENSOR_STATUS_INTERNAL_ERROR
= 14¶
-
An internal cuTENSOR error has occurred.
-
CUTENSOR_STATUS_NOT_SUPPORTED
= 15¶
-
The requested operation is not supported.
-
CUTENSOR_STATUS_LICENSE_ERROR
= 16¶
-
The functionality requested requires some license and an error was detected when trying to check the current licensing.
-
CUTENSOR_STATUS_CUBLAS_ERROR
= 17¶
-
A call to CUBLAS did not succeed.
-
CUTENSOR_STATUS_CUDA_ERROR
= 18¶
-
Some unknown CUDA error has occurred.
-
CUTENSOR_STATUS_INSUFFICIENT_WORKSPACE
= 19¶
-
The provided workspace was insufficient.
-
CUTENSOR_STATUS_INSUFFICIENT_DRIVER
= 20¶
-
Indicates that the driver version is insufficient.