Tensors#
Tensor types and functions.
miopenDataType_t#
-
enum miopenDataType_t#
MIOpen floating point datatypes. Both 32-bit and 16-bit floats are supported in MIOpen.
Values:
-
enumerator miopenHalf#
16-bit floating point (Fully supported)
-
enumerator miopenFloat#
32-bit floating point (Fully supported)
-
enumerator miopenInt32#
32-bit int point (Partially supported)
-
enumerator miopenInt8#
8-bit int point (Partially supported)
-
enumerator miopenInt8x4#
Pack of four 8-bit int points in NCHW_VECT_C format (Partially supported)
-
enumerator miopenBFloat16#
16-bit binary floating point (8-bit exponent, 7-bit fraction) (Partially supported)
-
enumerator miopenDouble#
64-bit floating point (Partially supported)
-
enumerator miopenHalf#
miopenTensorOp_t#
-
enum miopenTensorOp_t#
Element-wise tensor operation modes
Values:
-
enumerator miopenTensorOpAdd#
Add tensors element-wise
-
enumerator miopenTensorOpMul#
Multiply two tensors element-wise
-
enumerator miopenTensorOpMin#
Minimum of tensor element pairs
-
enumerator miopenTensorOpMax#
Maximum of tensor element pairs
-
enumerator miopenTensorOpAdd#
miopenCreateTensorDescriptor#
-
miopenStatus_t miopenCreateTensorDescriptor(miopenTensorDescriptor_t *tensorDesc)#
Create a Tensor Descriptor.
API for creating an uninitialized tensor descriptor.
- Parameters:
tensorDesc – Pointer to a tensor descriptor type (output)
- Returns:
miopenStatus_t
miopenSet4dTensorDescriptor#
-
miopenStatus_t miopenSet4dTensorDescriptor(miopenTensorDescriptor_t tensorDesc, miopenDataType_t dataType, int n, int c, int h, int w)#
Set shape of 4D tensor.
Interface for setting 4-D tensor shape. MIOpen currently only implements NCHW layout.
- Parameters:
tensorDesc – Tensor descriptor type (output)
dataType – MIOpen datatype (input)
n – Mini-batch size (input)
c – Number of channels (input)
h – Data height dimension size (input)
w – Data width dimension size (input)
- Returns:
miopenStatus_t
miopenGet4dTensorDescriptor#
-
miopenStatus_t miopenGet4dTensorDescriptor(miopenTensorDescriptor_t tensorDesc, miopenDataType_t *dataType, int *n, int *c, int *h, int *w, int *nStride, int *cStride, int *hStride, int *wStride)#
Get the details of the tensor descriptor.
Interface to query the 4-D tensor shape.
- Parameters:
tensorDesc – Tensor descriptor type (input)
dataType – MIOpen datatype (input)
n – Mini-batch size (output)
c – Number of channels (output)
h – Data height dimension size (output)
w – Data width dimension size (output)
nStride – Mini-batch dimension stride (output)
cStride – Channel dimension stride (output)
hStride – Height dimension stride (output)
wStride – Width dimension stride (output)
- Returns:
miopenStatus_t
miopenSetTensorDescriptor#
-
miopenStatus_t miopenSetTensorDescriptor(miopenTensorDescriptor_t tensorDesc, miopenDataType_t dataType, int nbDims, int *dimsA, int *stridesA)#
Set shape of N-dimensional tensor.
Interface for setting tensor shape. MIOpen has support for 1, 2, 3, 4, 5 dimensional tensor of layout.
- Parameters:
tensorDesc – Tensor descriptor type (input)
dataType – MIOpen datatype (input)
nbDims – Number of dimensions in the dimsA array (input)
dimsA – Array containing the size of dimensions (input)
stridesA – Array containing the size of stride (input)
- Returns:
miopenStatus_t
miopenGetTensorDescriptorSize#
-
miopenStatus_t miopenGetTensorDescriptorSize(miopenTensorDescriptor_t tensorDesc, int *size)#
Get size of N-dimensional tensor.
Interface for querying tensor size. MIOpen has support for 1, 2, 3, 4, 5 dimensional tensor of layout.
- Parameters:
tensorDesc – Tensor descriptor type (input)
size – number of elements in tensor described by the descriptor (output)
- Returns:
miopenStatus_t
miopenGetTensorDescriptor#
-
miopenStatus_t miopenGetTensorDescriptor(miopenTensorDescriptor_t tensorDesc, miopenDataType_t *dataType, int *dimsA, int *stridesA)#
Get the details of the N-dimensional tensor descriptor.
- Parameters:
tensorDesc – Tensor descriptor type (input)
dataType – MIOpen datatype (input)
dimsA – Array containing the size of dimensions (output)
stridesA – Array containing the size of stride (output)
- Returns:
miopenStatus_t
miopenDestroyTensorDescriptor#
-
miopenStatus_t miopenDestroyTensorDescriptor(miopenTensorDescriptor_t tensorDesc)#
Destroys the tensor descriptor.
- Parameters:
tensorDesc – Tensor descriptor type (input)
- Returns:
miopenStatus_t
miopenOpTensor#
-
miopenStatus_t miopenOpTensor(miopenHandle_t handle, miopenTensorOp_t tensorOp, const void *alpha1, const miopenTensorDescriptor_t aDesc, const void *A, const void *alpha2, const miopenTensorDescriptor_t bDesc, const void *B, const void *beta, const miopenTensorDescriptor_t cDesc, void *C)#
Execute element-wise tensor operations.
This function implements: \( C = op ( alpha1[0] * A, alpha2[0] * B ) + beta[0] * C \)
For Forward Bias one can also use, miopenConvolutionForwardBias()
- Parameters:
handle – MIOpen handle (input)
tensorOp – Operation from miopenTensorOp_t (input)
alpha1 – Tensor A’s floating point scaling factor, allocated on the host (input)
aDesc – Tensor descriptor for tensor A (input)
A – Tensor A (input)
alpha2 – Tensor B’s floating point scaling factor, allocated on the host (input)
bDesc – Tensor descriptor for tensor B (input)
B – Tensor B (input)
beta – Tensor C’s floating point scaling factor, allocated on the host (input)
cDesc – Tensor descriptor for tensor C (input)
C – Tensor C (input and output)
- Returns:
miopenStatus_t
miopenSetTensor#
-
miopenStatus_t miopenSetTensor(miopenHandle_t handle, const miopenTensorDescriptor_t yDesc, void *y, const void *alpha)#
Fills a tensor with a single value.
Supported datatypes are fp32, fp16, and bfp16
- Parameters:
handle – MIOpen handle (input)
yDesc – Tensor descriptor for tensor y (input)
y – Tensor y (input)
alpha – Pointer to fill value (input)
- Returns:
miopenStatus_t
miopenScaleTensor#
-
miopenStatus_t miopenScaleTensor(miopenHandle_t handle, const miopenTensorDescriptor_t yDesc, void *y, const void *alpha)#
Scales all elements in a tensor by a single value.
Supported datatypes are fp32 and fp16
- Parameters:
handle – MIOpen handle (input)
yDesc – Tensor descriptor for tensor y (input)
y – Tensor y (input and output)
alpha – Floating point scaling factor, allocated on the host (input)
- Returns:
miopenStatus_t