/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-miopen/checkouts/latest/include/miopen/miopen.h#
/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-miopen/checkouts/latest/include/miopen/miopen.h
Fuse two problems into a single one. Problems can be either regular, or fused. No problems are disposed in the process, so the problem2 should be destroyed manually if it is not needed anymore.
miopenProblem_t problem = makeSomeProblem1(); miopenProblem_t problem2 = makeSomeProblem2(); miopenProblem_t problem3 = makeSomeProblem3(); miopenFuseProblems(problem, problem2); // Now problem contains {problem1, problem2} miopenFuseProblems(problem, problem3); // Now problem contains {problem1, problem2, problem3} miopenDestroyProblem(problem2); miopenDestroyProblem(problem3);
- Note
- As of now there is no way to actually get any solution for this kind of problems.
- Parameters
-
problem1 The first problem to fuse. The result would be stored here. problem2 The second problem to fuse.
- Returns
- miopenStatus_t
/*******************************************************************************
*
* MIT License
*
* Copyright (c) 2023 Advanced Micro Devices, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
*******************************************************************************/
#ifndef MIOPEN_GUARD_MIOPEN_H_
#define MIOPEN_GUARD_MIOPEN_H_
#ifdef __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wextern-c-compat"
#endif
#include <stddef.h>
#include <stdbool.h>
#include <miopen/config.h>
#include <miopen/export.h>
#if MIOPEN_BACKEND_OPENCL
#define CL_TARGET_OPENCL_VERSION 120
#if defined(__APPLE__) || defined(__MACOSX)
#include <OpenCL/cl.h>
#else
#define CL_USE_DEPRECATED_OPENCL_1_2_APIS
#include <CL/cl.h>
#endif
#elif MIOPEN_BACKEND_HIP
#include <hip/hip_runtime_api.h>
#endif
/*
* @defgroup convolutions
* @defgroup pooling
* @defgroup handle
* @defgroup layernorm
* @defgroup LRN
* @defgroup batchnorm
* @defgroup activation
* @defgroup tensor
* @defgroup softmax
* @defgroup RNN
* @defgroup fusion
* @defgroup LossFunction
* @defgroup TensorReduce
* @defgroup find2
* @defgroup sum
* @defgroup ReduceExtreme
* @defgroup groupnorm
* @defgroup cat
* @defgroup SGD
*
*/
#define MIOPEN_DECLARE_OBJECT(name) \
struct name \
{ \
}; \
typedef struct name* name##_t;
#ifdef __cplusplus
extern "C" {
#endif
#if MIOPEN_BACKEND_OPENCL
typedef cl_command_queue miopenAcceleratorQueue_t;
#elif MIOPEN_BACKEND_HIP
typedef hipStream_t miopenAcceleratorQueue_t;
#endif
MIOPEN_DECLARE_OBJECT(miopenHandle);
typedef enum
{
miopenStatusSuccess = 0,
miopenStatusBadParm = 3,
#ifdef MIOPEN_BETA_API
typedef enum
{
#endif
typedef void* (*miopenAllocatorFunction)(void* context, size_t sizeBytes);
miopenAcceleratorQueue_t stream);
miopenAcceleratorQueue_t streamID);
miopenAcceleratorQueue_t* streamID);
miopenAllocatorFunction allocator,
miopenDeallocatorFunction deallocator,
void* allocatorContext);
// CLOSEOUT HANDLE DOXYGEN GROUP
MIOPEN_DECLARE_OBJECT(miopenFusionOpDescriptor);
MIOPEN_DECLARE_OBJECT(miopenTensorDescriptor);
MIOPEN_DECLARE_OBJECT(miopenSeqTensorDescriptor);
MIOPEN_DECLARE_OBJECT(miopenConvolutionDescriptor);
MIOPEN_DECLARE_OBJECT(miopenPoolingDescriptor);
MIOPEN_DECLARE_OBJECT(miopenLRNDescriptor);
MIOPEN_DECLARE_OBJECT(miopenActivationDescriptor);
MIOPEN_DECLARE_OBJECT(miopenRNNDescriptor);
MIOPEN_DECLARE_OBJECT(miopenCTCLossDescriptor);
MIOPEN_DECLARE_OBJECT(miopenDropoutDescriptor);
MIOPEN_DECLARE_OBJECT(miopenReduceTensorDescriptor);
MIOPEN_DECLARE_OBJECT(miopenMhaDescriptor);
MIOPEN_DECLARE_OBJECT(miopenSoftmaxDescriptor);
typedef enum
{
miopenHalf = 0,
miopenFloat = 1,
miopenInt32 = 2,
miopenInt8 = 3,
// miopenInt8x4 = 4, /*!< Pack of 4x Int8 in NCHW_VECT_C format (Support discontinued) */
miopenBFloat16 = 5,
miopenDouble = 6,
#ifdef MIOPEN_BETA_API
miopenFloat8 = 7,
miopenBFloat8 = 8,
#else
// miopenReserved1 = 7,
// miopenReserved2 = 8,
#endif
miopenInt64 = 9,
typedef enum
{
miopenTensorNCHW = 0,
miopenTensorNHWC = 1,
miopenTensorCHWN = 2,
miopenTensorNCHWc4 = 3,
miopenTensorNCHWc8 = 4,
miopenTensorCHWNc4 = 5,
miopenTensorCHWNc8 = 6,
miopenTensorNCDHW = 7,
miopenTensorNDHWC = 8,
typedef enum
{
miopenIndexUint8 = 0,
miopenIndexUint16 = 1,
miopenIndexUint32 = 2,
miopenIndexUint64 = 3,
typedef enum
{
miopenTensorOpAdd = 0,
miopenTensorOpMul = 1,
miopenTensorOpMin = 2,
miopenTensorOpMax = 3,
typedef enum
{
miopenConvolution = 0,
miopenTranspose = 1,
miopenGroupConv = 2,
miopenDepthwise = 3,
typedef enum
{
miopenPaddingDefault = 0,
miopenPaddingSame = 1,
miopenPaddingValid = 2,
typedef enum
{
miopenPoolingMax = 0,
miopenPoolingAverage = 1,
typedef enum
{
typedef enum
{
#ifdef MIOPEN_BETA_API
typedef enum
{
1,
2,
4,
#endif
typedef enum
{
miopenBNSpatial = 1,
typedef enum
{
miopenActivationTANH = 2,
miopenActivationRELU = 3,
miopenActivationABS = 5,
7,
8,
9,
typedef enum
{
MIOPEN_SOFTMAX_FAST = 0,
MIOPEN_SOFTMAX_LOG = 2,
typedef enum
{
1,
#define MIOPEN_API_VERSION_REDUCE_TENSOR 1
typedef enum
{
1,
2,
3,
4,
5,
6,
// MIOPEN_REDUCE_TENSOR_MUL_NO_ZEROS =
// 8, /*!< the operation is same as MUL, but does not have the zero values considered */
typedef enum
{
MIOPEN_PROPAGATE_NAN = 1,
typedef enum
{
typedef enum
{
MIOPEN_32BIT_INDICES = 0,
MIOPEN_64BIT_INDICES = 1,
MIOPEN_16BIT_INDICES = 2,
MIOPEN_8BIT_INDICES = 3,
typedef enum
{
0,
1,
#ifdef MIOPEN_BETA_API
2,
#else
// miopenReserved1 = 2,
#endif
MIOPEN_EXPORT miopenStatus_t
miopenSetNdTensorDescriptorWithLayout(miopenTensorDescriptor_t tensorDesc,
miopenDataType_t dataType,
miopenTensorLayout_t tensorLayout,
const int* lens,
int num_lens);
miopenDataType_t dataType,
int n,
int c,
int h,
int w,
int nStride,
int cStride,
int hStride,
int wStride);
miopenDataType_t* dataType,
int* n,
int* c,
int* h,
int* w,
int* nStride,
int* cStride,
int* hStride,
int* wStride);
miopenDataType_t dataType,
int nbDims,
const int* dimsA,
const int* stridesA);
#ifdef MIOPEN_BETA_API
miopenDataType_t dataType,
int nbDims,
const size_t* dimsA,
const size_t* stridesA);
#endif
#ifdef MIOPEN_BETA_API
miopenDataType_t cast_type);
#endif
int* size);
miopenDataType_t* dataType,
int* dimsA,
int* stridesA);
MIOPEN_EXPORT miopenStatus_t
miopenCreateSeqTensorDescriptor(miopenSeqTensorDescriptor_t* tensorDesc);
MIOPEN_EXPORT miopenStatus_t
miopenDestroySeqTensorDescriptor(miopenSeqTensorDescriptor_t tensorDesc);
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);
const miopenTensorDescriptor_t yDesc,
void* y,
const void* alpha);
const miopenTensorDescriptor_t yDesc,
void* y,
const void* alpha);
size_t* numBytes);
const void* alpha,
const miopenTensorDescriptor_t xDesc,
const void* x,
const void* beta,
const miopenTensorDescriptor_t yDesc,
void* y);
// CLOSEOUT TENSOR DOXYGEN GROUP
MIOPEN_EXPORT miopenStatus_t
miopenCreateConvolutionDescriptor(miopenConvolutionDescriptor_t* convDesc);
MIOPEN_EXPORT miopenStatus_t miopenInitConvolutionDescriptor(miopenConvolutionDescriptor_t convDesc,
miopenConvolutionMode_t c_mode,
int pad_h,
int pad_w,
int stride_h,
int stride_w,
int dilation_h,
int dilation_w);
MIOPEN_EXPORT miopenStatus_t
miopenInitConvolutionNdDescriptor(miopenConvolutionDescriptor_t convDesc,
int spatialDim,
const int* padA,
const int* strideA,
const int* dilationA,
miopenConvolutionMode_t c_mode);
int* spatialDim);
miopenConvolutionMode_t* c_mode,
int* pad_h,
int* pad_w,
int* stride_h,
int* stride_w,
int* dilation_h,
int* dilation_w);
MIOPEN_EXPORT miopenStatus_t
miopenGetConvolutionNdDescriptor(miopenConvolutionDescriptor_t convDesc,
int requestedSpatialDim,
int* spatialDim,
int* padA,
int* strideA,
int* dilationA,
miopenConvolutionMode_t* c_mode);
int* groupCount);
int groupCount);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionDescriptor_t convDesc, int spatialDim, const int* adjA);
MIOPEN_EXPORT miopenStatus_t
miopenGetConvolutionForwardOutputDim(miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t inputTensorDesc,
const miopenTensorDescriptor_t filterDesc,
int* n,
int* c,
int* h,
int* w);
MIOPEN_EXPORT miopenStatus_t
miopenGetConvolutionNdForwardOutputDim(miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t inputTensorDesc,
const miopenTensorDescriptor_t filterDesc,
int* nDim,
int* outputTensorDimA);
MIOPEN_EXPORT miopenStatus_t
miopenDestroyConvolutionDescriptor(miopenConvolutionDescriptor_t convDesc);
const miopenConvolutionAttrib_t attr,
int value);
const miopenConvolutionAttrib_t attr,
int* value);
typedef enum
{
typedef enum
{
typedef enum
{
4,
typedef enum
{
typedef struct
{
union
{
miopenConvFwdAlgorithm_t fwd_algo;
miopenConvBwdWeightsAlgorithm_t bwd_weights_algo;
bwd_data_algo;
};
float time;
size_t memory;
typedef struct
{
float time;
size_t workspace_size;
uint64_t solution_id;
miopenConvAlgorithm_t algorithm;
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionForwardGetSolutionCount(miopenHandle_t handle,
const miopenTensorDescriptor_t wDesc,
const miopenTensorDescriptor_t xDesc,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t yDesc,
size_t* solutionCount);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionForwardGetSolution(miopenHandle_t handle,
const miopenTensorDescriptor_t wDesc,
const miopenTensorDescriptor_t xDesc,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t yDesc,
const size_t maxSolutionCount,
size_t* solutionCount,
miopenConvSolution_t* solutions);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionForwardGetSolutionWorkspaceSize(miopenHandle_t handle,
const miopenTensorDescriptor_t wDesc,
const miopenTensorDescriptor_t xDesc,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t yDesc,
const uint64_t solution_id,
size_t* workSpaceSize);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionForwardCompileSolution(miopenHandle_t handle,
const miopenTensorDescriptor_t wDesc,
const miopenTensorDescriptor_t xDesc,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t yDesc,
const uint64_t solution_id);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionForwardImmediate(miopenHandle_t handle,
const miopenTensorDescriptor_t wDesc,
const void* w,
const miopenTensorDescriptor_t xDesc,
const void* x,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t yDesc,
void* y,
void* workSpace,
size_t workSpaceSize,
const uint64_t solution_id);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionBackwardDataGetSolutionCount(miopenHandle_t handle,
const miopenTensorDescriptor_t dyDesc,
const miopenTensorDescriptor_t wDesc,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t dxDesc,
size_t* solutionCount);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionBackwardDataGetSolution(miopenHandle_t handle,
const miopenTensorDescriptor_t dyDesc,
const miopenTensorDescriptor_t wDesc,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t dxDesc,
const size_t maxSolutionCount,
size_t* solutionCount,
miopenConvSolution_t* solutions);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionBackwardDataGetSolutionWorkspaceSize(miopenHandle_t handle,
const miopenTensorDescriptor_t dyDesc,
const miopenTensorDescriptor_t wDesc,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t dxDesc,
const uint64_t solution_id,
size_t* workSpaceSize);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionBackwardDataCompileSolution(miopenHandle_t handle,
const miopenTensorDescriptor_t dyDesc,
const miopenTensorDescriptor_t wDesc,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t dxDesc,
const uint64_t solution_id);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionBackwardDataImmediate(miopenHandle_t handle,
const miopenTensorDescriptor_t dyDesc,
const void* dy,
const miopenTensorDescriptor_t wDesc,
const void* w,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t dxDesc,
void* dx,
void* workSpace,
size_t workSpaceSize,
const uint64_t solution_id);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionBackwardWeightsGetSolutionCount(miopenHandle_t handle,
const miopenTensorDescriptor_t dyDesc,
const miopenTensorDescriptor_t xDesc,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t dwDesc,
size_t* solutionCount);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionBackwardWeightsGetSolution(miopenHandle_t handle,
const miopenTensorDescriptor_t dyDesc,
const miopenTensorDescriptor_t xDesc,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t dwDesc,
const size_t maxSolutionCount,
size_t* solutionCount,
miopenConvSolution_t* solutions);
miopenHandle_t handle,
const miopenTensorDescriptor_t dyDesc,
const miopenTensorDescriptor_t xDesc,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t dwDesc,
const uint64_t solution_id,
size_t* workSpaceSize);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionBackwardWeightsCompileSolution(miopenHandle_t handle,
const miopenTensorDescriptor_t dyDesc,
const miopenTensorDescriptor_t xDesc,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t dwDesc,
const uint64_t solution_id);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionBackwardWeightsImmediate(miopenHandle_t handle,
const miopenTensorDescriptor_t dyDesc,
const void* dy,
const miopenTensorDescriptor_t xDesc,
const void* x,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t dwDesc,
void* dw,
void* workSpace,
size_t workSpaceSize,
const uint64_t solution_id);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionForwardGetWorkSpaceSize(miopenHandle_t handle,
const miopenTensorDescriptor_t wDesc,
const miopenTensorDescriptor_t xDesc,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t yDesc,
size_t* workSpaceSize);
MIOPEN_EXPORT miopenStatus_t
miopenFindConvolutionForwardAlgorithm(miopenHandle_t handle,
const miopenTensorDescriptor_t xDesc,
const void* x,
const miopenTensorDescriptor_t wDesc,
const void* w,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t yDesc,
void* y,
const int requestAlgoCount,
int* returnedAlgoCount,
miopenConvAlgoPerf_t* perfResults,
void* workSpace,
size_t workSpaceSize,
bool exhaustiveSearch);
const void* alpha,
const miopenTensorDescriptor_t xDesc,
const void* x,
const miopenTensorDescriptor_t wDesc,
const void* w,
const miopenConvolutionDescriptor_t convDesc,
miopenConvFwdAlgorithm_t algo,
const void* beta,
const miopenTensorDescriptor_t yDesc,
void* y,
void* workSpace,
size_t workSpaceSize);
const void* alpha,
const miopenTensorDescriptor_t bDesc,
const void* b,
const void* beta,
const miopenTensorDescriptor_t yDesc,
void* y);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionBackwardDataGetWorkSpaceSize(miopenHandle_t handle,
const miopenTensorDescriptor_t dyDesc,
const miopenTensorDescriptor_t wDesc,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t dxDesc,
size_t* workSpaceSize);
MIOPEN_EXPORT miopenStatus_t
miopenFindConvolutionBackwardDataAlgorithm(miopenHandle_t handle,
const miopenTensorDescriptor_t dyDesc,
const void* dy,
const miopenTensorDescriptor_t wDesc,
const void* w,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t dxDesc,
void* dx,
const int requestAlgoCount,
int* returnedAlgoCount,
miopenConvAlgoPerf_t* perfResults,
void* workSpace,
size_t workSpaceSize,
bool exhaustiveSearch);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionBackwardData(miopenHandle_t handle,
const void* alpha,
const miopenTensorDescriptor_t dyDesc,
const void* dy,
const miopenTensorDescriptor_t wDesc,
const void* w,
const miopenConvolutionDescriptor_t convDesc,
const void* beta,
const miopenTensorDescriptor_t dxDesc,
void* dx,
void* workSpace,
size_t workSpaceSize);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionBackwardWeightsGetWorkSpaceSize(miopenHandle_t handle,
const miopenTensorDescriptor_t dyDesc,
const miopenTensorDescriptor_t xDesc,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t dwDesc,
size_t* workSpaceSize);
MIOPEN_EXPORT miopenStatus_t
miopenFindConvolutionBackwardWeightsAlgorithm(miopenHandle_t handle,
const miopenTensorDescriptor_t dyDesc,
const void* dy,
const miopenTensorDescriptor_t xDesc,
const void* x,
const miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t dwDesc,
void* dw,
const int requestAlgoCount,
int* returnedAlgoCount,
miopenConvAlgoPerf_t* perfResults,
void* workSpace,
size_t workSpaceSize,
bool exhaustiveSearch);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionBackwardWeights(miopenHandle_t handle,
const void* alpha,
const miopenTensorDescriptor_t dyDesc,
const void* dy,
const miopenTensorDescriptor_t xDesc,
const void* x,
const miopenConvolutionDescriptor_t convDesc,
const void* beta,
const miopenTensorDescriptor_t dwDesc,
void* dw,
void* workSpace,
size_t workSpaceSize);
const void* alpha,
const miopenTensorDescriptor_t dyDesc,
const void* dy,
const void* beta,
const miopenTensorDescriptor_t dbDesc,
void* db);
// CLOSEOUT CONVOLUTIONS DOXYGEN GROUP
// Pooling APIs
miopenIndexType_t index_type);
miopenIndexType_t* index_type);
miopenPoolingDescriptor_t poolDesc, miopenPoolingWorkspaceIndexMode_t workspace_index);
miopenPoolingDescriptor_t poolDesc, miopenPoolingWorkspaceIndexMode_t* workspace_index);
miopenPoolingMode_t mode,
int windowHeight,
int windowWidth,
int pad_h,
int pad_w,
int stride_h,
int stride_w);
miopenPoolingMode_t* mode,
int* windowHeight,
int* windowWidth,
int* pad_h,
int* pad_w,
int* stride_h,
int* stride_w);
MIOPEN_EXPORT miopenStatus_t
const miopenTensorDescriptor_t tensorDesc,
int* n,
int* c,
int* h,
int* w);
const miopenPoolingMode_t mode,
int nbDims,
const int* windowDimA,
const int* padA,
const int* stridesA);
int nbDimsRequested,
miopenPoolingMode_t* mode,
int* nbDims,
int* windowDimA,
int* padA,
int* stridesA);
MIOPEN_EXPORT miopenStatus_t
const miopenTensorDescriptor_t tensorDesc,
int dims,
int* tensorDimArr);
size_t* workSpaceSize);
MIOPEN_EXPORT miopenStatus_t
const miopenTensorDescriptor_t yDesc,
size_t* workSpaceSize);
const miopenPoolingDescriptor_t poolDesc,
const void* alpha,
const miopenTensorDescriptor_t xDesc,
const void* x,
const void* beta,
const miopenTensorDescriptor_t yDesc,
void* y,
bool do_backward,
void* workSpace,
size_t workSpaceSize);
const miopenPoolingDescriptor_t poolDesc,
const void* alpha,
const miopenTensorDescriptor_t yDesc,
const void* y,
const miopenTensorDescriptor_t dyDesc,
const void* dy,
const miopenTensorDescriptor_t xDesc,
const void* x,
const void* beta,
const miopenTensorDescriptor_t dxDesc,
void* dx,
void* workSpace);
// CLOSEOUT POOLING DOXYGEN GROUP
// LRN APIs
miopenLRNMode_t mode,
unsigned int lrnN,
double lrnAlpha,
double lrnBeta,
double lrnK);
miopenLRNMode_t* mode,
unsigned int* lrnN,
double* lrnAlpha,
double* lrnBeta,
double* lrnK);
size_t* workSpaceSize);
const miopenLRNDescriptor_t lrnDesc,
const void* alpha,
const miopenTensorDescriptor_t xDesc,
const void* x,
const void* beta,
const miopenTensorDescriptor_t yDesc,
void* y,
bool do_backward,
void* workSpace);
const miopenLRNDescriptor_t lrnDesc,
const void* alpha,
const miopenTensorDescriptor_t yDesc,
const void* y,
const miopenTensorDescriptor_t dyDesc,
const void* dy,
const miopenTensorDescriptor_t xDesc,
const void* x,
const void* beta,
const miopenTensorDescriptor_t dxDesc,
void* dx,
const void* workSpace);
// CLOSEOUT LRN DOXYGEN GROUP
#ifdef MIOPEN_BETA_API
// LayerNorm APIs
miopenNormMode_t mode,
const miopenTensorDescriptor_t xDesc,
const void* x,
const miopenTensorDescriptor_t weightDesc,
const void* weight,
const miopenTensorDescriptor_t biasDesc,
const void* bias,
const float epsilon,
const int32_t normalized_dim,
const miopenTensorDescriptor_t yDesc,
void* y,
const miopenTensorDescriptor_t meanDesc,
void* mean,
const miopenTensorDescriptor_t rstdDesc,
void* rstd);
// CLOSEOUT LAYERNORM DOXYGEN GROUP
#endif
#ifdef MIOPEN_BETA_API
// Cat APIs
const int32_t xCount,
const miopenTensorDescriptor_t* xDescs,
const void* const* xs,
const miopenTensorDescriptor_t yDesc,
void* y,
const int32_t dim);
// CLOSEOUT CAT DOXYGEN GROUP
#endif
// Batch-Normalization APIs
const miopenTensorDescriptor_t xDesc,
miopenBatchNormMode_t bn_mode);
MIOPEN_EXPORT miopenStatus_t
miopenBatchNormalizationForwardTraining(miopenHandle_t handle,
miopenBatchNormMode_t bn_mode,
void* alpha,
void* beta,
const miopenTensorDescriptor_t xDesc,
const void* x,
const miopenTensorDescriptor_t yDesc,
void* y,
const miopenTensorDescriptor_t bnScaleBiasMeanVarDesc,
void* bnScale,
void* bnBias,
double expAvgFactor,
void* resultRunningMean,
void* resultRunningVariance,
double epsilon,
void* resultSaveMean,
void* resultSaveInvVariance);
MIOPEN_EXPORT miopenStatus_t
miopenBatchNormalizationForwardInference(miopenHandle_t handle,
miopenBatchNormMode_t bn_mode,
void* alpha,
void* beta,
const miopenTensorDescriptor_t xDesc,
const void* x,
const miopenTensorDescriptor_t yDesc,
void* y,
const miopenTensorDescriptor_t bnScaleBiasMeanVarDesc,
void* bnScale,
void* bnBias,
void* estimatedMean,
void* estimatedVariance,
double epsilon);
MIOPEN_EXPORT miopenStatus_t
miopenBatchNormalizationBackward(miopenHandle_t handle,
miopenBatchNormMode_t bn_mode,
const void* alphaDataDiff,
const void* betaDataDiff,
const void* alphaParamDiff,
const void* betaParamDiff,
const miopenTensorDescriptor_t xDesc,
const void* x,
const miopenTensorDescriptor_t dyDesc,
const void* dy,
const miopenTensorDescriptor_t dxDesc,
void* dx,
const miopenTensorDescriptor_t bnScaleBiasDiffDesc,
const void* bnScale,
void* resultBnScaleDiff,
void* resultBnBiasDiff,
double epsilon,
const void* savedMean,
const void* savedInvVariance);
// CLOSEOUT BATCHNORM DOXYGEN GROUP
// Activation APIs
MIOPEN_EXPORT miopenStatus_t
miopenCreateActivationDescriptor(miopenActivationDescriptor_t* activDesc);
MIOPEN_EXPORT miopenStatus_t
miopenActivationMode_t mode,
double activAlpha,
double activBeta,
double activGamma);
MIOPEN_EXPORT miopenStatus_t
miopenActivationMode_t* mode,
double* activAlpha,
double* activBeta,
double* activGamma);
const miopenActivationDescriptor_t activDesc,
const void* alpha,
const miopenTensorDescriptor_t xDesc,
const void* x,
const void* beta,
const miopenTensorDescriptor_t yDesc,
void* y);
const miopenActivationDescriptor_t activDesc,
const void* alpha,
const miopenTensorDescriptor_t yDesc,
const void* y,
const miopenTensorDescriptor_t dyDesc,
const void* dy,
const miopenTensorDescriptor_t xDesc,
const void* x,
const void* beta,
const miopenTensorDescriptor_t dxDesc,
void* dx);
MIOPEN_EXPORT miopenStatus_t
miopenDestroyActivationDescriptor(miopenActivationDescriptor_t activDesc);
// CLOSEOUT ACTIVATION DOXYGEN GROUP
// Softmax APIs
const void* alpha,
const miopenTensorDescriptor_t xDesc,
const void* x,
const void* beta,
const miopenTensorDescriptor_t yDesc,
void* y);
const void* alpha,
const miopenTensorDescriptor_t yDesc,
const void* y,
const miopenTensorDescriptor_t dyDesc,
const void* dy,
const void* beta,
const miopenTensorDescriptor_t dxDesc,
void* dx);
const void* alpha,
const miopenTensorDescriptor_t xDesc,
const void* x,
const void* beta,
const miopenTensorDescriptor_t yDesc,
void* y,
miopenSoftmaxAlgorithm_t algorithm,
miopenSoftmaxMode_t mode);
const void* alpha,
const miopenTensorDescriptor_t yDesc,
const void* y,
const miopenTensorDescriptor_t dyDesc,
const void* dy,
const void* beta,
const miopenTensorDescriptor_t dxDesc,
void* dx,
miopenSoftmaxAlgorithm_t algorithm,
miopenSoftmaxMode_t mode);
// CLOSEOUT SOFTMAX DOXYGEN GROUP
MIOPEN_DECLARE_OBJECT(miopenFusionPlanDescriptor);
MIOPEN_DECLARE_OBJECT(miopenOperatorDescriptor);
MIOPEN_DECLARE_OBJECT(miopenOperatorArgs);
typedef enum
{
miopenVerticalFusion = 0,
const miopenFusionDirection_t fuseDirection,
const miopenTensorDescriptor_t inputDesc);
miopenFusionPlanDescriptor_t fusePlanDesc);
const int op_idx,
miopenFusionOpDescriptor_t* op);
MIOPEN_EXPORT miopenStatus_t
miopenFusionPlanGetWorkSpaceSize(miopenHandle_t handle,
miopenFusionPlanDescriptor_t fusePlanDesc,
size_t* workSpaceSize,
miopenConvFwdAlgorithm_t algo);
MIOPEN_EXPORT miopenStatus_t
miopenFusionPlanConvolutionGetAlgo(miopenFusionPlanDescriptor_t fusePlanDesc,
const int requestAlgoCount,
int* returnedAlgoCount,
miopenConvFwdAlgorithm_t* returnedAlgos);
miopenFusionPlanDescriptor_t fusePlanDesc, miopenConvFwdAlgorithm_t algo);
miopenFusionOpDescriptor_t* convOp,
miopenConvolutionDescriptor_t convDesc,
const miopenTensorDescriptor_t wDesc);
//---
// Activation forward create ops ---
MIOPEN_EXPORT miopenStatus_t
miopenCreateOpActivationForward(miopenFusionPlanDescriptor_t fusePlanDesc,
miopenFusionOpDescriptor_t* activFwdOp,
miopenActivationMode_t mode);
// Activation backward create ops ---
MIOPEN_EXPORT miopenStatus_t
miopenCreateOpActivationBackward(miopenFusionPlanDescriptor_t fusePlanDesc,
miopenFusionOpDescriptor_t* activBwdOp,
miopenActivationMode_t mode);
// Bias create ops ---
miopenFusionOpDescriptor_t* biasOp,
const miopenTensorDescriptor_t bDesc);
// Batch normalization create ops ---
MIOPEN_EXPORT miopenStatus_t
miopenCreateOpBatchNormInference(miopenFusionPlanDescriptor_t fusePlanDesc,
miopenFusionOpDescriptor_t* bnOp,
const miopenBatchNormMode_t bn_mode,
const miopenTensorDescriptor_t bnScaleBiasMeanVarDesc);
MIOPEN_EXPORT miopenStatus_t
miopenCreateOpBatchNormForward(miopenFusionPlanDescriptor_t fusePlanDesc,
miopenFusionOpDescriptor_t* bnFwdOp,
const miopenBatchNormMode_t bn_mode,
bool runningMeanVariance);
MIOPEN_EXPORT miopenStatus_t
miopenCreateOpBatchNormBackward(miopenFusionPlanDescriptor_t fusePlanDesc,
miopenFusionOpDescriptor_t* bnBwdOp,
const miopenBatchNormMode_t bn_mode);
//---
// Convolution set arguments ---
const miopenFusionOpDescriptor_t convOp,
const void* alpha,
const void* beta,
const void* w);
// Activation set arguments ---
MIOPEN_EXPORT miopenStatus_t
miopenSetOpArgsActivForward(miopenOperatorArgs_t args,
const miopenFusionOpDescriptor_t activFwdOp,
const void* alpha,
const void* beta,
double activAlpha,
double activBeta,
double activGamma);
MIOPEN_EXPORT miopenStatus_t
miopenSetOpArgsActivBackward(miopenOperatorArgs_t args,
const miopenFusionOpDescriptor_t activBwdOp,
const void* alpha,
const void* beta,
const void* y,
const void* reserved,
double activAlpha,
double activBeta,
double activGamma);
// Batch Normalization set arguments ---
MIOPEN_EXPORT miopenStatus_t
miopenSetOpArgsBatchNormInference(miopenOperatorArgs_t args,
const miopenFusionOpDescriptor_t bnOp,
const void* alpha,
const void* beta,
const void* bnScale,
const void* bnBias,
const void* estimatedMean,
const void* estimatedVariance,
double epsilon);
const miopenFusionOpDescriptor_t bnOp,
const void* alpha,
const void* beta,
const void* bnScale,
const void* bnBias,
void* savedMean,
void* savedInvVariance,
void* runningMean,
void* runningVariance,
double expAvgFactor,
double epsilon);
const miopenFusionOpDescriptor_t bnOp,
const void* alpha,
const void* beta,
const void* x,
const void* bnScale,
const void* bnBias,
void* resultBnScaleDiff,
void* resultBnBiasDiff,
const void* savedMean,
const void* savedInvVariance);
// Bias forward set arguments ---
const miopenFusionOpDescriptor_t biasOp,
const void* alpha,
const void* beta,
const void* bias);
MIOPEN_EXPORT miopenStatus_t
const miopenFusionPlanDescriptor_t fusePlanDesc,
const miopenTensorDescriptor_t inputDesc,
const void* input,
const miopenTensorDescriptor_t outputDesc,
void* output,
miopenOperatorArgs_t args);
MIOPEN_EXPORT miopenStatus_t
miopenConvolutionBiasActivationForward(miopenHandle_t handle,
const void* alpha1,
const miopenTensorDescriptor_t xDesc,
const void* x,
const miopenTensorDescriptor_t wDesc,
const void* w,
const miopenConvolutionDescriptor_t convDesc,
miopenConvFwdAlgorithm_t algo,
void* workspace,
size_t workspaceSizeInBytes,
const void* alpha2,
const miopenTensorDescriptor_t zDesc,
const void* z,
const miopenTensorDescriptor_t biasDesc,
const void* bias,
const miopenActivationDescriptor_t activationDesc,
const miopenTensorDescriptor_t yDesc,
void* y);
// CLOSEOUT FUSION DOXYGEN GROUP
typedef enum
{
miopenRNNRELU = 0,
miopenRNNTANH = 1,
miopenLSTM = 2,
miopenGRU = 3,
typedef enum
{
miopenRNNlinear = 0,
miopenRNNskip = 1,
typedef enum
{
miopenRNNdefault = 0,
1,
typedef enum
{
miopenRNNbidirection = 1,
typedef enum
{
miopenRNNNoBias = 0,
miopenRNNwithBias = 1,
typedef enum
{
miopenRNNAlgoGEMM = 0,
typedef enum
{
miopenRNNIONotPadded = 0,
typedef enum
{
miopenRNNTraining = 0,
miopenRNNInference = 1,
typedef enum
{
miopenRNNMode_t* rnnMode,
miopenRNNAlgo_t* algoMode,
miopenRNNInputMode_t* inputMode,
miopenRNNDirectionMode_t* dirMode,
miopenRNNBiasMode_t* biasMode,
int* hiddenSize,
int* layer);
int* hiddenSize,
int* layer,
miopenDropoutDescriptor_t* dropoutDesc,
miopenRNNInputMode_t* inputMode,
miopenRNNDirectionMode_t* dirMode,
miopenRNNMode_t* rnnMode,
miopenRNNBiasMode_t* biasMode,
miopenRNNAlgo_t* algoMode,
miopenDataType_t* dataType);
const int hsize,
const int nlayers,
miopenRNNInputMode_t inMode,
miopenRNNDirectionMode_t direction,
miopenRNNMode_t rnnMode,
miopenRNNBiasMode_t biasMode,
miopenRNNAlgo_t algo,
miopenDataType_t dataType);
const int hsize,
const int nlayers,
miopenDropoutDescriptor_t dropoutDesc,
miopenRNNInputMode_t inMode,
miopenRNNDirectionMode_t direction,
miopenRNNMode_t rnnMode,
miopenRNNBiasMode_t biasMode,
miopenRNNAlgo_t algo,
miopenDataType_t dataType);
MIOPEN_EXPORT miopenStatus_t
miopenSetRNNDataSeqTensorDescriptor(miopenSeqTensorDescriptor_t seqTensorDesc,
miopenDataType_t dataType,
miopenRNNBaseLayout_t layout,
int maxSequenceLen,
int batchSize,
int vectorSize,
const int* sequenceLenArray,
void* paddingMarker);
MIOPEN_EXPORT miopenStatus_t
miopenGetRNNDataSeqTensorDescriptor(miopenSeqTensorDescriptor_t seqTensorDesc,
miopenDataType_t* dataType,
miopenRNNBaseLayout_t* layout,
int* maxSequenceLen,
int* batchSize,
int* vectorSize,
int sequenceLenArrayLimit,
int* sequenceLenArray,
void* paddingMarker);
const miopenRNNDescriptor_t rnnDesc,
const int sequenceLen,
const miopenTensorDescriptor_t* xDesc,
size_t* numBytes);
miopenRNNDescriptor_t rnnDesc,
const int sequenceLen,
const miopenTensorDescriptor_t* xDesc,
size_t* numBytes);
miopenRNNDescriptor_t rnnDesc,
miopenSeqTensorDescriptor_t xDesc,
miopenRNNFWDMode_t fwdMode,
size_t* workSpaceSize,
size_t* reserveSpaceSize);
miopenRNNDescriptor_t rnnDesc,
miopenTensorDescriptor_t xDesc,
size_t* numBytes,
miopenDataType_t dtype);
miopenRNNDescriptor_t rnnDesc,
miopenTensorDescriptor_t xDesc,
miopenTensorDescriptor_t wDesc,
miopenDataType_t dtype);
miopenRNNDescriptor_t rnnDesc,
const int seqLen,
miopenTensorDescriptor_t* xDesc,
size_t* numBytes);
miopenRNNDescriptor_t rnnDesc,
const int seqLen,
miopenTensorDescriptor_t* xDesc,
size_t* numBytes);
miopenRNNDescriptor_t rnnDesc,
const int layer,
miopenTensorDescriptor_t xDesc,
const int paramID,
size_t* numBytes);
miopenRNNDescriptor_t rnnDesc,
const int layer,
const int biasID,
size_t* numBytes);
miopenRNNDescriptor_t rnnDesc,
const int layer,
miopenTensorDescriptor_t xDesc,
miopenTensorDescriptor_t wDesc,
const void* w,
const int paramID,
miopenTensorDescriptor_t paramDesc,
void* layerParam);
miopenRNNDescriptor_t rnnDesc,
const int layer,
miopenTensorDescriptor_t xDesc,
miopenTensorDescriptor_t wDesc,
const void* w,
const int biasID,
miopenTensorDescriptor_t biasDesc,
void* layerBias);
const int layer,
miopenTensorDescriptor_t xDesc,
const int paramID,
miopenTensorDescriptor_t paramDesc,
size_t* layerParamOffset);
const int layer,
miopenTensorDescriptor_t xDesc,
const int biasID,
miopenTensorDescriptor_t biasDesc,
size_t* layerBiasOffset);
miopenRNNDescriptor_t rnnDesc,
const int layer,
miopenTensorDescriptor_t xDesc,
miopenTensorDescriptor_t wDesc,
void* w,
const int paramID,
miopenTensorDescriptor_t paramDesc,
const void* layerParam);
miopenRNNDescriptor_t rnnDesc,
const int layer,
miopenTensorDescriptor_t xDesc,
miopenTensorDescriptor_t wDesc,
void* w,
const int biasID,
miopenTensorDescriptor_t biasDesc,
const void* layerBias);
miopenRNNPaddingMode_t paddingMode);
miopenRNNPaddingMode_t* paddingMode);
const miopenRNNDescriptor_t rnnDesc,
miopenRNNFWDMode_t fwdMode,
const miopenSeqTensorDescriptor_t xDesc,
const void* x,
const miopenTensorDescriptor_t hDesc,
const void* hx,
void* hy,
const miopenTensorDescriptor_t cDesc,
const void* cx,
void* cy,
const miopenSeqTensorDescriptor_t yDesc,
void* y,
const void* w,
size_t weightSpaceSize,
void* workSpace,
size_t workSpaceNumBytes,
void* reserveSpace,
size_t reserveSpaceNumBytes);
const miopenRNNDescriptor_t rnnDesc,
const miopenSeqTensorDescriptor_t yDesc,
const void* y,
const void* dy,
const miopenTensorDescriptor_t hDesc,
const void* hx,
const void* dhy,
void* dhx,
const miopenTensorDescriptor_t cDesc,
const void* cx,
const void* dcy,
void* dcx,
const miopenSeqTensorDescriptor_t xDesc,
void* dx,
const void* w,
size_t weightSpaceSize,
void* workSpace,
size_t workSpaceNumBytes,
void* reserveSpace,
size_t reserveSpaceNumBytes);
MIOPEN_EXPORT miopenStatus_t
miopenRNNBackwardWeightsSeqTensor(miopenHandle_t handle,
const miopenRNNDescriptor_t rnnDesc,
const miopenSeqTensorDescriptor_t xDesc,
const void* x,
const miopenTensorDescriptor_t hDesc,
const void* hx,
const miopenSeqTensorDescriptor_t yDesc,
const void* y,
void* dw,
size_t weightSpaceSize,
void* workSpace,
size_t workSpaceNumBytes,
const void* reserveSpace,
size_t reserveSpaceNumBytes);
const miopenRNNDescriptor_t rnnDesc,
const int sequenceLen,
const miopenTensorDescriptor_t* xDesc,
const void* x,
const miopenTensorDescriptor_t hxDesc,
const void* hx,
const miopenTensorDescriptor_t cxDesc,
const void* cx,
const miopenTensorDescriptor_t wDesc,
const void* w,
const miopenTensorDescriptor_t* yDesc,
void* y,
const miopenTensorDescriptor_t hyDesc,
void* hy,
const miopenTensorDescriptor_t cyDesc,
void* cy,
void* workSpace,
size_t workSpaceNumBytes,
void* reserveSpace,
size_t reserveSpaceNumBytes);
const miopenRNNDescriptor_t rnnDesc,
const int sequenceLen,
const miopenTensorDescriptor_t* yDesc,
const void* y,
const miopenTensorDescriptor_t* dyDesc,
const void* dy,
const miopenTensorDescriptor_t dhyDesc,
const void* dhy,
const miopenTensorDescriptor_t dcyDesc,
const void* dcy,
const miopenTensorDescriptor_t wDesc,
const void* w,
const miopenTensorDescriptor_t hxDesc,
const void* hx,
const miopenTensorDescriptor_t cxDesc,
const void* cx,
const miopenTensorDescriptor_t* dxDesc,
void* dx,
const miopenTensorDescriptor_t dhxDesc,
void* dhx,
const miopenTensorDescriptor_t dcxDesc,
void* dcx,
void* workSpace,
size_t workSpaceNumBytes,
void* reserveSpace,
size_t reserveSpaceNumBytes);
const miopenRNNDescriptor_t rnnDesc,
const int sequenceLen,
const miopenTensorDescriptor_t* xDesc,
const void* x,
const miopenTensorDescriptor_t hxDesc,
const void* hx,
const miopenTensorDescriptor_t* yDesc,
const void* y,
const miopenTensorDescriptor_t dwDesc,
void* dw,
void* workSpace,
size_t workSpaceNumBytes,
const void* reserveSpace,
size_t reserveSpaceNumBytes);
miopenRNNDescriptor_t rnnDesc,
const int sequenceLen,
const miopenTensorDescriptor_t* xDesc,
const void* x,
const miopenTensorDescriptor_t hxDesc,
const void* hx,
const miopenTensorDescriptor_t cxDesc,
const void* cx,
const miopenTensorDescriptor_t wDesc,
const void* w,
const miopenTensorDescriptor_t* yDesc,
void* y,
const miopenTensorDescriptor_t hyDesc,
void* hy,
const miopenTensorDescriptor_t cyDesc,
void* cy,
void* workSpace,
size_t workSpaceNumBytes);
// CLOSEOUT RNN DOXYGEN GROUP
typedef enum
{
miopenDataType_t* dataType,
int* blank_label_id,
bool* apply_softmax_layer);
miopenDataType_t dataType,
const int blank_label_id,
bool apply_softmax_layer);
MIOPEN_EXPORT miopenStatus_t
miopenGetCTCLossWorkspaceSize(miopenHandle_t handle,
const miopenTensorDescriptor_t probsDesc,
const miopenTensorDescriptor_t gradientsDesc,
const int* labels,
const int* labelLengths,
const int* inputLengths,
miopenCTCLossAlgo_t algo,
const miopenCTCLossDescriptor_t ctcLossDesc,
size_t* workSpaceSize);
const miopenTensorDescriptor_t probsDesc,
const void* probs,
const int* labels,
const int* labelLengths,
const int* inputLengths,
void* losses,
const miopenTensorDescriptor_t gradientsDesc,
void* gradients,
miopenCTCLossAlgo_t algo,
const miopenCTCLossDescriptor_t ctcLossDesc,
void* workSpace,
size_t workSpaceSize);
// CLOSEOUT LossFunction DOXYGEN GROUP
// Dropout APIs
typedef enum
{
size_t* reserveSpaceSizeInBytes);
size_t* stateSizeInBytes);
miopenHandle_t handle,
float* dropout,
void** states,
unsigned long long* seed,
bool* use_mask,
bool* state_evo,
miopenRNGType_t* rng_mode);
miopenHandle_t handle,
float dropout,
void* states,
size_t stateSizeInBytes,
unsigned long long seed,
bool use_mask,
bool state_evo,
miopenRNGType_t rng_mode);
miopenHandle_t handle,
float dropout,
void* states,
size_t stateSizeInBytes,
unsigned long long seed,
bool use_mask,
bool state_evo,
miopenRNGType_t rng_mode);
const miopenDropoutDescriptor_t dropoutDesc,
const miopenTensorDescriptor_t noise_shape,
const miopenTensorDescriptor_t xDesc,
const void* x,
const miopenTensorDescriptor_t yDesc,
void* y,
void* reserveSpace,
size_t reserveSpaceSizeInBytes);
const miopenDropoutDescriptor_t dropoutDesc,
const miopenTensorDescriptor_t noise_shape,
const miopenTensorDescriptor_t dyDesc,
const void* dy,
const miopenTensorDescriptor_t dxDesc,
void* dx,
void* reserveSpace,
size_t reserveSpaceSizeInBytes);
// CLOSEOUT DROPOUT DOXYGEN GROUP
// TensorReduce APIs
MIOPEN_EXPORT miopenStatus_t
miopenCreateReduceTensorDescriptor(miopenReduceTensorDescriptor_t* reduceTensorDesc);
MIOPEN_EXPORT miopenStatus_t
miopenDestroyReduceTensorDescriptor(miopenReduceTensorDescriptor_t reduceTensorDesc);
MIOPEN_EXPORT miopenStatus_t
miopenSetReduceTensorDescriptor(miopenReduceTensorDescriptor_t reduceTensorDesc,
miopenReduceTensorOp_t reduceTensorOp,
miopenDataType_t reduceTensorCompType,
miopenNanPropagation_t reduceTensorNanOpt,
miopenReduceTensorIndices_t reduceTensorIndices,
miopenIndicesType_t reduceTensorIndicesType);
MIOPEN_EXPORT miopenStatus_t
miopenReduceTensorOp_t* reduceTensorOp,
miopenDataType_t* reduceTensorCompType,
miopenNanPropagation_t* reduceTensorNanOpt,
miopenReduceTensorIndices_t* reduceTensorIndices,
miopenIndicesType_t* reduceTensorIndicesType);
MIOPEN_EXPORT miopenStatus_t
miopenGetReductionIndicesSize(miopenHandle_t handle,
const miopenReduceTensorDescriptor_t reduceTensorDesc,
const miopenTensorDescriptor_t aDesc,
const miopenTensorDescriptor_t cDesc,
size_t* sizeInBytes);
MIOPEN_EXPORT miopenStatus_t
miopenGetReductionWorkspaceSize(miopenHandle_t handle,
const miopenReduceTensorDescriptor_t reduceTensorDesc,
const miopenTensorDescriptor_t aDesc,
const miopenTensorDescriptor_t cDesc,
size_t* sizeInBytes);
MIOPEN_EXPORT miopenStatus_t
miopenReduceTensor(miopenHandle_t handle,
const miopenReduceTensorDescriptor_t reduceTensorDesc,
void* indices,
size_t indicesSizeInBytes,
void* workspace,
size_t workspaceSizeInBytes,
const void* alpha,
const miopenTensorDescriptor_t aDesc,
const void* A,
const void* beta,
const miopenTensorDescriptor_t cDesc,
void* C);
// CLOSEOUT TensorReduce DOXYGEN GROUP
// Find 2.0 API
MIOPEN_DECLARE_OBJECT(miopenProblem);
typedef enum
{
#ifdef MIOPEN_BETA_API
#endif
typedef enum
{
miopenTensorMhaK = 4,
miopenTensorMhaQ = 5,
miopenTensorMhaV = 6,
miopenTensorMhaDescaleS = 10,
miopenTensorMhaScaleS = 11,
miopenTensorMhaScaleO = 12,
miopenTensorMhaO = 16,
miopenTensorMhaAmaxO = 17,
miopenTensorMhaAmaxS = 18,
miopenTensorMhaM = 19,
miopenTensorMhaZInv = 20,
miopenTensorMhaDO = 21,
miopenTensorMhaDescaleO = 22,
miopenTensorMhaDescaleDO = 23,
miopenTensorMhaDescaleDS = 24,
miopenTensorMhaScaleDS = 25,
miopenTensorMhaScaleDQ = 26,
miopenTensorMhaScaleDK = 27,
miopenTensorMhaScaleDV = 28,
miopenTensorMhaDQ = 29,
miopenTensorMhaDK = 30,
miopenTensorMhaDV = 31,
miopenTensorMhaAmaxDQ = 32,
miopenTensorMhaAmaxDK = 33,
miopenTensorMhaAmaxDV = 34,
miopenTensorMhaAmaxDS = 35,
#ifdef MIOPEN_BETA_API
miopenTensorActivationX = 36,
miopenTensorActivationY = 37,
miopenTensorActivationDX = 38,
miopenTensorActivationDY = 39,
miopenTensorBiasX = 40,
miopenTensorBiasY = 41,
miopenTensorBias = 42,
miopenTensorSoftmaxX = 43,
miopenTensorSoftmaxY = 44,
miopenTensorSoftmaxDX = 45,
miopenTensorSoftmaxDY = 46,
miopenTensorBatchnormX = 47,
miopenTensorBatchnormY = 48,
miopenTensorBatchnormDX = 59,
miopenTensorBatchnormDY = 60,
#endif
miopenTensorArgumentIsScalar = 1U << 31,
#ifdef MIOPEN_BETA_API
#endif
typedef enum
{
miopenConvolutionDescriptor_t operatorDesc,
miopenProblemDirection_t direction);
miopenMhaDescriptor_t operatorDesc,
miopenProblemDirection_t direction);
float alpha,
float beta,
miopenSoftmaxAlgorithm_t algorithm,
miopenSoftmaxMode_t mode);
MIOPEN_EXPORT miopenStatus_t miopenGetSoftmaxDescriptor(const miopenSoftmaxDescriptor_t softmaxDesc,
float* alpha,
float* beta,
miopenSoftmaxAlgorithm_t* algorithm,
miopenSoftmaxMode_t* mode);
MIOPEN_EXPORT miopenStatus_t
miopenSetProblemTensorDescriptor(miopenProblem_t problem,
const miopenTensorDescriptor_t descriptor);
MIOPEN_DECLARE_OBJECT(miopenFindOptions);
miopenFindResultsOrder_t value);
size_t value);
void* buffer,
size_t size);
void* buffer);
MIOPEN_DECLARE_OBJECT(miopenSolution);
miopenProblem_t problem,
miopenFindOptions_t options,
miopenSolution_t* solutions,
size_t* numSolutions,
size_t maxSolutions);
{
/* @brief Identifier of the tensor argument.
*/
/* @brief Tensor descriptor to override the value stored in the solution.
*
* Some solvers may support overriding input and output tensor descriptors, but right now there
* is no way to tell from the API. Intended for the future use.
*/
miopenTensorDescriptor_t* descriptor;
/* @brief Pointer to the device memory buffer to use for the operation or to the host memory if
* the value is scalar.
*/
};
miopenSolution_t solution,
size_t nInputs,
const miopenTensorArgument_t* tensors,
void* workspace,
size_t workspaceSize);
const char* data,
size_t size);
size_t* workspaceSize);
uint64_t* solverId);
miopenConvAlgorithm_t* result);
#ifdef MIOPEN_BETA_API
MIOPEN_EXPORT miopenStatus_t
miopenCreateActivationProblem(miopenProblem_t* problem,
miopenActivationDescriptor_t operatorDesc,
miopenProblemDirection_t direction);
miopenBatchNormMode_t mode,
bool runningMeanVariance,
miopenProblemDirection_t direction);
MIOPEN_EXPORT miopenStatus_t miopenFuseProblems(miopenProblem_t problem1, miopenProblem_t problem2);
miopenProblemDirection_t direction);
miopenSoftmaxDescriptor_t operatorDesc,
miopenProblemDirection_t direction);
#endif
// CLOSEOUT find2 DOXYGEN GROUP
#ifdef MIOPEN_BETA_API
typedef enum
{
// Sum APIs
const miopenTensorDescriptor_t xDesc,
const int32_t dim,
const miopenTensorDescriptor_t yDesc,
size_t* sizeInBytes);
miopenSumNanPropagation_t nanPropagation,
void* workspace,
size_t workspaceSizeInBytes,
const miopenTensorDescriptor_t xDesc,
const void* x,
const int32_t dim,
const miopenTensorDescriptor_t yDesc,
void* y);
// CLOSEOUT SUM DOXYGEN GROUP
#endif
#ifdef MIOPEN_BETA_API
typedef enum
{
1,
2,
3,
4,
// ReduceExtreme APIs
MIOPEN_EXPORT miopenStatus_t
miopenReduceExtremeForward(miopenHandle_t handle,
const miopenTensorDescriptor_t xDesc,
const void* x,
const int32_t dim,
const miopenReduceExtremeOp_t reduceExtremeOp,
const miopenTensorDescriptor_t yDesc,
void* y,
const miopenTensorDescriptor_t indiceDesc,
void* indice);
// CLOSEOUT REDUCEEXTREME DOXYGEN GROUP
#endif
#ifdef MIOPEN_BETA_API
// GroupNorm APIs
miopenNormMode_t mode,
const miopenTensorDescriptor_t xDesc,
const void* x,
const miopenTensorDescriptor_t weightDesc,
const void* weight,
const miopenTensorDescriptor_t biasDesc,
const void* bias,
const uint64_t num_groups,
const float epsilon,
const miopenTensorDescriptor_t yDesc,
void* y,
const miopenTensorDescriptor_t meanDesc,
void* mean,
const miopenTensorDescriptor_t rstdDesc,
void* rstd);
// CLOSEOUT groupnorm DOXYGEN GROUP
#endif
#ifdef MIOPEN_BETA_API
// LayerNorm APIs
miopenNormMode_t mode,
const miopenTensorDescriptor_t xDesc,
const void* x,
const miopenTensorDescriptor_t x2Desc,
const void* x2,
const miopenTensorDescriptor_t weightDesc,
const void* weight,
const miopenTensorDescriptor_t biasDesc,
const void* bias,
const float epsilon,
const int32_t normalized_dim,
const miopenTensorDescriptor_t yDesc,
void* y,
const miopenTensorDescriptor_t meanDesc,
void* mean,
const miopenTensorDescriptor_t rstdDesc,
void* rstd);
// CLOSEOUT LAYERNORM DOXYGEN GROUP
#endif
#ifdef MIOPEN_BETA_API
// LayerNorm APIs
miopenNormMode_t mode,
const miopenTensorDescriptor_t xDesc,
const void* x,
const miopenTensorDescriptor_t weightDesc,
const void* weight,
const float epsilon,
const miopenTensorDescriptor_t yDesc,
void* y,
const miopenTensorDescriptor_t rstdDesc,
void* rstd);
MIOPEN_EXPORT miopenStatus_t
miopenGetT5LayerNormBackwardWorkspaceSize(miopenHandle_t handle,
miopenNormMode_t mode,
const miopenTensorDescriptor_t dyDesc,
const miopenTensorDescriptor_t xDesc,
const miopenTensorDescriptor_t weightDesc,
const miopenTensorDescriptor_t rstdDesc,
const miopenTensorDescriptor_t dxDesc,
const miopenTensorDescriptor_t dwDesc,
size_t* sizeInBytes);
miopenNormMode_t mode,
void* workspace,
size_t workspaceSizeInBytes,
const miopenTensorDescriptor_t dyDesc,
const void* dy,
const miopenTensorDescriptor_t xDesc,
const void* x,
const miopenTensorDescriptor_t weightDesc,
const void* weight,
const miopenTensorDescriptor_t rstdDesc,
const void* rstd,
const miopenTensorDescriptor_t dxDesc,
void* dx,
const miopenTensorDescriptor_t dwDesc,
void* dw);
// CLOSEOUT LAYERNORM DOXYGEN GROUP
#endif
#ifdef MIOPEN_BETA_API
// Graph API
typedef enum
{
typedef enum
{
MIOPEN_ATTR_ENGINEHEUR_MODE = 200,
MIOPEN_ATTR_ENGINECFG_ENGINE = 300,
MIOPEN_ATTR_TENSOR_DATA_TYPE = 901,
MIOPEN_ATTR_TENSOR_STRIDES = 903,
MIOPEN_ATTR_TENSOR_UNIQUE_ID = 906,
MIOPEN_ATTR_LAYOUT_INFO_TYPES = 1101,
MIOPEN_ATTR_KNOB_INFO_TYPE = 1200,
MIOPEN_ATTR_KNOB_INFO_STRIDE = 1203,
MIOPEN_ATTR_ENGINE_GLOBAL_INDEX = 1301,
MIOPEN_ATTR_ENGINE_KNOB_INFO = 1302,
MIOPEN_ATTR_ENGINE_LAYOUT_INFO = 1304,
MIOPEN_ATTR_ENGINE_BEHAVIOR_NOTE = 1305,
MIOPEN_ATTR_MATMUL_COMP_TYPE = 1500,
MIOPEN_ATTR_MATMUL_PADDING_VALUE = 1501,
MIOPEN_ATTR_REDUCTION_OPERATOR = 1600,
MIOPEN_ATTR_REDUCTION_COMP_TYPE = 1601,
MIOPEN_ATTR_RESAMPLE_MODE = 1700,
MIOPEN_ATTR_RESAMPLE_COMP_TYPE = 1701,
MIOPEN_ATTR_RESAMPLE_STRIDES = 1705,
MIOPEN_ATTR_RESAMPLE_WINDOW_DIMS = 1706,
MIOPEN_ATTR_RNG_DISTRIBUTION = 2300,
MIOPEN_ATTR_RNG_NORMAL_DIST_MEAN = 2301,
MIOPEN_ATTR_OPERATION_RNG_YDESC = 2310,
MIOPEN_ATTR_OPERATION_RNG_SEED = 2311,
MIOPEN_ATTR_OPERATION_RNG_DESC = 2312,
typedef enum
{
MIOPEN_TYPE_HANDLE = 0,
typedef enum
{
typedef enum
{
typedef enum
{
/* IDENTITY alpha = 1.0 and beta = 0.0 */
/* SCALE alpha = 4.2 and beta = 0.0 */
/* BILINEAR alpha = 3.2 and beta = 1.1 */
/* ERROR_STATE alpha = 0.0 and beta = 3.1 */
But used to check for errors.*/
typedef enum
{
MIOPEN_HEUR_MODE_B = 1,
MIOPEN_HEUR_MODE_A = 3,
MIOPEN_DECLARE_OBJECT(miopenBackendDescriptor)
miopenBackendDescriptorType_t descriptorType, miopenBackendDescriptor_t* descriptor);
miopenBackendAttributeName_t attributeName,
miopenBackendAttributeType_t attributeType,
int64_t elementCount,
void* arrayOfElements);
miopenBackendAttributeName_t attributeName,
miopenBackendAttributeType_t attributeType,
int64_t requestedElementCount,
int64_t* elementCount,
void* arrayOfElements);
miopenBackendDescriptor_t executionPlan,
miopenBackendDescriptor_t variantPack);
miopenBackendDescriptorType_t descriptorType,
size_t sizeInBytes);
// CLOSEOUT BackendAPI DOXYGEN GROUP
#endif // MIOPEN_BETA_API
#ifdef MIOPEN_BETA_API
// FusedAdam APIs
const miopenTensorDescriptor_t paramDesc,
void* param,
const miopenTensorDescriptor_t gradDesc,
const void* grad,
const miopenTensorDescriptor_t expAvgDesc,
void* expAvg,
const miopenTensorDescriptor_t expAvgSqDesc,
void* expAvgSq,
const miopenTensorDescriptor_t maxExpAvgSqDesc,
void* maxExpAvgSq,
const miopenTensorDescriptor_t stateStepDesc,
void* stateStep,
const unsigned int state_step,
const float lr,
const float beta1,
const float beta2,
const float weight_decay,
const float eps,
const bool amsgrad,
const bool maximize,
const bool adamw,
const miopenTensorDescriptor_t gradScaleDesc,
const void* gradScale,
const miopenTensorDescriptor_t foundInfDesc,
const void* foundInf);
MIOPEN_EXPORT miopenStatus_t
miopenFusedAdamWithOutput(miopenHandle_t handle,
const miopenTensorDescriptor_t paramInDesc,
void* paramIn,
const miopenTensorDescriptor_t paramOutDesc,
void* paramOut,
const miopenTensorDescriptor_t paramOutFloat16Desc,
void* paramOutFloat16,
const miopenTensorDescriptor_t gradInDesc,
const void* gradIn,
const miopenTensorDescriptor_t expAvgInDesc,
void* expAvgIn,
const miopenTensorDescriptor_t expAvgOutDesc,
void* expAvgOut,
const miopenTensorDescriptor_t expAvgSqInDesc,
void* expAvgSqIn,
const miopenTensorDescriptor_t expAvgSqOutDesc,
void* expAvgSqOut,
const miopenTensorDescriptor_t maxExpAvgSqInDesc,
void* maxExpAvgSqIn,
const miopenTensorDescriptor_t maxExpAvgSqOutDesc,
void* maxExpAvgSqOut,
const miopenTensorDescriptor_t stateStepInDesc,
void* stateStepIn,
const miopenTensorDescriptor_t stateStepOutDesc,
void* stateStepOut,
const unsigned int state_step,
const float lr,
const float beta1,
const float beta2,
const float weight_decay,
const float eps,
const bool amsgrad,
const bool maximize,
const bool adamw,
const miopenTensorDescriptor_t gradScaleDesc,
const void* gradScale,
const miopenTensorDescriptor_t foundInfDesc,
const void* foundInf);
// CLOSEOUT SGD DOXYGEN GROUP
#endif // MIOPEN_BETA_API
#ifdef __cplusplus
}
#endif
#ifdef __clang__
#pragma clang diagnostic pop
#endif
#endif // MIOPEN_GUARD_MIOPEN_H_
miopenStatus_t miopenCreateOpActivationBackward(miopenFusionPlanDescriptor_t fusePlanDesc, miopenFusionOpDescriptor_t *activBwdOp, miopenActivationMode_t mode)
Creates a backward activation operator.
miopenStatus_t miopenCreateOpBatchNormForward(miopenFusionPlanDescriptor_t fusePlanDesc, miopenFusionOpDescriptor_t *bnFwdOp, const miopenBatchNormMode_t bn_mode, bool runningMeanVariance)
Creates a forward training batch normalization operator.
miopenStatus_t miopenFusionPlanConvolutionGetAlgo(miopenFusionPlanDescriptor_t fusePlanDesc, const int requestAlgoCount, int *returnedAlgoCount, miopenConvFwdAlgorithm_t *returnedAlgos)
Returns the supported algorithms for the convolution operator in the Fusion Plan.
miopenStatus_t miopenFusionPlanGetWorkSpaceSize(miopenHandle_t handle, miopenFusionPlanDescriptor_t fusePlanDesc, size_t *workSpaceSize, miopenConvFwdAlgorithm_t algo)
Query the workspace size required for the fusion plan.
miopenStatus_t miopenFusionPlanConvolutionSetAlgo(miopenFusionPlanDescriptor_t fusePlanDesc, miopenConvFwdAlgorithm_t algo)
Requests the fusion runtime to choose a particular algorithm for the added convolution operation.
miopenStatus_t miopenCreateOpBatchNormInference(miopenFusionPlanDescriptor_t fusePlanDesc, miopenFusionOpDescriptor_t *bnOp, const miopenBatchNormMode_t bn_mode, const miopenTensorDescriptor_t bnScaleBiasMeanVarDesc)
Creates a forward inference batch normalization operator.
miopenStatus_t miopenSetOpArgsBiasForward(miopenOperatorArgs_t args, const miopenFusionOpDescriptor_t biasOp, const void *alpha, const void *beta, const void *bias)
Sets the arguments for forward bias op.
miopenStatus_t miopenCreateOpConvForward(miopenFusionPlanDescriptor_t fusePlanDesc, miopenFusionOpDescriptor_t *convOp, miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t wDesc)
Creates forward convolution operator.
miopenStatus_t miopenSetOpArgsBatchNormInference(miopenOperatorArgs_t args, const miopenFusionOpDescriptor_t bnOp, const void *alpha, const void *beta, const void *bnScale, const void *bnBias, const void *estimatedMean, const void *estimatedVariance, double epsilon)
Sets the arguments for inference batch normalization op.
miopenStatus_t miopenSetOpArgsBatchNormForward(miopenOperatorArgs_t args, const miopenFusionOpDescriptor_t bnOp, const void *alpha, const void *beta, const void *bnScale, const void *bnBias, void *savedMean, void *savedInvVariance, void *runningMean, void *runningVariance, double expAvgFactor, double epsilon)
Sets the arguments for forward batch normalization op.
miopenStatus_t miopenExecuteFusionPlan(const miopenHandle_t handle, const miopenFusionPlanDescriptor_t fusePlanDesc, const miopenTensorDescriptor_t inputDesc, const void *input, const miopenTensorDescriptor_t outputDesc, void *output, miopenOperatorArgs_t args)
Executes the fusion plan.
miopenStatus_t miopenFusionPlanGetOp(miopenFusionPlanDescriptor_t fusePlanDesc, const int op_idx, miopenFusionOpDescriptor_t *op)
Allows access to the operators in a fusion plan.
miopenStatus_t miopenDestroyFusionPlan(miopenFusionPlanDescriptor_t fusePlanDesc)
Destroy the fusion plan descriptor object.
miopenStatus_t miopenCreateOpActivationForward(miopenFusionPlanDescriptor_t fusePlanDesc, miopenFusionOpDescriptor_t *activFwdOp, miopenActivationMode_t mode)
Creates a forward activation operator.
miopenFusionDirection_t
Kernel fusion direction in the network.
Definition: miopen.h:3071
miopenStatus_t miopenSetOpArgsActivBackward(miopenOperatorArgs_t args, const miopenFusionOpDescriptor_t activBwdOp, const void *alpha, const void *beta, const void *y, const void *reserved, double activAlpha, double activBeta, double activGamma)
Sets the arguments for backward activation op.
miopenStatus_t miopenCompileFusionPlan(miopenHandle_t handle, miopenFusionPlanDescriptor_t fusePlanDesc)
Compiles the fusion plan.
miopenStatus_t miopenSetOpArgsBatchNormBackward(miopenOperatorArgs_t args, const miopenFusionOpDescriptor_t bnOp, const void *alpha, const void *beta, const void *x, const void *bnScale, const void *bnBias, void *resultBnScaleDiff, void *resultBnBiasDiff, const void *savedMean, const void *savedInvVariance)
Sets the arguments for backward batch normalization op.
miopenStatus_t miopenSetOpArgsActivForward(miopenOperatorArgs_t args, const miopenFusionOpDescriptor_t activFwdOp, const void *alpha, const void *beta, double activAlpha, double activBeta, double activGamma)
Sets the arguments for forward activation op.
miopenStatus_t miopenDestroyOperatorArgs(miopenOperatorArgs_t args)
Destroys an operator argument object.
miopenStatus_t miopenCreateOpBatchNormBackward(miopenFusionPlanDescriptor_t fusePlanDesc, miopenFusionOpDescriptor_t *bnBwdOp, const miopenBatchNormMode_t bn_mode)
Creates a back propagation batch normalization operator.
miopenStatus_t miopenCreateOperatorArgs(miopenOperatorArgs_t *args)
Creates an operator argument object.
miopenStatus_t miopenSetOpArgsConvForward(miopenOperatorArgs_t args, const miopenFusionOpDescriptor_t convOp, const void *alpha, const void *beta, const void *w)
Sets the arguments for forward convolution op.
miopenStatus_t miopenConvolutionBiasActivationForward(miopenHandle_t handle, const void *alpha1, const miopenTensorDescriptor_t xDesc, const void *x, const miopenTensorDescriptor_t wDesc, const void *w, const miopenConvolutionDescriptor_t convDesc, miopenConvFwdAlgorithm_t algo, void *workspace, size_t workspaceSizeInBytes, const void *alpha2, const miopenTensorDescriptor_t zDesc, const void *z, const miopenTensorDescriptor_t biasDesc, const void *bias, const miopenActivationDescriptor_t activationDesc, const miopenTensorDescriptor_t yDesc, void *y)
Prepares and executes the Convlution+Bias+Activation Fusion.
miopenStatus_t miopenCreateFusionPlan(miopenFusionPlanDescriptor_t *fusePlanDesc, const miopenFusionDirection_t fuseDirection, const miopenTensorDescriptor_t inputDesc)
Creates the kenrel fusion plan descriptor object.
miopenStatus_t miopenCreateOpBiasForward(miopenFusionPlanDescriptor_t fusePlanDesc, miopenFusionOpDescriptor_t *biasOp, const miopenTensorDescriptor_t bDesc)
Creates a forward bias operator.
miopenStatus_t miopenBackendExecute(miopenHandle_t handle, miopenBackendDescriptor_t executionPlan, miopenBackendDescriptor_t variantPack)
Executes a graph.
miopenBackendHeurMode_t
Operation mode of CUDNN_BACKEND_ENGINEHEUR_DESCRIPTOR.
Definition: miopen.h:6697
miopenPointwiseMode_t
Intended poinwise math operation for a pointwise operation descriptor.
Definition: miopen.h:6497
miopenStatus_t miopenBackendFinalize(miopenBackendDescriptor_t descriptor)
Finalizes a backend descriptor.
miopenStatus_t miopenBackendInitialize(miopenBackendDescriptor_t descriptor, miopenBackendDescriptorType_t descriptorType, size_t sizeInBytes)
Repurposes an instance of miopenBackendDescriptor_t.
miopenBackendAttributeName_t
Backend Descriptor's Attribute.
Definition: miopen.h:6204
miopenRngDistribution_t
Distribution for random number generation.
Definition: miopen.h:6673
miopenStatus_t miopenBackendSetAttribute(miopenBackendDescriptor_t descriptor, miopenBackendAttributeName_t attributeName, miopenBackendAttributeType_t attributeType, int64_t elementCount, void *arrayOfElements)
Sets an attribute of a descriptor.
miopenStatus_t miopenBackendGetAttribute(miopenBackendDescriptor_t descriptor, miopenBackendAttributeName_t attributeName, miopenBackendAttributeType_t attributeType, int64_t requestedElementCount, int64_t *elementCount, void *arrayOfElements)
Retrieves backend descriptor's attribute.
miopenStatus_t miopenBackendCreateDescriptor(miopenBackendDescriptorType_t descriptorType, miopenBackendDescriptor_t *descriptor)
Backend descriptor.
miopenStatus_t miopenBackendDestroyDescriptor(miopenBackendDescriptor_t descriptor)
Destroys an instance of miopenBackendDescriptor_t.
miopenBackendAttributeType_t
Data type of an attribute of a backend descriptor.
Definition: miopen.h:6458
@ MIOPEN_POINTWISE_GELU_APPROX_TANH_FWD
Definition: miopen.h:6593
@ MIOPEN_POINTWISE_GELU_APPROX_TANH_BWD
Definition: miopen.h:6624
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_FORWARD_W
Definition: miopen.h:6251
@ MIOPEN_ATTR_OPERATION_RESAMPLE_FWD_XDESC
Definition: miopen.h:6378
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_W
Definition: miopen.h:6257
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_FORWARD_ALPHA
Definition: miopen.h:6248
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_FORWARD_BETA
Definition: miopen.h:6249
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_DBN_SCALE_DESC
Definition: miopen.h:6362
@ MIOPEN_ATTR_OPERATION_NORM_BWD_INV_VARIANCE_DESC
Definition: miopen.h:6424
@ MIOPEN_ATTR_OPERATION_NORM_FWD_EPSILON_DESC
Definition: miopen.h:6412
@ MIOPEN_ATTR_CONVOLUTION_POST_PADDINGS
Definition: miopen.h:6220
@ MIOPEN_ATTR_OPERATION_NORM_BWD_DSCALE_DESC
Definition: miopen.h:6428
@ MIOPEN_ATTR_OPERATION_NORM_BWD_PEER_STAT_DESCS
Definition: miopen.h:6431
@ MIOPEN_ATTR_OPERATION_RESAMPLE_BWD_YDESC
Definition: miopen.h:6392
@ MIOPEN_ATTR_OPERATION_RESAMPLE_BWD_DYDESC
Definition: miopen.h:6386
@ MIOPEN_ATTR_OPERATION_POINTWISE_ALPHA1
Definition: miopen.h:6270
@ MIOPEN_ATTR_EXECUTION_PLAN_COMPUTED_INTERMEDIATE_UIDS
Definition: miopen.h:6236
@ MIOPEN_ATTR_OPERATION_NORM_FWD_MEAN_DESC
Definition: miopen.h:6408
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_UPDATED_RUNNING_MEAN_DESC
Definition: miopen.h:6290
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_INVSTD_DESC
Definition: miopen.h:6358
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_Y_SUM_DESC
Definition: miopen.h:6284
@ MIOPEN_ATTR_OPERATION_NORM_BWD_DYDESC
Definition: miopen.h:6425
@ MIOPEN_ATTR_OPERATION_MATMUL_GEMM_N_OVERRIDE_DESC
Definition: miopen.h:6346
@ MIOPEN_ATTR_VARIANT_PACK_INTERMEDIATES
Definition: miopen.h:6318
@ MIOPEN_ATTR_OPERATION_REDUCTION_YDESC
Definition: miopen.h:6353
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_BETA
Definition: miopen.h:6261
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_FORWARD_CONV_DESC
Definition: miopen.h:6250
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_STATS_MODE
Definition: miopen.h:6282
@ MIOPEN_ATTR_OPERATION_NORM_FWD_INPUT_RUNNING_VAR_DESC
Definition: miopen.h:6415
@ MIOPEN_ATTR_OPERATION_RESAMPLE_BWD_XDESC
Definition: miopen.h:6391
@ MIOPEN_ATTR_OPERATION_POINTWISE_XDESC
Definition: miopen.h:6267
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_DY_DESC
Definition: miopen.h:6361
@ MIOPEN_ATTR_OPERATION_RESAMPLE_FWD_ALPHA
Definition: miopen.h:6381
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_SCALE_DESC
Definition: miopen.h:6286
@ MIOPEN_ATTR_OPERATION_SIGNAL_FLAGDESC
Definition: miopen.h:6400
@ MIOPEN_ATTR_OPERATION_POINTWISE_TDESC
Definition: miopen.h:6274
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_X
Definition: miopen.h:6264
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_ACCUM_COUNT_DESC
Definition: miopen.h:6296
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_EQ_BIAS
Definition: miopen.h:6366
@ MIOPEN_ATTR_OPERATION_GENSTATS_MATH_PREC
Definition: miopen.h:6277
@ MIOPEN_ATTR_OPERATION_NORM_FWD_INPUT_RUNNING_MEAN_DESC
Definition: miopen.h:6414
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_EQ_SCALE_DESC
Definition: miopen.h:6294
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_X_DESC
Definition: miopen.h:6360
@ MIOPEN_ATTR_OPERATION_CONCAT_OUTPUT_DESC
Definition: miopen.h:6397
@ MIOPEN_ATTR_OPERATION_NORM_BWD_EPSILON_DESC
Definition: miopen.h:6427
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_BETA
Definition: miopen.h:6255
@ MIOPEN_ATTR_EXECUTION_PLAN_WORKSPACE_SIZE
Definition: miopen.h:6235
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DX
Definition: miopen.h:6258
@ MIOPEN_ATTR_OPERATION_RESAMPLE_BWD_BETA
Definition: miopen.h:6389
@ MIOPEN_ATTR_TENSOR_VECTORIZED_DIMENSION
Definition: miopen.h:6309
@ MIOPEN_ATTR_OPERATION_GENSTATS_SUMDESC
Definition: miopen.h:6279
@ MIOPEN_ATTR_OPERATION_CONCAT_INPLACE_INDEX
Definition: miopen.h:6396
@ MIOPEN_ATTR_OPERATION_POINTWISE_ALPHA2
Definition: miopen.h:6271
@ MIOPEN_ATTR_EXECUTION_PLAN_JSON_REPRESENTATION
Definition: miopen.h:6238
@ MIOPEN_ATTR_OPERATION_NORM_FWD_OUTPUT_RUNNING_VAR_DESC
Definition: miopen.h:6417
@ MIOPEN_ATTR_OPERATION_RESAMPLE_BWD_IDXDESC
Definition: miopen.h:6387
@ MIOPEN_ATTR_OPERATION_POINTWISE_DXDESC
Definition: miopen.h:6272
@ MIOPEN_ATTR_OPERATION_CONCAT_INPUT_DESCS
Definition: miopen.h:6395
@ MIOPEN_ATTR_OPERATION_NORM_BWD_MEAN_DESC
Definition: miopen.h:6423
@ MIOPEN_ATTR_OPERATION_MATMUL_GEMM_M_OVERRIDE_DESC
Definition: miopen.h:6345
@ MIOPEN_ATTR_POINTWISE_RELU_LOWER_CLIP_SLOPE
Definition: miopen.h:6210
@ MIOPEN_ATTR_VARIANT_PACK_DATA_POINTERS
Definition: miopen.h:6317
@ MIOPEN_ATTR_POINTWISE_RELU_LOWER_CLIP
Definition: miopen.h:6208
@ MIOPEN_ATTR_OPERATION_NORM_FWD_BIAS_DESC
Definition: miopen.h:6411
@ MIOPEN_ATTR_OPERATION_RESAMPLE_FWD_DESC
Definition: miopen.h:6383
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_EQ_DY_SCALE_DESC
Definition: miopen.h:6364
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_CONV_DESC
Definition: miopen.h:6256
@ MIOPEN_ATTR_ENGINEHEUR_OPERATION_GRAPH
Definition: miopen.h:6225
@ MIOPEN_ATTR_TENSOR_RAGGED_OFFSET_DESC
Definition: miopen.h:6314
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_EXP_AVERATE_FACTOR_DESC
Definition: miopen.h:6298
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_SAVED_INV_STD_DESC
Definition: miopen.h:6293
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_FORWARD_X
Definition: miopen.h:6252
@ MIOPEN_ATTR_OPERATION_POINTWISE_YDESC
Definition: miopen.h:6269
@ MIOPEN_ATTR_OPERATION_RESAMPLE_FWD_YDESC
Definition: miopen.h:6379
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_BN_SCALE_DESC
Definition: miopen.h:6359
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DY
Definition: miopen.h:6259
@ MIOPEN_ATTR_OPERATION_REDUCTION_XDESC
Definition: miopen.h:6352
@ MIOPEN_ATTR_EXECUTION_PLAN_RUN_ONLY_INTERMEDIATE_UIDS
Definition: miopen.h:6237
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_MATH_PREC
Definition: miopen.h:6283
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_EQ_BIAS_DESC
Definition: miopen.h:6295
@ MIOPEN_ATTR_OPERATION_RESAMPLE_BWD_DXDESC
Definition: miopen.h:6385
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_PREV_RUNNING_MEAN_DESC
Definition: miopen.h:6288
@ MIOPEN_ATTR_OPERATION_POINTWISE_DYDESC
Definition: miopen.h:6273
@ MIOPEN_ATTR_OPERATION_NORM_FWD_EXP_AVG_FACTOR_DESC
Definition: miopen.h:6413
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_EQ_X_SCALE_DESC
Definition: miopen.h:6365
@ MIOPEN_ATTR_OPERATION_RNG_OFFSET_DESC
Definition: miopen.h:6446
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_FORWARD_Y
Definition: miopen.h:6253
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_PREV_RUNNING_VAR_DESC
Definition: miopen.h:6289
@ MIOPEN_ATTR_INTERMEDIATE_INFO_UNIQUE_ID
Definition: miopen.h:6240
@ MIOPEN_ATTR_OPERATION_NORM_FWD_OUTPUT_RUNNING_MEAN_DESC
Definition: miopen.h:6416
@ MIOPEN_ATTR_OPERATION_NORM_FWD_INV_VARIANCE_DESC
Definition: miopen.h:6409
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_Y_SQ_SUM_DESC
Definition: miopen.h:6285
@ MIOPEN_ATTR_OPERATION_MATMUL_IRREGULARLY_STRIDED_BATCH_COUNT
Definition: miopen.h:6344
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DW
Definition: miopen.h:6263
@ MIOPEN_ATTR_OPERATION_MATMUL_GEMM_K_OVERRIDE_DESC
Definition: miopen.h:6347
@ MIOPEN_ATTR_OPERATION_POINTWISE_PW_DESCRIPTOR
Definition: miopen.h:6266
@ MIOPEN_ATTR_RNG_NORMAL_DIST_STANDARD_DEVIATION
Definition: miopen.h:6438
@ MIOPEN_ATTR_INTERMEDIATE_INFO_DEPENDENT_DATA_UIDS
Definition: miopen.h:6242
@ MIOPEN_ATTR_OPERATION_RESAMPLE_BWD_ALPHA
Definition: miopen.h:6388
@ MIOPEN_ATTR_OPERATION_RESAMPLE_BWD_DESC
Definition: miopen.h:6390
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_EPSILON_DESC
Definition: miopen.h:6297
@ MIOPEN_ATTR_OPERATION_POINTWISE_BDESC
Definition: miopen.h:6268
@ MIOPEN_ATTR_ENGINECFG_INTERMEDIATE_INFO
Definition: miopen.h:6230
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DY
Definition: miopen.h:6265
@ MIOPEN_ATTR_OPERATION_NORM_BWD_DXDESC
Definition: miopen.h:6430
@ MIOPEN_ATTR_POINTWISE_NAN_PROPAGATION
Definition: miopen.h:6207
@ MIOPEN_ATTR_INTERMEDIATE_INFO_DEPENDENT_ATTRIBUTES
Definition: miopen.h:6243
@ MIOPEN_ATTR_POINTWISE_RELU_UPPER_CLIP
Definition: miopen.h:6209
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_DBN_BIAS_DESC
Definition: miopen.h:6363
@ MIOPEN_ATTR_RNG_BERNOULLI_DIST_PROBABILITY
Definition: miopen.h:6441
@ MIOPEN_ATTR_ENGINEHEUR_SM_COUNT_TARGET
Definition: miopen.h:6227
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_BIAS_DESC
Definition: miopen.h:6287
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_UPDATED_RUNNING_VAR_DESC
Definition: miopen.h:6291
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_MATH_PREC
Definition: miopen.h:6356
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_MEAN_DESC
Definition: miopen.h:6357
@ MIOPEN_ATTR_OPERATION_NORM_FWD_PEER_STAT_DESCS
Definition: miopen.h:6419
@ MIOPEN_ATTR_OPERATION_NORM_FWD_SCALE_DESC
Definition: miopen.h:6410
@ MIOPEN_ATTR_OPERATION_GENSTATS_SQSUMDESC
Definition: miopen.h:6280
@ MIOPEN_ATTR_EXECUTION_PLAN_ENGINE_CONFIG
Definition: miopen.h:6234
@ MIOPEN_ATTR_OPERATION_RESAMPLE_FWD_BETA
Definition: miopen.h:6382
@ MIOPEN_ATTR_OPERATION_NORM_BWD_DBIAS_DESC
Definition: miopen.h:6429
@ MIOPEN_ATTR_OPERATION_NORM_BWD_SCALE_DESC
Definition: miopen.h:6426
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_ALPHA
Definition: miopen.h:6254
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_CONV_DESC
Definition: miopen.h:6262
@ MIOPEN_ATTR_CONVOLUTION_FILTER_STRIDES
Definition: miopen.h:6219
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_ALPHA
Definition: miopen.h:6260
@ MIOPEN_ATTR_OPERATION_RESAMPLE_FWD_IDXDESC
Definition: miopen.h:6380
@ MIOPEN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT
Definition: miopen.h:6302
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_SAVED_MEAN_DESC
Definition: miopen.h:6292
@ MIOPEN_BACKEND_OPERATION_CONCAT_DESCRIPTOR
Definition: miopen.h:6173
@ MIOPEN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR
Definition: miopen.h:6184
@ MIOPEN_BACKEND_CONVOLUTION_DESCRIPTOR
Definition: miopen.h:6163
@ MIOPEN_BACKEND_OPERATION_RNG_DESCRIPTOR
Definition: miopen.h:6185
@ MIOPEN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR
Definition: miopen.h:6181
@ MIOPEN_BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR
Definition: miopen.h:6180
@ MIOPEN_BACKEND_LAYOUT_INFO_DESCRIPTOR
Definition: miopen.h:6171
@ MIOPEN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR
Definition: miopen.h:6182
@ MIOPEN_BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR
Definition: miopen.h:6183
@ MIOPEN_BACKEND_OPERATIONGRAPH_DESCRIPTOR
Definition: miopen.h:6187
@ MIOPEN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR
Definition: miopen.h:6176
@ MIOPEN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR
Definition: miopen.h:6175
@ MIOPEN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR
Definition: miopen.h:6168
@ MIOPEN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR
Definition: miopen.h:6177
@ MIOPEN_BACKEND_VARIANT_PACK_DESCRIPTOR
Definition: miopen.h:6193
@ MIOPEN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR
Definition: miopen.h:6174
@ MIOPEN_BACKEND_OPERATION_MATMUL_DESCRIPTOR
Definition: miopen.h:6178
@ MIOPEN_BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR
Definition: miopen.h:6179
@ MIOPEN_BACKEND_OPERATION_SIGNAL_DESCRIPTOR
Definition: miopen.h:6186
@ MIOPEN_BACKEND_EXECUTION_PLAN_DESCRIPTOR
Definition: miopen.h:6167
@ MIOPEN_BACKEND_KNOB_CHOICE_DESCRIPTOR
Definition: miopen.h:6169
miopenStatus_t miopenSetLRNDescriptor(const miopenLRNDescriptor_t lrnDesc, miopenLRNMode_t mode, unsigned int lrnN, double lrnAlpha, double lrnBeta, double lrnK)
Sets a LRN layer descriptor details.
miopenStatus_t miopenCreateLRNDescriptor(miopenLRNDescriptor_t *lrnDesc)
Creates a local response normalization (LRN) layer descriptor.
miopenStatus_t miopenGetLRNDescriptor(const miopenLRNDescriptor_t lrnDesc, miopenLRNMode_t *mode, unsigned int *lrnN, double *lrnAlpha, double *lrnBeta, double *lrnK)
Gets a LRN layer descriptor details.
miopenStatus_t miopenLRNBackward(miopenHandle_t handle, const miopenLRNDescriptor_t lrnDesc, const void *alpha, const miopenTensorDescriptor_t yDesc, const void *y, const miopenTensorDescriptor_t dyDesc, const void *dy, const miopenTensorDescriptor_t xDesc, const void *x, const void *beta, const miopenTensorDescriptor_t dxDesc, void *dx, const void *workSpace)
Execute a LRN backward layer.
miopenStatus_t miopenLRNGetWorkSpaceSize(const miopenTensorDescriptor_t yDesc, size_t *workSpaceSize)
Determine the workspace requirements.
miopenStatus_t miopenLRNForward(miopenHandle_t handle, const miopenLRNDescriptor_t lrnDesc, const void *alpha, const miopenTensorDescriptor_t xDesc, const void *x, const void *beta, const miopenTensorDescriptor_t yDesc, void *y, bool do_backward, void *workSpace)
Execute a LRN forward layer.
miopenStatus_t miopenDestroyLRNDescriptor(miopenLRNDescriptor_t lrnDesc)
Destroys the LRN descriptor object.
miopenStatus_t miopenGetCTCLossWorkspaceSize(miopenHandle_t handle, const miopenTensorDescriptor_t probsDesc, const miopenTensorDescriptor_t gradientsDesc, const int *labels, const int *labelLengths, const int *inputLengths, miopenCTCLossAlgo_t algo, const miopenCTCLossDescriptor_t ctcLossDesc, size_t *workSpaceSize)
Query the amount of memory required to execute miopenCTCLoss.
miopenStatus_t miopenSetCTCLossDescriptor(miopenCTCLossDescriptor_t ctcLossDesc, miopenDataType_t dataType, const int blank_label_id, bool apply_softmax_layer)
Set the details of a CTC loss function descriptor.
miopenStatus_t miopenCTCLoss(miopenHandle_t handle, const miopenTensorDescriptor_t probsDesc, const void *probs, const int *labels, const int *labelLengths, const int *inputLengths, void *losses, const miopenTensorDescriptor_t gradientsDesc, void *gradients, miopenCTCLossAlgo_t algo, const miopenCTCLossDescriptor_t ctcLossDesc, void *workSpace, size_t workSpaceSize)
Execute forward inference for CTCLoss layer.
miopenStatus_t miopenGetCTCLossDescriptor(miopenCTCLossDescriptor_t ctcLossDesc, miopenDataType_t *dataType, int *blank_label_id, bool *apply_softmax_layer)
Retrieves a CTC loss function descriptor's details.
miopenStatus_t miopenCreateCTCLossDescriptor(miopenCTCLossDescriptor_t *ctcLossDesc)
Create a CTC loss function Descriptor.
miopenStatus_t miopenDestroyCTCLossDescriptor(miopenCTCLossDescriptor_t ctcLossDesc)
Destroys a CTC loss function descriptor object.
miopenStatus_t miopenGetRNNDescriptor_V2(miopenRNNDescriptor_t rnnDesc, int *hiddenSize, int *layer, miopenDropoutDescriptor_t *dropoutDesc, miopenRNNInputMode_t *inputMode, miopenRNNDirectionMode_t *dirMode, miopenRNNMode_t *rnnMode, miopenRNNBiasMode_t *biasMode, miopenRNNAlgo_t *algoMode, miopenDataType_t *dataType)
Retrieves a RNN layer descriptor's details version 2. This version enables retrieving information of ...
miopenStatus_t miopenSetRNNLayerBias(miopenHandle_t handle, miopenRNNDescriptor_t rnnDesc, const int layer, miopenTensorDescriptor_t xDesc, miopenTensorDescriptor_t wDesc, void *w, const int biasID, miopenTensorDescriptor_t biasDesc, const void *layerBias)
Sets a bias for a specific layer in an RNN stack.
miopenStatus_t miopenRNNBackwardWeightsSeqTensor(miopenHandle_t handle, const miopenRNNDescriptor_t rnnDesc, const miopenSeqTensorDescriptor_t xDesc, const void *x, const miopenTensorDescriptor_t hDesc, const void *hx, const miopenSeqTensorDescriptor_t yDesc, const void *y, void *dw, size_t weightSpaceSize, void *workSpace, size_t workSpaceNumBytes, const void *reserveSpace, size_t reserveSpaceNumBytes)
Execute backward weights for recurrent layer.
miopenStatus_t miopenGetRNNParamsSize(miopenHandle_t handle, miopenRNNDescriptor_t rnnDesc, miopenTensorDescriptor_t xDesc, size_t *numBytes, miopenDataType_t dtype)
Query the amount of parameter memory required for RNN training.
miopenStatus_t miopenGetRNNLayerBiasOffset(miopenRNNDescriptor_t rnnDesc, const int layer, miopenTensorDescriptor_t xDesc, const int biasID, miopenTensorDescriptor_t biasDesc, size_t *layerBiasOffset)
Gets a bias index offset for a specific layer in an RNN stack.
miopenStatus_t miopenGetRNNLayerParamOffset(miopenRNNDescriptor_t rnnDesc, const int layer, miopenTensorDescriptor_t xDesc, const int paramID, miopenTensorDescriptor_t paramDesc, size_t *layerParamOffset)
Gets an index offset for a specific weight matrix for a layer in the RNN stack.
miopenStatus_t miopenRNNBackwardSeqData(miopenHandle_t handle, const miopenRNNDescriptor_t rnnDesc, const miopenSeqTensorDescriptor_t yDesc, const void *y, const void *dy, const miopenTensorDescriptor_t hDesc, const void *hx, const void *dhy, void *dhx, const miopenTensorDescriptor_t cDesc, const void *cx, const void *dcy, void *dcx, const miopenSeqTensorDescriptor_t xDesc, void *dx, const void *w, size_t weightSpaceSize, void *workSpace, size_t workSpaceNumBytes, void *reserveSpace, size_t reserveSpaceNumBytes)
Execute backward data for recurrent layer.
miopenStatus_t miopenGetRNNLayerBias(miopenHandle_t handle, miopenRNNDescriptor_t rnnDesc, const int layer, miopenTensorDescriptor_t xDesc, miopenTensorDescriptor_t wDesc, const void *w, const int biasID, miopenTensorDescriptor_t biasDesc, void *layerBias)
Gets a bias for a specific layer in an RNN stack.
miopenStatus_t miopenRNNBackwardWeights(miopenHandle_t handle, const miopenRNNDescriptor_t rnnDesc, const int sequenceLen, const miopenTensorDescriptor_t *xDesc, const void *x, const miopenTensorDescriptor_t hxDesc, const void *hx, const miopenTensorDescriptor_t *yDesc, const void *y, const miopenTensorDescriptor_t dwDesc, void *dw, void *workSpace, size_t workSpaceNumBytes, const void *reserveSpace, size_t reserveSpaceNumBytes)
Execute backward weights for recurrent layer.
miopenStatus_t miopenGetRNNTrainingReserveSize(miopenHandle_t handle, miopenRNNDescriptor_t rnnDesc, const int sequenceLen, const miopenTensorDescriptor_t *xDesc, size_t *numBytes)
Query the amount of memory required for RNN training.
miopenStatus_t miopenGetRNNLayerBiasSize(miopenHandle_t handle, miopenRNNDescriptor_t rnnDesc, const int layer, const int biasID, size_t *numBytes)
Gets the number of bytes of a bias.
miopenStatus_t miopenSetRNNDescriptor(miopenRNNDescriptor_t rnnDesc, const int hsize, const int nlayers, miopenRNNInputMode_t inMode, miopenRNNDirectionMode_t direction, miopenRNNMode_t rnnMode, miopenRNNBiasMode_t biasMode, miopenRNNAlgo_t algo, miopenDataType_t dataType)
Set the details of the RNN descriptor.
miopenStatus_t miopenRNNBackwardData(miopenHandle_t handle, const miopenRNNDescriptor_t rnnDesc, const int sequenceLen, const miopenTensorDescriptor_t *yDesc, const void *y, const miopenTensorDescriptor_t *dyDesc, const void *dy, const miopenTensorDescriptor_t dhyDesc, const void *dhy, const miopenTensorDescriptor_t dcyDesc, const void *dcy, const miopenTensorDescriptor_t wDesc, const void *w, const miopenTensorDescriptor_t hxDesc, const void *hx, const miopenTensorDescriptor_t cxDesc, const void *cx, const miopenTensorDescriptor_t *dxDesc, void *dx, const miopenTensorDescriptor_t dhxDesc, void *dhx, const miopenTensorDescriptor_t dcxDesc, void *dcx, void *workSpace, size_t workSpaceNumBytes, void *reserveSpace, size_t reserveSpaceNumBytes)
Execute backward data for recurrent layer.
miopenStatus_t miopenGetRNNDescriptor(miopenRNNDescriptor_t rnnDesc, miopenRNNMode_t *rnnMode, miopenRNNAlgo_t *algoMode, miopenRNNInputMode_t *inputMode, miopenRNNDirectionMode_t *dirMode, miopenRNNBiasMode_t *biasMode, int *hiddenSize, int *layer)
Retrieves a RNN layer descriptor's details.
miopenStatus_t miopenGetRNNTempSpaceSizes(miopenHandle_t handle, miopenRNNDescriptor_t rnnDesc, miopenSeqTensorDescriptor_t xDesc, miopenRNNFWDMode_t fwdMode, size_t *workSpaceSize, size_t *reserveSpaceSize)
Query the amount of additional memory required for this RNN layer execution.
miopenStatus_t miopenGetRNNPaddingMode(miopenRNNDescriptor_t rnnDesc, miopenRNNPaddingMode_t *paddingMode)
This function retrieves the RNN padding mode from the RNN descriptor.
miopenStatus_t miopenRNNForward(miopenHandle_t handle, const miopenRNNDescriptor_t rnnDesc, miopenRNNFWDMode_t fwdMode, const miopenSeqTensorDescriptor_t xDesc, const void *x, const miopenTensorDescriptor_t hDesc, const void *hx, void *hy, const miopenTensorDescriptor_t cDesc, const void *cx, void *cy, const miopenSeqTensorDescriptor_t yDesc, void *y, const void *w, size_t weightSpaceSize, void *workSpace, size_t workSpaceNumBytes, void *reserveSpace, size_t reserveSpaceNumBytes)
Execute forward training for recurrent layer.
miopenStatus_t miopenGetRNNDataSeqTensorDescriptor(miopenSeqTensorDescriptor_t seqTensorDesc, miopenDataType_t *dataType, miopenRNNBaseLayout_t *layout, int *maxSequenceLen, int *batchSize, int *vectorSize, int sequenceLenArrayLimit, int *sequenceLenArray, void *paddingMarker)
Get shape of RNN seqData tensor.
miopenStatus_t miopenGetRNNInputTensorSize(miopenHandle_t handle, miopenRNNDescriptor_t rnnDesc, const int seqLen, miopenTensorDescriptor_t *xDesc, size_t *numBytes)
Obtain a the size in bytes of the RNN input tensor.
miopenStatus_t miopenSetRNNLayerParam(miopenHandle_t handle, miopenRNNDescriptor_t rnnDesc, const int layer, miopenTensorDescriptor_t xDesc, miopenTensorDescriptor_t wDesc, void *w, const int paramID, miopenTensorDescriptor_t paramDesc, const void *layerParam)
Sets a weight matrix for a specific layer in an RNN stack.
miopenStatus_t miopenGetRNNLayerParamSize(miopenHandle_t handle, miopenRNNDescriptor_t rnnDesc, const int layer, miopenTensorDescriptor_t xDesc, const int paramID, size_t *numBytes)
Gets the number of bytes of a parameter matrix.
miopenStatus_t miopenCreateRNNDescriptor(miopenRNNDescriptor_t *rnnDesc)
Create a RNN layer Descriptor.
miopenStatus_t miopenGetRNNLayerParam(miopenHandle_t handle, miopenRNNDescriptor_t rnnDesc, const int layer, miopenTensorDescriptor_t xDesc, miopenTensorDescriptor_t wDesc, const void *w, const int paramID, miopenTensorDescriptor_t paramDesc, void *layerParam)
Gets a weight matrix for a specific layer in an RNN stack.
miopenStatus_t miopenGetRNNWorkspaceSize(miopenHandle_t handle, const miopenRNNDescriptor_t rnnDesc, const int sequenceLen, const miopenTensorDescriptor_t *xDesc, size_t *numBytes)
Query the amount of memory required to execute the RNN layer.
miopenStatus_t miopenSetRNNDataSeqTensorDescriptor(miopenSeqTensorDescriptor_t seqTensorDesc, miopenDataType_t dataType, miopenRNNBaseLayout_t layout, int maxSequenceLen, int batchSize, int vectorSize, const int *sequenceLenArray, void *paddingMarker)
Set shape of RNN seqData tensor.
miopenStatus_t miopenGetRNNParamsDescriptor(miopenHandle_t handle, miopenRNNDescriptor_t rnnDesc, miopenTensorDescriptor_t xDesc, miopenTensorDescriptor_t wDesc, miopenDataType_t dtype)
Obtain a weight tensor descriptor for RNNs.
miopenStatus_t miopenRNNForwardTraining(miopenHandle_t handle, const miopenRNNDescriptor_t rnnDesc, const int sequenceLen, const miopenTensorDescriptor_t *xDesc, const void *x, const miopenTensorDescriptor_t hxDesc, const void *hx, const miopenTensorDescriptor_t cxDesc, const void *cx, const miopenTensorDescriptor_t wDesc, const void *w, const miopenTensorDescriptor_t *yDesc, void *y, const miopenTensorDescriptor_t hyDesc, void *hy, const miopenTensorDescriptor_t cyDesc, void *cy, void *workSpace, size_t workSpaceNumBytes, void *reserveSpace, size_t reserveSpaceNumBytes)
Execute forward training for recurrent layer.
miopenStatus_t miopenSetRNNDescriptor_V2(miopenRNNDescriptor_t rnnDesc, const int hsize, const int nlayers, miopenDropoutDescriptor_t dropoutDesc, miopenRNNInputMode_t inMode, miopenRNNDirectionMode_t direction, miopenRNNMode_t rnnMode, miopenRNNBiasMode_t biasMode, miopenRNNAlgo_t algo, miopenDataType_t dataType)
Set the details of the RNN descriptor version 2. This version enables the use of dropout in rnn.
miopenStatus_t miopenDestroyRNNDescriptor(miopenRNNDescriptor_t rnnDesc)
Destroys the tensor descriptor object.
miopenStatus_t miopenGetRNNHiddenTensorSize(miopenHandle_t handle, miopenRNNDescriptor_t rnnDesc, const int seqLen, miopenTensorDescriptor_t *xDesc, size_t *numBytes)
Obtain a the size in bytes of the RNN hidden tensor.
miopenStatus_t miopenSetRNNPaddingMode(miopenRNNDescriptor_t rnnDesc, miopenRNNPaddingMode_t paddingMode)
Sets a bias for a specific layer in an RNN stack.
miopenStatus_t miopenRNNForwardInference(miopenHandle_t handle, miopenRNNDescriptor_t rnnDesc, const int sequenceLen, const miopenTensorDescriptor_t *xDesc, const void *x, const miopenTensorDescriptor_t hxDesc, const void *hx, const miopenTensorDescriptor_t cxDesc, const void *cx, const miopenTensorDescriptor_t wDesc, const void *w, const miopenTensorDescriptor_t *yDesc, void *y, const miopenTensorDescriptor_t hyDesc, void *hy, const miopenTensorDescriptor_t cyDesc, void *cy, void *workSpace, size_t workSpaceNumBytes)
Execute forward inference for RNN layer.
miopenStatus_t miopenReduceExtremeForward(miopenHandle_t handle, const miopenTensorDescriptor_t xDesc, const void *x, const int32_t dim, const miopenReduceExtremeOp_t reduceExtremeOp, const miopenTensorDescriptor_t yDesc, void *y, const miopenTensorDescriptor_t indiceDesc, void *indice)
Find the the extreme (minimum, maximum) value and index of a tensor across Dimension.
miopenStatus_t miopenFusedAdam(miopenHandle_t handle, const miopenTensorDescriptor_t paramDesc, void *param, const miopenTensorDescriptor_t gradDesc, const void *grad, const miopenTensorDescriptor_t expAvgDesc, void *expAvg, const miopenTensorDescriptor_t expAvgSqDesc, void *expAvgSq, const miopenTensorDescriptor_t maxExpAvgSqDesc, void *maxExpAvgSq, const miopenTensorDescriptor_t stateStepDesc, void *stateStep, const unsigned int state_step, const float lr, const float beta1, const float beta2, const float weight_decay, const float eps, const bool amsgrad, const bool maximize, const bool adamw, const miopenTensorDescriptor_t gradScaleDesc, const void *gradScale, const miopenTensorDescriptor_t foundInfDesc, const void *foundInf)
Perform Fused Adam optimization for a single tensor (Adaptive Moment Estimation).
miopenStatus_t miopenFusedAdamWithOutput(miopenHandle_t handle, const miopenTensorDescriptor_t paramInDesc, void *paramIn, const miopenTensorDescriptor_t paramOutDesc, void *paramOut, const miopenTensorDescriptor_t paramOutFloat16Desc, void *paramOutFloat16, const miopenTensorDescriptor_t gradInDesc, const void *gradIn, const miopenTensorDescriptor_t expAvgInDesc, void *expAvgIn, const miopenTensorDescriptor_t expAvgOutDesc, void *expAvgOut, const miopenTensorDescriptor_t expAvgSqInDesc, void *expAvgSqIn, const miopenTensorDescriptor_t expAvgSqOutDesc, void *expAvgSqOut, const miopenTensorDescriptor_t maxExpAvgSqInDesc, void *maxExpAvgSqIn, const miopenTensorDescriptor_t maxExpAvgSqOutDesc, void *maxExpAvgSqOut, const miopenTensorDescriptor_t stateStepInDesc, void *stateStepIn, const miopenTensorDescriptor_t stateStepOutDesc, void *stateStepOut, const unsigned int state_step, const float lr, const float beta1, const float beta2, const float weight_decay, const float eps, const bool amsgrad, const bool maximize, const bool adamw, const miopenTensorDescriptor_t gradScaleDesc, const void *gradScale, const miopenTensorDescriptor_t foundInfDesc, const void *foundInf)
Execute single tensor Adam optimization and receive the result in a separate output tensor.
miopenStatus_t miopenSetReduceTensorDescriptor(miopenReduceTensorDescriptor_t reduceTensorDesc, miopenReduceTensorOp_t reduceTensorOp, miopenDataType_t reduceTensorCompType, miopenNanPropagation_t reduceTensorNanOpt, miopenReduceTensorIndices_t reduceTensorIndices, miopenIndicesType_t reduceTensorIndicesType)
Initialize a ReduceTensor descriptor object.
miopenStatus_t miopenCreateReduceTensorDescriptor(miopenReduceTensorDescriptor_t *reduceTensorDesc)
Creates the ReduceTensor descriptor object.
miopenStatus_t miopenReduceTensor(miopenHandle_t handle, const miopenReduceTensorDescriptor_t reduceTensorDesc, void *indices, size_t indicesSizeInBytes, void *workspace, size_t workspaceSizeInBytes, const void *alpha, const miopenTensorDescriptor_t aDesc, const void *A, const void *beta, const miopenTensorDescriptor_t cDesc, void *C)
TensorReduce function doing reduction on tensor A by implementing C = alpha * reduceOp(A)
miopenStatus_t miopenGetReductionIndicesSize(miopenHandle_t handle, const miopenReduceTensorDescriptor_t reduceTensorDesc, const miopenTensorDescriptor_t aDesc, const miopenTensorDescriptor_t cDesc, size_t *sizeInBytes)
Helper function to query the minimum index space size required by the ReduceTensor call.
miopenStatus_t miopenDestroyReduceTensorDescriptor(miopenReduceTensorDescriptor_t reduceTensorDesc)
Destroy the ReduceTensor descriptor object.
miopenStatus_t miopenGetReductionWorkspaceSize(miopenHandle_t handle, const miopenReduceTensorDescriptor_t reduceTensorDesc, const miopenTensorDescriptor_t aDesc, const miopenTensorDescriptor_t cDesc, size_t *sizeInBytes)
Helper function to query the minimum workspace size required by the ReduceTensor call.
miopenStatus_t miopenGetReduceTensorDescriptor(const miopenReduceTensorDescriptor_t reduceTensorDesc, miopenReduceTensorOp_t *reduceTensorOp, miopenDataType_t *reduceTensorCompType, miopenNanPropagation_t *reduceTensorNanOpt, miopenReduceTensorIndices_t *reduceTensorIndices, miopenIndicesType_t *reduceTensorIndicesType)
Query a ReduceTensor descriptor object.
miopenStatus_t miopenActivationForward(miopenHandle_t handle, const miopenActivationDescriptor_t activDesc, const void *alpha, const miopenTensorDescriptor_t xDesc, const void *x, const void *beta, const miopenTensorDescriptor_t yDesc, void *y)
Execute an activation forward layer.
miopenStatus_t miopenActivationBackward(miopenHandle_t handle, const miopenActivationDescriptor_t activDesc, const void *alpha, const miopenTensorDescriptor_t yDesc, const void *y, const miopenTensorDescriptor_t dyDesc, const void *dy, const miopenTensorDescriptor_t xDesc, const void *x, const void *beta, const miopenTensorDescriptor_t dxDesc, void *dx)
Execute a activation backwards layer.
miopenStatus_t miopenSetActivationDescriptor(const miopenActivationDescriptor_t activDesc, miopenActivationMode_t mode, double activAlpha, double activBeta, double activGamma)
Sets the activation layer descriptor details.
miopenStatus_t miopenCreateActivationDescriptor(miopenActivationDescriptor_t *activDesc)
Creates the Activation descriptor object.
miopenStatus_t miopenGetActivationDescriptor(const miopenActivationDescriptor_t activDesc, miopenActivationMode_t *mode, double *activAlpha, double *activBeta, double *activGamma)
Gets the activation layer descriptor details.
miopenStatus_t miopenDestroyActivationDescriptor(miopenActivationDescriptor_t activDesc)
Destroys the activation descriptor object.
miopenStatus_t miopenBatchNormalizationForwardInference(miopenHandle_t handle, miopenBatchNormMode_t bn_mode, void *alpha, void *beta, const miopenTensorDescriptor_t xDesc, const void *x, const miopenTensorDescriptor_t yDesc, void *y, const miopenTensorDescriptor_t bnScaleBiasMeanVarDesc, void *bnScale, void *bnBias, void *estimatedMean, void *estimatedVariance, double epsilon)
Execute forward inference layer for batch normalization.
miopenStatus_t miopenBatchNormalizationForwardTraining(miopenHandle_t handle, miopenBatchNormMode_t bn_mode, void *alpha, void *beta, const miopenTensorDescriptor_t xDesc, const void *x, const miopenTensorDescriptor_t yDesc, void *y, const miopenTensorDescriptor_t bnScaleBiasMeanVarDesc, void *bnScale, void *bnBias, double expAvgFactor, void *resultRunningMean, void *resultRunningVariance, double epsilon, void *resultSaveMean, void *resultSaveInvVariance)
Execute forward training layer for batch normalization.
miopenStatus_t miopenBatchNormalizationBackward(miopenHandle_t handle, miopenBatchNormMode_t bn_mode, const void *alphaDataDiff, const void *betaDataDiff, const void *alphaParamDiff, const void *betaParamDiff, const miopenTensorDescriptor_t xDesc, const void *x, const miopenTensorDescriptor_t dyDesc, const void *dy, const miopenTensorDescriptor_t dxDesc, void *dx, const miopenTensorDescriptor_t bnScaleBiasDiffDesc, const void *bnScale, void *resultBnScaleDiff, void *resultBnBiasDiff, double epsilon, const void *savedMean, const void *savedInvVariance)
Execute backwards propagation layer for batch normalization.
miopenStatus_t miopenDeriveBNTensorDescriptor(miopenTensorDescriptor_t derivedBnDesc, const miopenTensorDescriptor_t xDesc, miopenBatchNormMode_t bn_mode)
Derive tensor for gamma and beta from input tensor descriptor.
miopenStatus_t miopenCatForward(miopenHandle_t handle, const int32_t xCount, const miopenTensorDescriptor_t *xDescs, const void *const *xs, const miopenTensorDescriptor_t yDesc, void *y, const int32_t dim)
Execute a cat forward layer.
miopenStatus_t miopenInitConvolutionNdDescriptor(miopenConvolutionDescriptor_t convDesc, int spatialDim, const int *padA, const int *strideA, const int *dilationA, miopenConvolutionMode_t c_mode)
Creates a N-dimensional convolution layer descriptor.
miopenStatus_t miopenConvolutionForwardImmediate(miopenHandle_t handle, const miopenTensorDescriptor_t wDesc, const void *w, const miopenTensorDescriptor_t xDesc, const void *x, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t yDesc, void *y, void *workSpace, size_t workSpaceSize, const uint64_t solution_id)
Executes the Forward convolution operation based on the provided solution ID.
miopenStatus_t miopenConvolutionBackwardDataCompileSolution(miopenHandle_t handle, const miopenTensorDescriptor_t dyDesc, const miopenTensorDescriptor_t wDesc, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t dxDesc, const uint64_t solution_id)
Compiles the solution provided by the user, this solution may be acquired by the miopenConvolutionBac...
miopenStatus_t miopenConvolutionForwardGetSolutionWorkspaceSize(miopenHandle_t handle, const miopenTensorDescriptor_t wDesc, const miopenTensorDescriptor_t xDesc, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t yDesc, const uint64_t solution_id, size_t *workSpaceSize)
Returns the workspace size required for a particular solution id.
miopenStatus_t miopenConvolutionForward(miopenHandle_t handle, const void *alpha, const miopenTensorDescriptor_t xDesc, const void *x, const miopenTensorDescriptor_t wDesc, const void *w, const miopenConvolutionDescriptor_t convDesc, miopenConvFwdAlgorithm_t algo, const void *beta, const miopenTensorDescriptor_t yDesc, void *y, void *workSpace, size_t workSpaceSize)
Execute a forward convolution layer.
miopenStatus_t miopenGetConvolutionGroupCount(miopenConvolutionDescriptor_t convDesc, int *groupCount)
Get the number of groups to be used in Group/Depthwise convolution.
miopenStatus_t miopenInitConvolutionDescriptor(miopenConvolutionDescriptor_t convDesc, miopenConvolutionMode_t c_mode, int pad_h, int pad_w, int stride_h, int stride_w, int dilation_h, int dilation_w)
Creates a 2-D convolution layer descriptor.
miopenStatus_t miopenConvolutionBackwardData(miopenHandle_t handle, const void *alpha, const miopenTensorDescriptor_t dyDesc, const void *dy, const miopenTensorDescriptor_t wDesc, const void *w, const miopenConvolutionDescriptor_t convDesc, miopenConvBwdDataAlgorithm_t algo, const void *beta, const miopenTensorDescriptor_t dxDesc, void *dx, void *workSpace, size_t workSpaceSize)
Execute a backward data convolution layer.
miopenStatus_t miopenGetConvolutionAttribute(miopenConvolutionDescriptor_t convDesc, const miopenConvolutionAttrib_t attr, int *value)
Get the attribute of the convolution descriptor.
miopenStatus_t miopenGetConvolutionNdForwardOutputDim(miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t inputTensorDesc, const miopenTensorDescriptor_t filterDesc, int *nDim, int *outputTensorDimA)
Get the shape of a resulting N-dimensional tensor from a (N-2)-dimensional convolution.
miopenStatus_t miopenConvolutionBackwardWeightsCompileSolution(miopenHandle_t handle, const miopenTensorDescriptor_t dyDesc, const miopenTensorDescriptor_t xDesc, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t dwDesc, const uint64_t solution_id)
Compiles the solution provided by the user, this solution may be acquired by the miopenConvolutionBac...
miopenStatus_t miopenFindConvolutionBackwardWeightsAlgorithm(miopenHandle_t handle, const miopenTensorDescriptor_t dyDesc, const void *dy, const miopenTensorDescriptor_t xDesc, const void *x, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t dwDesc, void *dw, const int requestAlgoCount, int *returnedAlgoCount, miopenConvAlgoPerf_t *perfResults, void *workSpace, size_t workSpaceSize, bool exhaustiveSearch)
Search and run the backwards weights convolutional algorithms and return a list of kernel times.
miopenStatus_t miopenGetConvolutionForwardOutputDim(miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t inputTensorDesc, const miopenTensorDescriptor_t filterDesc, int *n, int *c, int *h, int *w)
Get the shape of a resulting 4-D tensor from a 2-D convolution.
miopenStatus_t miopenConvolutionForwardGetWorkSpaceSize(miopenHandle_t handle, const miopenTensorDescriptor_t wDesc, const miopenTensorDescriptor_t xDesc, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t yDesc, size_t *workSpaceSize)
Query the workspace size required for a forward convolution algorithm.
miopenStatus_t miopenCreateConvolutionDescriptor(miopenConvolutionDescriptor_t *convDesc)
Creates a convolution layer descriptor.
miopenStatus_t miopenConvolutionBackwardWeightsGetSolution(miopenHandle_t handle, const miopenTensorDescriptor_t dyDesc, const miopenTensorDescriptor_t xDesc, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t dwDesc, const size_t maxSolutionCount, size_t *solutionCount, miopenConvSolution_t *solutions)
Query the applicable solutions for a backward convolution w-r-t weights as described by input,...
miopenStatus_t miopenGetConvolutionNdDescriptor(miopenConvolutionDescriptor_t convDesc, int requestedSpatialDim, int *spatialDim, int *padA, int *strideA, int *dilationA, miopenConvolutionMode_t *c_mode)
Retrieves a N-dimensional convolution layer descriptor's details.
miopenStatus_t miopenConvolutionBackwardWeightsGetWorkSpaceSize(miopenHandle_t handle, const miopenTensorDescriptor_t dyDesc, const miopenTensorDescriptor_t xDesc, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t dwDesc, size_t *workSpaceSize)
Get the GPU memory required for the backward weights convolution algorithm.
miopenStatus_t miopenConvolutionBackwardWeightsImmediate(miopenHandle_t handle, const miopenTensorDescriptor_t dyDesc, const void *dy, const miopenTensorDescriptor_t xDesc, const void *x, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t dwDesc, void *dw, void *workSpace, size_t workSpaceSize, const uint64_t solution_id)
Executes the Backward convolution w-r-t weights operation based on the provided solution ID.
miopenStatus_t miopenFindConvolutionBackwardDataAlgorithm(miopenHandle_t handle, const miopenTensorDescriptor_t dyDesc, const void *dy, const miopenTensorDescriptor_t wDesc, const void *w, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t dxDesc, void *dx, const int requestAlgoCount, int *returnedAlgoCount, miopenConvAlgoPerf_t *perfResults, void *workSpace, size_t workSpaceSize, bool exhaustiveSearch)
Search and run the backwards data convolution algorithms and return a list of kernel times.
miopenStatus_t miopenConvolutionBackwardDataGetSolution(miopenHandle_t handle, const miopenTensorDescriptor_t dyDesc, const miopenTensorDescriptor_t wDesc, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t dxDesc, const size_t maxSolutionCount, size_t *solutionCount, miopenConvSolution_t *solutions)
Query the applicable solutions for a backward convolution w-r-t data as described by input,...
miopenStatus_t miopenConvolutionForwardBias(miopenHandle_t handle, const void *alpha, const miopenTensorDescriptor_t bDesc, const void *b, const void *beta, const miopenTensorDescriptor_t yDesc, void *y)
Calculate element-wise scale and shift of a tensor via a bias tensor.
miopenStatus_t miopenSetConvolutionAttribute(miopenConvolutionDescriptor_t convDesc, const miopenConvolutionAttrib_t attr, int value)
Set the attribute of the convolution descriptor.
miopenStatus_t miopenConvolutionBackwardDataImmediate(miopenHandle_t handle, const miopenTensorDescriptor_t dyDesc, const void *dy, const miopenTensorDescriptor_t wDesc, const void *w, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t dxDesc, void *dx, void *workSpace, size_t workSpaceSize, const uint64_t solution_id)
Executes the Backward convolution w-r-t data operation based on the provided solution ID.
miopenStatus_t miopenSetTransposeConvNdOutputPadding(miopenConvolutionDescriptor_t convDesc, int spatialDim, const int *adjA)
Set the output padding to be used in N-dimensional Transpose convolution.
miopenStatus_t miopenSetTransposeConvOutputPadding(miopenConvolutionDescriptor_t convDesc, int adj_h, int adj_w)
Set the output padding to be used in 2-D Transpose convolution.
miopenStatus_t miopenGetConvolutionSpatialDim(miopenConvolutionDescriptor_t convDesc, int *spatialDim)
Retrieves the spatial dimension of a convolution layer descriptor.
miopenStatus_t miopenConvolutionForwardCompileSolution(miopenHandle_t handle, const miopenTensorDescriptor_t wDesc, const miopenTensorDescriptor_t xDesc, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t yDesc, const uint64_t solution_id)
Compiles the solution provided by the user, this solution may be acquired by the miopenConvolutionFor...
miopenStatus_t miopenConvolutionBackwardDataGetSolutionCount(miopenHandle_t handle, const miopenTensorDescriptor_t dyDesc, const miopenTensorDescriptor_t wDesc, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t dxDesc, size_t *solutionCount)
Query the maximum number of solutions applicable for the given input/output and weights tensor descri...
miopenStatus_t miopenConvolutionBackwardWeights(miopenHandle_t handle, const void *alpha, const miopenTensorDescriptor_t dyDesc, const void *dy, const miopenTensorDescriptor_t xDesc, const void *x, const miopenConvolutionDescriptor_t convDesc, miopenConvBwdWeightsAlgorithm_t algo, const void *beta, const miopenTensorDescriptor_t dwDesc, void *dw, void *workSpace, size_t workSpaceSize)
Execute a backward weights convolution layer.
miopenStatus_t miopenConvolutionBackwardDataGetWorkSpaceSize(miopenHandle_t handle, const miopenTensorDescriptor_t dyDesc, const miopenTensorDescriptor_t wDesc, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t dxDesc, size_t *workSpaceSize)
Query the workspace size required for a backward data convolution algorithm.
miopenStatus_t miopenFindConvolutionForwardAlgorithm(miopenHandle_t handle, const miopenTensorDescriptor_t xDesc, const void *x, const miopenTensorDescriptor_t wDesc, const void *w, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t yDesc, void *y, const int requestAlgoCount, int *returnedAlgoCount, miopenConvAlgoPerf_t *perfResults, void *workSpace, size_t workSpaceSize, bool exhaustiveSearch)
Search and run the forward convolutional algorithms and return a list of kernel times.
miopenStatus_t miopenDestroyConvolutionDescriptor(miopenConvolutionDescriptor_t convDesc)
Destroys the tensor descriptor object.
miopenStatus_t miopenConvolutionBackwardWeightsGetSolutionCount(miopenHandle_t handle, const miopenTensorDescriptor_t dyDesc, const miopenTensorDescriptor_t xDesc, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t dwDesc, size_t *solutionCount)
Query the maximum number of solutions applicable for the given input/output and weights tensor descri...
miopenStatus_t miopenSetConvolutionGroupCount(miopenConvolutionDescriptor_t convDesc, int groupCount)
Set the number of groups to be used in Group/Depthwise convolution.
miopenStatus_t miopenConvolutionBackwardWeightsGetSolutionWorkspaceSize(miopenHandle_t handle, const miopenTensorDescriptor_t dyDesc, const miopenTensorDescriptor_t xDesc, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t dwDesc, const uint64_t solution_id, size_t *workSpaceSize)
Returns the workspace size required for a particular solution id.
miopenStatus_t miopenConvolutionForwardGetSolution(miopenHandle_t handle, const miopenTensorDescriptor_t wDesc, const miopenTensorDescriptor_t xDesc, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t yDesc, const size_t maxSolutionCount, size_t *solutionCount, miopenConvSolution_t *solutions)
Query the applicable solutions for a convolution configuration described by input,...
miopenStatus_t miopenGetConvolutionDescriptor(miopenConvolutionDescriptor_t convDesc, miopenConvolutionMode_t *c_mode, int *pad_h, int *pad_w, int *stride_h, int *stride_w, int *dilation_h, int *dilation_w)
Retrieves a 2-D convolution layer descriptor's details.
miopenStatus_t miopenConvolutionForwardGetSolutionCount(miopenHandle_t handle, const miopenTensorDescriptor_t wDesc, const miopenTensorDescriptor_t xDesc, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t yDesc, size_t *solutionCount)
Query the maximum number of solutions applicable for the given input/output and weights tensor descri...
miopenStatus_t miopenConvolutionBackwardDataGetSolutionWorkspaceSize(miopenHandle_t handle, const miopenTensorDescriptor_t dyDesc, const miopenTensorDescriptor_t wDesc, const miopenConvolutionDescriptor_t convDesc, const miopenTensorDescriptor_t dxDesc, const uint64_t solution_id, size_t *workSpaceSize)
Returns the workspace size required for a particular solution id.
miopenStatus_t miopenConvolutionBackwardBias(miopenHandle_t handle, const void *alpha, const miopenTensorDescriptor_t dyDesc, const void *dy, const void *beta, const miopenTensorDescriptor_t dbDesc, void *db)
Calculates the gradient with respect to the bias.
@ miopenConvolutionBwdDataAlgoImplicitGEMM
Definition: miopen.h:1204
@ miopenConvolutionBwdWeightsAlgoWinograd
Definition: miopen.h:1189
@ miopenConvolutionBwdWeightsAlgoDirect
Definition: miopen.h:1188
@ miopenConvolutionBwdWeightsAlgoImplicitGEMM
Definition: miopen.h:1190
miopenStatus_t miopenDestroyDropoutDescriptor(miopenDropoutDescriptor_t dropoutDesc)
Destroys the dropout descriptor object.
miopenStatus_t miopenDropoutGetStatesSize(miopenHandle_t handle, size_t *stateSizeInBytes)
Query the amount of memory required to store the states of the random number generators.
miopenStatus_t miopenDropoutGetReserveSpaceSize(const miopenTensorDescriptor_t xDesc, size_t *reserveSpaceSizeInBytes)
Query the amount of memory required to run dropout.
miopenStatus_t miopenDropoutForward(miopenHandle_t handle, const miopenDropoutDescriptor_t dropoutDesc, const miopenTensorDescriptor_t noise_shape, const miopenTensorDescriptor_t xDesc, const void *x, const miopenTensorDescriptor_t yDesc, void *y, void *reserveSpace, size_t reserveSpaceSizeInBytes)
Execute forward dropout operation.
miopenStatus_t miopenGetDropoutDescriptor(miopenDropoutDescriptor_t dropoutDesc, miopenHandle_t handle, float *dropout, void **states, unsigned long long *seed, bool *use_mask, bool *state_evo, miopenRNGType_t *rng_mode)
Get the details of the dropout descriptor.
miopenStatus_t miopenCreateDropoutDescriptor(miopenDropoutDescriptor_t *dropoutDesc)
Creates the dropout descriptor object.
miopenStatus_t miopenDropoutBackward(miopenHandle_t handle, const miopenDropoutDescriptor_t dropoutDesc, const miopenTensorDescriptor_t noise_shape, const miopenTensorDescriptor_t dyDesc, const void *dy, const miopenTensorDescriptor_t dxDesc, void *dx, void *reserveSpace, size_t reserveSpaceSizeInBytes)
Execute backward dropout operation.
miopenStatus_t miopenRestoreDropoutDescriptor(miopenDropoutDescriptor_t dropoutDesc, miopenHandle_t handle, float dropout, void *states, size_t stateSizeInBytes, unsigned long long seed, bool use_mask, bool state_evo, miopenRNGType_t rng_mode)
Restore the dropout descriptor to a saved state.
miopenStatus_t miopenSetDropoutDescriptor(miopenDropoutDescriptor_t dropoutDesc, miopenHandle_t handle, float dropout, void *states, size_t stateSizeInBytes, unsigned long long seed, bool use_mask, bool state_evo, miopenRNGType_t rng_mode)
Initialize the dropout descriptor.
miopenStatus_t miopenGetSolutionSolverId(miopenSolution_t solution, uint64_t *solverId)
Reads id of the solver referred by the solution.
miopenStatus_t miopenSetSoftmaxDescriptor(miopenSoftmaxDescriptor_t softmaxDesc, float alpha, float beta, miopenSoftmaxAlgorithm_t algorithm, miopenSoftmaxMode_t mode)
Sets the softmax descriptor details.
miopenStatus_t miopenGetSolutionTime(miopenSolution_t solution, float *time)
Reads the time spent to execute the solution the last it was run.
miopenStatus_t miopenGetMhaDescriptor(miopenMhaDescriptor_t mhaDesc, float *scale)
Gets the Mha descriptor details.
miopenStatus_t miopenSetMhaDescriptor(miopenMhaDescriptor_t mhaDesc, float scale)
Sets the Mha descriptor details.
miopenStatus_t miopenSetFindOptionWorkspaceLimit(miopenFindOptions_t options, size_t value)
Sets the workspace limit find option. Default value is maximum of size_t.
miopenStatus_t miopenSetFindOptionPreallocatedTensor(miopenFindOptions_t options, miopenTensorArgumentId_t id, void *buffer)
Attaches a preallocated tensor to find options. If not used, buffers are allocated by MIOpen internal...
miopenStatus_t miopenCreateSoftmaxProblem(miopenProblem_t *problem, miopenSoftmaxDescriptor_t operatorDesc, miopenProblemDirection_t direction)
Initializes a problem object describing a softmax operation.
miopenStatus_t miopenDestroyFindOptions(miopenFindOptions_t options)
Destroys miopenFindOptions object.
miopenStatus_t miopenFuseProblems(miopenProblem_t problem1, miopenProblem_t problem2)
miopenStatus_t miopenGetSolutionSize(miopenSolution_t solution, size_t *size)
Reads the expected size of a solution.
miopenStatus_t miopenFindSolutions(miopenHandle_t handle, miopenProblem_t problem, miopenFindOptions_t options, miopenSolution_t *solutions, size_t *numSolutions, size_t maxSolutions)
Finds solutions to a problem by running different applicable solutions. Memory is automatically alloc...
miopenStatus_t miopenSetFindOptionTuning(miopenFindOptions_t options, int value)
Sets the tuning find option. Default value is zero.
miopenStatus_t miopenGetSolutionWorkspaceSize(miopenSolution_t solution, size_t *workspaceSize)
Reads the amount of workspace required to exectute the solution.
miopenStatus_t miopenSetFindOptionResultsOrder(miopenFindOptions_t options, miopenFindResultsOrder_t value)
Sets the results order find option. Default value is miopenFindResultsOrderByTime.
miopenStatus_t miopenRunSolution(miopenHandle_t handle, miopenSolution_t solution, size_t nInputs, const miopenTensorArgument_t *tensors, void *workspace, size_t workspaceSize)
Runs the solution using the passed in buffers.
miopenStatus_t miopenCreateMhaProblem(miopenProblem_t *problem, miopenMhaDescriptor_t operatorDesc, miopenProblemDirection_t direction)
Initializes a problem object describing a Mha operation.
miopenStatus_t miopenCreateBatchnormProblem(miopenProblem_t *problem, miopenBatchNormMode_t mode, bool runningMeanVariance, miopenProblemDirection_t direction)
Initializes a problem object describing an activation operation.
miopenStatus_t miopenCreateMhaDescriptor(miopenMhaDescriptor_t *mhaDesc)
Creates the mha descriptor object.
miopenStatus_t miopenDestroySolution(miopenSolution_t solution)
Destroys solution object.
miopenStatus_t miopenLoadSolution(miopenSolution_t *solution, const char *data, size_t size)
Loads solution object from binary data.
miopenStatus_t miopenSaveSolution(miopenSolution_t solution, char *data)
Saves a solution object as binary data.
miopenStatus_t miopenGetSolverIdConvAlgorithm(uint64_t solverId, miopenConvAlgorithm_t *result)
Gets the convolution algorithm implemented by a solver.
miopenStatus_t miopenSetFindOptionPreallocatedWorkspace(miopenFindOptions_t options, void *buffer, size_t size)
Attaches the preallocated workspace to find options. Allocated by the library by default.
miopenStatus_t miopenCreateActivationProblem(miopenProblem_t *problem, miopenActivationDescriptor_t operatorDesc, miopenProblemDirection_t direction)
Initializes a problem object describing an activation operation.
miopenStatus_t miopenDestroyProblem(miopenProblem_t problem)
Destroys a problem object.
miopenStatus_t miopenCreateFindOptions(miopenFindOptions_t *options)
Initializes miopenFindOptions object.
miopenStatus_t miopenGetSoftmaxDescriptor(const miopenSoftmaxDescriptor_t softmaxDesc, float *alpha, float *beta, miopenSoftmaxAlgorithm_t *algorithm, miopenSoftmaxMode_t *mode)
Gets the softmax layer descriptor details.
miopenStatus_t miopenCreateConvProblem(miopenProblem_t *problem, miopenConvolutionDescriptor_t operatorDesc, miopenProblemDirection_t direction)
Initializes a problem object describing a convolution operation.
miopenStatus_t miopenCreateBiasProblem(miopenProblem_t *problem, miopenProblemDirection_t direction)
Initializes a problem object describing an bias operation.
miopenStatus_t miopenSetProblemTensorDescriptor(miopenProblem_t problem, miopenTensorArgumentId_t id, const miopenTensorDescriptor_t descriptor)
Sets a tensor descriptor for the specified argument.
miopenStatus_t miopenCreateSoftmaxDescriptor(miopenSoftmaxDescriptor_t *softmaxDesc)
Creates the Softmax descriptor object.
@ miopenFindResultsOrderByWorkspaceSize
Definition: miopen.h:5450
@ miopenTensorBatchnormEstimatedVariance
Definition: miopen.h:5429
@ miopenProblemDirectionBackwardWeights
Definition: miopen.h:5359
miopenStatus_t miopenGroupNormForward(miopenHandle_t handle, miopenNormMode_t mode, const miopenTensorDescriptor_t xDesc, const void *x, const miopenTensorDescriptor_t weightDesc, const void *weight, const miopenTensorDescriptor_t biasDesc, const void *bias, const uint64_t num_groups, const float epsilon, const miopenTensorDescriptor_t yDesc, void *y, const miopenTensorDescriptor_t meanDesc, void *mean, const miopenTensorDescriptor_t rstdDesc, void *rstd)
Execute a groupnorm forward layer.
miopenStatus_t miopenCreateWithStream(miopenHandle_t *handle, miopenAcceleratorQueue_t stream)
Create a MIOpen handle with an accelerator stream.
void(* miopenDeallocatorFunction)(void *context, void *memory)
Custom deallocator function.
Definition: miopen.h:155
miopenStatus_t miopenGetStream(miopenHandle_t handle, miopenAcceleratorQueue_t *streamID)
Get the previously created accelerator command queue.
miopenStatus_t miopenEnableProfiling(miopenHandle_t handle, bool enable)
Enable profiling to retrieve kernel time.
miopenStatus_t miopenGetVersion(size_t *major, size_t *minor, size_t *patch)
Method to return version of MIOpen.
miopenStatus_t miopenSetAllocator(miopenHandle_t handle, miopenAllocatorFunction allocator, miopenDeallocatorFunction deallocator, void *allocatorContext)
Set allocator for previously created miopenHandle.
void *(* miopenAllocatorFunction)(void *context, size_t sizeBytes)
Custom allocator function.
Definition: miopen.h:145
const char * miopenGetErrorString(miopenStatus_t error)
Get character string for an error code.
miopenStatus_t miopenCreate(miopenHandle_t *handle)
Method to create the MIOpen handle object.
miopenStatus_t miopenGetKernelTime(miopenHandle_t handle, float *time)
Get time for last kernel launched.
miopenStatus_t miopenSetStream(miopenHandle_t handle, miopenAcceleratorQueue_t streamID)
Set accelerator command queue previously created.
miopenStatus_t miopenLayerNormForward(miopenHandle_t handle, miopenNormMode_t mode, const miopenTensorDescriptor_t xDesc, const void *x, const miopenTensorDescriptor_t weightDesc, const void *weight, const miopenTensorDescriptor_t biasDesc, const void *bias, const float epsilon, const int32_t normalized_dim, const miopenTensorDescriptor_t yDesc, void *y, const miopenTensorDescriptor_t meanDesc, void *mean, const miopenTensorDescriptor_t rstdDesc, void *rstd)
Execute a layernorm forward layer.
miopenStatus_t miopenT5LayerNormBackward(miopenHandle_t handle, miopenNormMode_t mode, void *workspace, size_t workspaceSizeInBytes, const miopenTensorDescriptor_t dyDesc, const void *dy, const miopenTensorDescriptor_t xDesc, const void *x, const miopenTensorDescriptor_t weightDesc, const void *weight, const miopenTensorDescriptor_t rstdDesc, const void *rstd, const miopenTensorDescriptor_t dxDesc, void *dx, const miopenTensorDescriptor_t dwDesc, void *dw)
Execute a T5layernorm backward layer.
miopenStatus_t miopenT5LayerNormForward(miopenHandle_t handle, miopenNormMode_t mode, const miopenTensorDescriptor_t xDesc, const void *x, const miopenTensorDescriptor_t weightDesc, const void *weight, const float epsilon, const miopenTensorDescriptor_t yDesc, void *y, const miopenTensorDescriptor_t rstdDesc, void *rstd)
Execute a T5layernorm forward layer.
miopenStatus_t miopenGetT5LayerNormBackwardWorkspaceSize(miopenHandle_t handle, miopenNormMode_t mode, const miopenTensorDescriptor_t dyDesc, const miopenTensorDescriptor_t xDesc, const miopenTensorDescriptor_t weightDesc, const miopenTensorDescriptor_t rstdDesc, const miopenTensorDescriptor_t dxDesc, const miopenTensorDescriptor_t dwDesc, size_t *sizeInBytes)
Helper function to query the minimum workspace size required by the T5layernorm backward call.
miopenStatus_t miopenAddLayerNormForward(miopenHandle_t handle, miopenNormMode_t mode, const miopenTensorDescriptor_t xDesc, const void *x, const miopenTensorDescriptor_t x2Desc, const void *x2, const miopenTensorDescriptor_t weightDesc, const void *weight, const miopenTensorDescriptor_t biasDesc, const void *bias, const float epsilon, const int32_t normalized_dim, const miopenTensorDescriptor_t yDesc, void *y, const miopenTensorDescriptor_t meanDesc, void *mean, const miopenTensorDescriptor_t rstdDesc, void *rstd)
Execute a add and layernorm forward layer.
miopenStatus_t miopenSet2dPoolingDescriptor(miopenPoolingDescriptor_t poolDesc, miopenPoolingMode_t mode, int windowHeight, int windowWidth, int pad_h, int pad_w, int stride_h, int stride_w)
Sets a 2-D pooling layer descriptor details.
miopenStatus_t miopenSetPoolingWorkSpaceIndexMode(miopenPoolingDescriptor_t poolDesc, miopenPoolingWorkspaceIndexMode_t workspace_index)
Set workspace index mode for pooling layer. The default mode is miopenPoolingWorkSpaceIndexMask.
miopenStatus_t miopenGetPoolingForwardOutputDim(const miopenPoolingDescriptor_t poolDesc, const miopenTensorDescriptor_t tensorDesc, int *n, int *c, int *h, int *w)
Gets the shape of the output tensor for 2-D pooling.
miopenStatus_t miopenPoolingGetWorkSpaceSize(const miopenTensorDescriptor_t yDesc, size_t *workSpaceSize)
Get the amount of GPU memory required for pooling.
miopenStatus_t miopenSetNdPoolingDescriptor(miopenPoolingDescriptor_t poolDesc, const miopenPoolingMode_t mode, int nbDims, const int *windowDimA, const int *padA, const int *stridesA)
Set details of a N-D pooling layer descriptor.
miopenStatus_t miopenPoolingForward(miopenHandle_t handle, const miopenPoolingDescriptor_t poolDesc, const void *alpha, const miopenTensorDescriptor_t xDesc, const void *x, const void *beta, const miopenTensorDescriptor_t yDesc, void *y, bool do_backward, void *workSpace, size_t workSpaceSize)
Execute a forward pooling layer.
miopenStatus_t miopenPoolingGetWorkSpaceSizeV2(const miopenPoolingDescriptor_t poolDesc, const miopenTensorDescriptor_t yDesc, size_t *workSpaceSize)
Get the amount of GPU memory required for pooling.
miopenStatus_t miopenGetPoolingWorkSpaceIndexMode(miopenPoolingDescriptor_t poolDesc, miopenPoolingWorkspaceIndexMode_t *workspace_index)
Get workspace index mode for pooling layer.
miopenStatus_t miopenGetPoolingIndexType(miopenPoolingDescriptor_t poolDesc, miopenIndexType_t *index_type)
Get the index data type for pooling layer. The index type to any of the miopenIndexType_t sizes; 8,...
miopenStatus_t miopenGetPoolingNdForwardOutputDim(const miopenPoolingDescriptor_t poolDesc, const miopenTensorDescriptor_t tensorDesc, int dims, int *tensorDimArr)
Gets the shape of the output tensor for N-D pooling.
miopenStatus_t miopenGetNdPoolingDescriptor(const miopenPoolingDescriptor_t poolDesc, int nbDimsRequested, miopenPoolingMode_t *mode, int *nbDims, int *windowDimA, int *padA, int *stridesA)
Get details of a N-D pooling layer descriptor.
miopenStatus_t miopenCreatePoolingDescriptor(miopenPoolingDescriptor_t *poolDesc)
Creates a pooling layer descriptor.
miopenStatus_t miopenSetPoolingIndexType(miopenPoolingDescriptor_t poolDesc, miopenIndexType_t index_type)
Set index data type for pooling layer. The default indexing type is uint8_t. Users can set the index ...
miopenStatus_t miopenGet2dPoolingDescriptor(const miopenPoolingDescriptor_t poolDesc, miopenPoolingMode_t *mode, int *windowHeight, int *windowWidth, int *pad_h, int *pad_w, int *stride_h, int *stride_w)
Gets a 2-D pooling layer descriptor details.
miopenStatus_t miopenDestroyPoolingDescriptor(miopenPoolingDescriptor_t poolDesc)
Destroys the pooling descriptor object.
miopenStatus_t miopenPoolingBackward(miopenHandle_t handle, const miopenPoolingDescriptor_t poolDesc, const void *alpha, const miopenTensorDescriptor_t yDesc, const void *y, const miopenTensorDescriptor_t dyDesc, const void *dy, const miopenTensorDescriptor_t xDesc, const void *x, const void *beta, const miopenTensorDescriptor_t dxDesc, void *dx, void *workSpace)
Execute a backward pooling layer.
miopenStatus_t miopenSoftmaxBackward_V2(miopenHandle_t handle, const void *alpha, const miopenTensorDescriptor_t yDesc, const void *y, const miopenTensorDescriptor_t dyDesc, const void *dy, const void *beta, const miopenTensorDescriptor_t dxDesc, void *dx, miopenSoftmaxAlgorithm_t algorithm, miopenSoftmaxMode_t mode)
Execute a softmax backwards layer with expanded modes and algorithms.
miopenStatus_t miopenSoftmaxForward(miopenHandle_t handle, const void *alpha, const miopenTensorDescriptor_t xDesc, const void *x, const void *beta, const miopenTensorDescriptor_t yDesc, void *y)
Execute a softmax forward layer.
miopenStatus_t miopenSoftmaxForward_V2(miopenHandle_t handle, const void *alpha, const miopenTensorDescriptor_t xDesc, const void *x, const void *beta, const miopenTensorDescriptor_t yDesc, void *y, miopenSoftmaxAlgorithm_t algorithm, miopenSoftmaxMode_t mode)
Execute a softmax forward layer with expanded modes and algorithms.
miopenStatus_t miopenSoftmaxBackward(miopenHandle_t handle, const void *alpha, const miopenTensorDescriptor_t yDesc, const void *y, const miopenTensorDescriptor_t dyDesc, const void *dy, const void *beta, const miopenTensorDescriptor_t dxDesc, void *dx)
Execute a softmax backwards layer.
miopenStatus_t miopenSumForward(miopenHandle_t handle, miopenSumNanPropagation_t nanPropagation, void *workspace, size_t workspaceSizeInBytes, const miopenTensorDescriptor_t xDesc, const void *x, const int32_t dim, const miopenTensorDescriptor_t yDesc, void *y)
Execute a sum forward layer.
miopenStatus_t miopenGetSumWorkspaceSize(miopenHandle_t handle, const miopenTensorDescriptor_t xDesc, const int32_t dim, const miopenTensorDescriptor_t yDesc, size_t *sizeInBytes)
Helper function to query the minimum workspace size required by the ReduceTensor call.
miopenStatus_t miopenDestroySeqTensorDescriptor(miopenSeqTensorDescriptor_t tensorDesc)
Destroys the sequence data tensor descriptor.
miopenStatus_t miopenGetTensorDescriptor(miopenTensorDescriptor_t tensorDesc, miopenDataType_t *dataType, int *dimsA, int *stridesA)
Get the details of the N-dimensional tensor descriptor.
miopenStatus_t miopenSetNdTensorDescriptorWithLayout(miopenTensorDescriptor_t tensorDesc, miopenDataType_t dataType, miopenTensorLayout_t tensorLayout, const int *lens, int num_lens)
Set shape of ND tensor with specific layout.
miopenStatus_t miopenSetTensor(miopenHandle_t handle, const miopenTensorDescriptor_t yDesc, void *y, const void *alpha)
Fills a tensor with a single value.
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.
miopenStatus_t miopenGetTensorNumBytes(miopenTensorDescriptor_t tensorDesc, size_t *numBytes)
Returns number of bytes associated with tensor descriptor.
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.
miopenStatus_t miopenTransformTensor(miopenHandle_t handle, const void *alpha, const miopenTensorDescriptor_t xDesc, const void *x, const void *beta, const miopenTensorDescriptor_t yDesc, void *y)
Copies one tensor to another tensor with a different layout/scale.
miopenStatus_t miopenCreateTensorDescriptor(miopenTensorDescriptor_t *tensorDesc)
Create a Tensor Descriptor.
miopenStatus_t miopenSetTensorDescriptorV2(miopenTensorDescriptor_t tensorDesc, miopenDataType_t dataType, int nbDims, const size_t *dimsA, const size_t *stridesA)
Set shape of N-dimensional tensor.
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.
miopenStatus_t miopenSetTensorCastType(miopenTensorDescriptor_t tensorDesc, miopenDataType_t cast_type)
Set the tensor cast type.
miopenStatus_t miopenSet4dTensorDescriptor(miopenTensorDescriptor_t tensorDesc, miopenDataType_t dataType, int n, int c, int h, int w)
Set shape of 4D tensor.
miopenStatus_t miopenSet4dTensorDescriptorEx(miopenTensorDescriptor_t tensorDesc, miopenDataType_t dataType, int n, int c, int h, int w, int nStride, int cStride, int hStride, int wStride)
Set shape and stride of 4D tensor.
miopenStatus_t miopenCreateSeqTensorDescriptor(miopenSeqTensorDescriptor_t *tensorDesc)
Create a Tensor Descriptor for sequence data.
miopenStatus_t miopenGetTensorDescriptorSize(miopenTensorDescriptor_t tensorDesc, int *size)
Set shape of N-dimensional tensor.
miopenStatus_t miopenDestroyTensorDescriptor(miopenTensorDescriptor_t tensorDesc)
Destroys the tensor descriptor.
miopenStatus_t miopenSetTensorDescriptor(miopenTensorDescriptor_t tensorDesc, miopenDataType_t dataType, int nbDims, const int *dimsA, const int *stridesA)
Set shape of N-dimensional tensor.
@ MIOPEN_REDUCE_TENSOR_FLATTENED_INDICES
Definition: miopen.h:606
@ MIOPEN_CONVOLUTION_ATTRIB_DETERMINISTIC
Definition: miopen.h:631
@ MIOPEN_CONVOLUTION_ATTRIB_FP8_ROUNDING_MODE
Definition: miopen.h:635
@ MIOPEN_CONVOLUTION_ATTRIB_FP16_ALT_IMPL
Definition: miopen.h:627
Perf struct for forward, backward filter, or backward data algorithms.
Definition: miopen.h:1226
Performance struct for forward, backward filter, or backward data algorithms in immediate mode.
Definition: miopen.h:1250
Values of a tensor or scalar argument for the miopenRunSolution function.
Definition: miopen.h:5660