NVPL TENSOR Data Types#
nvpltensorDataType_t
#
-
enum nvpltensorDataType_t#
This enum specifies the data precision. It is used when the data reference does not carry the type itself (e.g void *)
Values:
-
enumerator NVPLTENSOR_R_32F#
real as a float
-
enumerator NVPLTENSOR_C_32F#
complex as a pair of float numbers
-
enumerator NVPLTENSOR_R_64F#
real as a double
-
enumerator NVPLTENSOR_C_64F#
complex as a pair of double numbers
-
enumerator NVPLTENSOR_R_32F#
nvpltensorComputeDescriptor_t
#
-
typedef struct nvpltensorComputeDescriptor *nvpltensorComputeDescriptor_t#
Opaque structure representing a compute descriptor.
- NVPLTENSOR_EXTERN const nvpltensorComputeDescriptor_t NVPLTENSOR_COMPUTE_DESC_32F
floating-point: 8-bit exponent and 23-bit mantissa (aka float)
- NVPLTENSOR_EXTERN const nvpltensorComputeDescriptor_t NVPLTENSOR_COMPUTE_DESC_64F
floating-point: 11-bit exponent and 52-bit mantissa (aka double)
nvpltensorHandle_t
#
-
typedef struct nvpltensorHandle *nvpltensorHandle_t#
Opaque structure holding nvplTENSOR’s library context.
nvpltensorTensorDescriptor_t
#
-
typedef struct nvpltensorTensorDescriptor *nvpltensorTensorDescriptor_t#
Opaque structure representing a tensor descriptor.
nvpltensorOperationDescriptor_t
#
-
typedef struct nvpltensorOperationDescriptor *nvpltensorOperationDescriptor_t#
Opaque structure representing any type of problem descriptor (e.g., contraction, reduction, elementwise).
nvpltensorOperationDescriptorAttribute_t
#
-
enum nvpltensorOperationDescriptorAttribute_t#
This enum lists all attributes of a nvpltensorOperationDescriptor_t that can be modified (see nvpltensorOperationDescriptorSetAttribute and nvpltensorOperationDescriptorGetAttribute).
Values:
-
enumerator NVPLTENSOR_OPERATION_DESCRIPTOR_TAG#
int32_t: enables users to distinguish two identical problems w.r.t. the sw-managed plan-cache. (default value: 0)
-
enumerator NVPLTENSOR_OPERATION_DESCRIPTOR_SCALAR_TYPE#
nvpltensorDataType_t: data type of the scaling factors
-
enumerator NVPLTENSOR_OPERATION_DESCRIPTOR_FLOPS#
float: number of floating-point operations necessary to perform this operation (assuming all scalar are not equal to zero, unless otherwise specified)
-
enumerator NVPLTENSOR_OPERATION_DESCRIPTOR_MOVED_BYTES#
float: minimal number of bytes transferred from/to global-memory (assuming all scalar are not equal to zero, unless otherwise specified)
-
enumerator NVPLTENSOR_OPERATION_DESCRIPTOR_TAG#
nvpltensorPlanPreference_t
#
-
typedef struct nvpltensorPlanPreference *nvpltensorPlanPreference_t#
Opaque structure that narrows down the space of applicable algorithms/variants/kernels.
nvpltensorPlanPreferenceAttribute_t
#
-
enum nvpltensorPlanPreferenceAttribute_t#
This enum lists all attributes of a nvpltensorPlanPreference_t object that can be modified.
Values:
-
enumerator NVPLTENSOR_PLAN_PREFERENCE_ALGO#
nvpltensorAlgo_t: Fixes a certain nvpltensorAlgo_t
-
enumerator NVPLTENSOR_PLAN_PREFERENCE_ALGO#
nvpltensorPlan_t
#
-
typedef struct nvpltensorPlan *nvpltensorPlan_t#
Opaque structure representing a plan (e.g, contraction, reduction, elementwise).
nvpltensorPlanAttribute_t
#
-
enum nvpltensorPlanAttribute_t#
This enum lists all attributes of a nvpltensorPlan_t object that can be retrieved via nvpltensorPlanGetAttribute.
Values:
-
enumerator NVPLTENSOR_PLAN_REQUIRED_WORKSPACE#
uint64_t: exact required workspace in bytes that is needed to execute the plan
-
enumerator NVPLTENSOR_PLAN_REQUIRED_WORKSPACE#
nvpltensorJitMode_t
#
-
enum nvpltensorJitMode_t#
This enum determines the mode w.r.t. nvplTENSOR’s just-in-time compilation capability.
Values:
-
enumerator NVPLTENSOR_JIT_MODE_NONE#
Indicates that no kernel will be just-in-time compiled.
-
enumerator NVPLTENSOR_JIT_MODE_NONE#
nvpltensorAlgo_t
#
-
enum nvpltensorAlgo_t#
Allows users to specify the algorithm to be used for performing the desired tensor operation.
Values:
-
enumerator NVPLTENSOR_ALGO_DEFAULT#
A performance model chooses the appropriate algorithm and kernel.
-
enumerator NVPLTENSOR_ALGO_DEFAULT#
nvpltensorWorksizePreference_t
#
-
enum nvpltensorWorksizePreference_t#
This enum gives users finer control over the suggested workspace.
This enum gives users finer control over the amount of workspace that is suggested by nvpltensorEstimateWorkspaceSize
Values:
-
enumerator NVPLTENSOR_WORKSPACE_MIN#
Least memory requirement; at least one algorithm will be available.
-
enumerator NVPLTENSOR_WORKSPACE_DEFAULT#
Aims to attain high performance while also reducing the workspace requirement.
-
enumerator NVPLTENSOR_WORKSPACE_MAX#
Highest memory requirement; all algorithms will be available (choose this option if memory footprint is not a concern)
-
enumerator NVPLTENSOR_WORKSPACE_MIN#
nvpltensorOperator_t
#
-
enum nvpltensorOperator_t#
This enum captures all unary and binary element-wise operations supported by the nvplTENSOR library.
Values:
-
enumerator NVPLTENSOR_OP_IDENTITY#
Identity operator (i.e., elements are not changed)
-
enumerator NVPLTENSOR_OP_SQRT#
Square root.
-
enumerator NVPLTENSOR_OP_RELU#
Rectified linear unit.
-
enumerator NVPLTENSOR_OP_CONJ#
Complex conjugate.
-
enumerator NVPLTENSOR_OP_RCP#
Reciprocal.
-
enumerator NVPLTENSOR_OP_SIGMOID#
y=1/(1+exp(-x))
-
enumerator NVPLTENSOR_OP_TANH#
y=tanh(x)
-
enumerator NVPLTENSOR_OP_EXP#
Exponentiation.
-
enumerator NVPLTENSOR_OP_LOG#
Log (base e).
-
enumerator NVPLTENSOR_OP_ABS#
Absolute value.
-
enumerator NVPLTENSOR_OP_NEG#
Negation.
-
enumerator NVPLTENSOR_OP_SIN#
Sine.
-
enumerator NVPLTENSOR_OP_COS#
Cosine.
-
enumerator NVPLTENSOR_OP_TAN#
Tangent.
-
enumerator NVPLTENSOR_OP_SINH#
Hyperbolic sine.
-
enumerator NVPLTENSOR_OP_COSH#
Hyperbolic cosine.
-
enumerator NVPLTENSOR_OP_ASIN#
Inverse sine.
-
enumerator NVPLTENSOR_OP_ACOS#
Inverse cosine.
-
enumerator NVPLTENSOR_OP_ATAN#
Inverse tangent.
-
enumerator NVPLTENSOR_OP_ASINH#
Inverse hyperbolic sine.
-
enumerator NVPLTENSOR_OP_ACOSH#
Inverse hyperbolic cosine.
-
enumerator NVPLTENSOR_OP_ATANH#
Inverse hyperbolic tangent.
-
enumerator NVPLTENSOR_OP_CEIL#
Ceiling.
-
enumerator NVPLTENSOR_OP_FLOOR#
Floor.
-
enumerator NVPLTENSOR_OP_MISH#
Mish y=x*tanh(softplus(x)).
-
enumerator NVPLTENSOR_OP_SWISH#
Swish y=x*sigmoid(x).
-
enumerator NVPLTENSOR_OP_SOFT_PLUS#
Softplus y=log(exp(x)+1).
-
enumerator NVPLTENSOR_OP_SOFT_SIGN#
Softsign y=x/(abs(x)+1).
-
enumerator NVPLTENSOR_OP_ADD#
Addition of two elements.
-
enumerator NVPLTENSOR_OP_MUL#
Multiplication of two elements.
-
enumerator NVPLTENSOR_OP_MAX#
Maximum of two elements.
-
enumerator NVPLTENSOR_OP_MIN#
Minimum of two elements.
-
enumerator NVPLTENSOR_OP_UNKNOWN#
reserved for internal use only
-
enumerator NVPLTENSOR_OP_IDENTITY#
nvpltensorStatus_t
#
-
enum nvpltensorStatus_t#
nvplTENSOR status type returns
The type is used for function status returns. All nvplTENSOR library functions return their status, which can have the following values.
Values:
-
enumerator NVPLTENSOR_STATUS_SUCCESS#
The operation completed successfully.
-
enumerator NVPLTENSOR_STATUS_NOT_INITIALIZED#
The opaque data structure was not initialized.
-
enumerator NVPLTENSOR_STATUS_ALLOC_FAILED#
Resource allocation failed inside the nvplTENSOR library.
-
enumerator NVPLTENSOR_STATUS_INVALID_VALUE#
An unsupported value or parameter was passed to the function (indicates an user error).
-
enumerator NVPLTENSOR_STATUS_INTERNAL_ERROR#
An internal nvplTENSOR error has occurred.
-
enumerator NVPLTENSOR_STATUS_NOT_SUPPORTED#
The requested operation is not supported.
-
enumerator NVPLTENSOR_STATUS_LICENSE_ERROR#
The functionality requested requires some license and an error was detected when trying to check the current licensing.
-
enumerator NVPLTENSOR_STATUS_INSUFFICIENT_WORKSPACE#
The provided workspace was insufficient.
-
enumerator NVPLTENSOR_STATUS_IO_ERROR#
Indicates an error related to file I/O.
-
enumerator NVPLTENSOR_STATUS_SUCCESS#
nvpltensorLoggerCallback_t
#
-
typedef void (*nvpltensorLoggerCallback_t)(int32_t logLevel, const char *functionName, const char *message)#
A function pointer type for logging.