/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-miopen/checkouts/docs-6.4.3/include/miopen/miopen.h Source File

/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-miopen/checkouts/docs-6.4.3/include/miopen/miopen.h Source File#

MIOpen: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-miopen/checkouts/docs-6.4.3/include/miopen/miopen.h Source File
miopen.h
Go to the documentation of this file.
1 /*******************************************************************************
2  *
3  * MIT License
4  *
5  * Copyright (c) 2023 Advanced Micro Devices, Inc.
6  *
7  * Permission is hereby granted, free of charge, to any person obtaining a copy
8  * of this software and associated documentation files (the "Software"), to deal
9  * in the Software without restriction, including without limitation the rights
10  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11  * copies of the Software, and to permit persons to whom the Software is
12  * furnished to do so, subject to the following conditions:
13  *
14  * The above copyright notice and this permission notice shall be included in all
15  * copies or substantial portions of the Software.
16  *
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23  * SOFTWARE.
24  *
25  *******************************************************************************/
26 #ifndef MIOPEN_GUARD_MIOPEN_H_
27 #define MIOPEN_GUARD_MIOPEN_H_
28 
29 #ifdef __clang__
30 #pragma clang diagnostic push
31 #pragma clang diagnostic ignored "-Wextern-c-compat"
32 #endif
33 
34 #include <stddef.h>
35 #include <stdbool.h>
36 #include <miopen/config.h>
37 #include <miopen/export.h>
38 
39 #if MIOPEN_BACKEND_OPENCL
40 #define CL_TARGET_OPENCL_VERSION 120
41 #if defined(__APPLE__) || defined(__MACOSX)
42 #include <OpenCL/cl.h>
43 #else
44 #define CL_USE_DEPRECATED_OPENCL_1_2_APIS
45 #include <CL/cl.h>
46 #endif
47 
48 #elif MIOPEN_BACKEND_HIP
49 #include <hip/hip_runtime_api.h>
50 #endif
51 
52 /*
53  * @defgroup convolutions
54  * @defgroup pooling
55  * @defgroup handle
56  * @defgroup layernorm
57  * @defgroup LRN
58  * @defgroup batchnorm
59  * @defgroup activation
60  * @defgroup tensor
61  * @defgroup softmax
62  * @defgroup RNN
63  * @defgroup fusion
64  * @defgroup LossFunction
65  * @defgroup TensorReduce
66  * @defgroup find2
67  * @defgroup ReduceExtreme
68  * @defgroup groupnorm
69  * @defgroup cat
70  * @defgroup SGD
71  * @defgroup getitem
72  * @defgroup ReduceCalculation
73  * @defgroup RotaryPositionalEmbeddings
74  * @defgroup ReLU
75  *
76  */
77 
79 #define MIOPEN_DECLARE_OBJECT(name) \
80  struct name \
81  { \
82  }; \
83  typedef struct name* name##_t;
84 
85 #ifdef __cplusplus
86 extern "C" {
87 #endif
88 
89 #if MIOPEN_BACKEND_OPENCL
90 typedef cl_command_queue miopenAcceleratorQueue_t;
91 #elif MIOPEN_BACKEND_HIP
92 typedef hipStream_t miopenAcceleratorQueue_t;
93 #endif
94 
98 MIOPEN_DECLARE_OBJECT(miopenHandle);
99 
108 typedef enum
109 {
122 
123 #ifdef MIOPEN_BETA_API
124 typedef enum
125 {
129 #endif
130 
138 MIOPEN_EXPORT const char* miopenGetErrorString(miopenStatus_t error);
139 
148 typedef void* (*miopenAllocatorFunction)(void* context, size_t sizeBytes);
149 
158 typedef void (*miopenDeallocatorFunction)(void* context, void* memory);
159 
173 MIOPEN_EXPORT miopenStatus_t miopenGetVersion(size_t* major, size_t* minor, size_t* patch);
174 
183 MIOPEN_EXPORT miopenStatus_t miopenCreate(miopenHandle_t* handle);
184 
196 MIOPEN_EXPORT miopenStatus_t miopenCreateWithStream(miopenHandle_t* handle,
197  miopenAcceleratorQueue_t stream);
198 
205 MIOPEN_EXPORT miopenStatus_t miopenDestroy(miopenHandle_t handle);
206 
214 MIOPEN_EXPORT miopenStatus_t miopenSetStream(miopenHandle_t handle,
215  miopenAcceleratorQueue_t streamID);
216 
224 MIOPEN_EXPORT miopenStatus_t miopenGetStream(miopenHandle_t handle,
225  miopenAcceleratorQueue_t* streamID);
226 
243 MIOPEN_EXPORT miopenStatus_t miopenSetAllocator(miopenHandle_t handle,
244  miopenAllocatorFunction allocator,
245  miopenDeallocatorFunction deallocator,
246  void* allocatorContext);
247 
259 MIOPEN_EXPORT miopenStatus_t miopenGetKernelTime(miopenHandle_t handle, float* time);
260 
268 MIOPEN_EXPORT miopenStatus_t miopenEnableProfiling(miopenHandle_t handle, bool enable);
270 // CLOSEOUT HANDLE DOXYGEN GROUP
271 
279 MIOPEN_DECLARE_OBJECT(miopenFusionOpDescriptor);
280 
288 MIOPEN_DECLARE_OBJECT(miopenTensorDescriptor);
289 
296 MIOPEN_DECLARE_OBJECT(miopenSeqTensorDescriptor);
297 
305 MIOPEN_DECLARE_OBJECT(miopenConvolutionDescriptor);
306 
314 MIOPEN_DECLARE_OBJECT(miopenPoolingDescriptor);
315 
323 MIOPEN_DECLARE_OBJECT(miopenLRNDescriptor);
324 
331 MIOPEN_DECLARE_OBJECT(miopenActivationDescriptor);
332 
336 MIOPEN_DECLARE_OBJECT(miopenRNNDescriptor);
337 
341 MIOPEN_DECLARE_OBJECT(miopenCTCLossDescriptor);
342 
346 MIOPEN_DECLARE_OBJECT(miopenDropoutDescriptor);
347 
351 MIOPEN_DECLARE_OBJECT(miopenReduceTensorDescriptor);
352 
356 MIOPEN_DECLARE_OBJECT(miopenMhaDescriptor);
357 
361 MIOPEN_DECLARE_OBJECT(miopenSoftmaxDescriptor);
362 
367 typedef enum
368 {
373  // miopenInt8x4 = 4, /*!< Pack of 4x Int8 in NCHW_VECT_C format (Support discontinued) */
374  miopenBFloat16 = 5,
377 #ifdef MIOPEN_BETA_API
380 #else
381 // miopenReserved1 = 7,
382 // miopenReserved2 = 8,
383 #endif
386 
392 typedef enum
393 {
404 
409 typedef enum
410 {
416 
421 typedef enum
422 {
428 
433 typedef enum
434 {
440 
445 typedef enum
446 {
451 
456 typedef enum
457 {
462 
469 typedef enum
470 {
474 
479 typedef enum
480 {
484 #ifdef MIOPEN_BETA_API
489 typedef enum
490 {
493  1,
495  2,
499  4,
503 #endif
508 typedef enum
509 {
513 
518 typedef enum
519 {
528  7,
530  8,
532  9,
535 
540 typedef enum
541 {
546 
551 typedef enum
552 {
555  1,
557 
565 #define MIOPEN_API_VERSION_REDUCE_TENSOR 1
566 
571 typedef enum
572 {
575  1,
577  2,
579  3,
581  4,
583  5,
585  6,
588  // MIOPEN_REDUCE_TENSOR_MUL_NO_ZEROS =
589  // 8, /*!< the operation is same as MUL, but does not have the zero values considered */
591 
596 typedef enum
597 {
601 
606 typedef enum
607 {
611 
616 typedef enum
617 {
623 
628 typedef enum
629 {
631  0,
635  1,
637 #ifdef MIOPEN_BETA_API
639  2,
643 #else
644 // miopenReserved1 = 2,
645 #endif
647 
654 typedef enum
655 {
657  1,
659  2,
663  3,
666  // miopenConvolutionFindModeReserved_4 = 4, /*!< Reserved - do not use */
668  5,
675 
687 MIOPEN_EXPORT miopenStatus_t miopenCreateTensorDescriptor(miopenTensorDescriptor_t* tensorDesc);
688 
702  miopenTensorDescriptor_t tensorDesc, miopenDataType_t dataType, int n, int c, int h, int w);
703 
714 MIOPEN_EXPORT miopenStatus_t
715 miopenSetNdTensorDescriptorWithLayout(miopenTensorDescriptor_t tensorDesc,
716  miopenDataType_t dataType,
717  miopenTensorLayout_t tensorLayout,
718  const int* lens,
719  int num_lens);
739 MIOPEN_EXPORT miopenStatus_t miopenSet4dTensorDescriptorEx(miopenTensorDescriptor_t tensorDesc,
740  miopenDataType_t dataType,
741  int n,
742  int c,
743  int h,
744  int w,
745  int nStride,
746  int cStride,
747  int hStride,
748  int wStride);
749 
766 MIOPEN_EXPORT miopenStatus_t miopenGet4dTensorDescriptor(miopenTensorDescriptor_t tensorDesc,
767  miopenDataType_t* dataType,
768  int* n,
769  int* c,
770  int* h,
771  int* w,
772  int* nStride,
773  int* cStride,
774  int* hStride,
775  int* wStride);
776 
787 MIOPEN_EXPORT miopenStatus_t miopenSetTensorDescriptor(miopenTensorDescriptor_t tensorDesc,
788  miopenDataType_t dataType,
789  int nbDims,
790  const int* dimsA,
791  const int* stridesA);
792 
793 #ifdef MIOPEN_BETA_API
796 MIOPEN_EXPORT miopenStatus_t miopenSetTensorDescriptorV2(miopenTensorDescriptor_t tensorDesc,
797  miopenDataType_t dataType,
798  int nbDims,
799  const size_t* dimsA,
800  const size_t* stridesA);
801 #endif
802 
803 #ifdef MIOPEN_BETA_API
813 MIOPEN_EXPORT miopenStatus_t miopenSetTensorCastType(miopenTensorDescriptor_t tensorDesc,
814  miopenDataType_t cast_type);
815 #endif
816 
825 MIOPEN_EXPORT miopenStatus_t miopenGetTensorDescriptorSize(miopenTensorDescriptor_t tensorDesc,
826  int* size);
827 
836 MIOPEN_EXPORT miopenStatus_t miopenGetTensorDescriptor(miopenTensorDescriptor_t tensorDesc,
837  miopenDataType_t* dataType,
838  int* dimsA,
839  int* stridesA);
840 
846 MIOPEN_EXPORT miopenStatus_t miopenDestroyTensorDescriptor(miopenTensorDescriptor_t tensorDesc);
847 
854 MIOPEN_EXPORT miopenStatus_t
855 miopenCreateSeqTensorDescriptor(miopenSeqTensorDescriptor_t* tensorDesc);
856 
862 MIOPEN_EXPORT miopenStatus_t
863 miopenDestroySeqTensorDescriptor(miopenSeqTensorDescriptor_t tensorDesc);
864 
884 MIOPEN_EXPORT miopenStatus_t miopenOpTensor(miopenHandle_t handle,
885  miopenTensorOp_t tensorOp,
886  const void* alpha1,
887  const miopenTensorDescriptor_t aDesc,
888  const void* A,
889  const void* alpha2,
890  const miopenTensorDescriptor_t bDesc,
891  const void* B,
892  const void* beta,
893  const miopenTensorDescriptor_t cDesc,
894  void* C);
895 
906 MIOPEN_EXPORT miopenStatus_t miopenSetTensor(miopenHandle_t handle,
907  const miopenTensorDescriptor_t yDesc,
908  void* y,
909  const void* alpha);
910 
921 MIOPEN_EXPORT miopenStatus_t miopenScaleTensor(miopenHandle_t handle,
922  const miopenTensorDescriptor_t yDesc,
923  void* y,
924  const void* alpha);
925 
932 MIOPEN_EXPORT miopenStatus_t miopenGetTensorNumBytes(miopenTensorDescriptor_t tensorDesc,
933  size_t* numBytes);
934 
952 MIOPEN_EXPORT miopenStatus_t miopenTransformTensor(miopenHandle_t handle,
953  const void* alpha,
954  const miopenTensorDescriptor_t xDesc,
955  const void* x,
956  const void* beta,
957  const miopenTensorDescriptor_t yDesc,
958  void* y);
959 
961 // CLOSEOUT TENSOR DOXYGEN GROUP
962 
973 MIOPEN_EXPORT miopenStatus_t
974 miopenCreateConvolutionDescriptor(miopenConvolutionDescriptor_t* convDesc);
975 
991 MIOPEN_EXPORT miopenStatus_t miopenInitConvolutionDescriptor(miopenConvolutionDescriptor_t convDesc,
993  int pad_h,
994  int pad_w,
995  int stride_h,
996  int stride_w,
997  int dilation_h,
998  int dilation_w);
999 
1010 MIOPEN_EXPORT miopenStatus_t
1011 miopenInitConvolutionNdDescriptor(miopenConvolutionDescriptor_t convDesc,
1012  int spatialDim,
1013  const int* padA,
1014  const int* strideA,
1015  const int* dilationA,
1016  miopenConvolutionMode_t c_mode);
1017 
1024 MIOPEN_EXPORT miopenStatus_t miopenGetConvolutionSpatialDim(miopenConvolutionDescriptor_t convDesc,
1025  int* spatialDim);
1026 
1042 MIOPEN_EXPORT miopenStatus_t miopenGetConvolutionDescriptor(miopenConvolutionDescriptor_t convDesc,
1043  miopenConvolutionMode_t* c_mode,
1044  int* pad_h,
1045  int* pad_w,
1046  int* stride_h,
1047  int* stride_w,
1048  int* dilation_h,
1049  int* dilation_w);
1050 
1062 MIOPEN_EXPORT miopenStatus_t
1063 miopenGetConvolutionNdDescriptor(miopenConvolutionDescriptor_t convDesc,
1064  int requestedSpatialDim,
1065  int* spatialDim,
1066  int* padA,
1067  int* strideA,
1068  int* dilationA,
1069  miopenConvolutionMode_t* c_mode);
1070 
1077 MIOPEN_EXPORT miopenStatus_t miopenGetConvolutionGroupCount(miopenConvolutionDescriptor_t convDesc,
1078  int* groupCount);
1079 
1093 MIOPEN_EXPORT miopenStatus_t miopenSetConvolutionGroupCount(miopenConvolutionDescriptor_t convDesc,
1094  int groupCount);
1095 
1108 MIOPEN_EXPORT miopenStatus_t
1109 miopenSetTransposeConvOutputPadding(miopenConvolutionDescriptor_t convDesc, int adj_h, int adj_w);
1110 
1124  miopenConvolutionDescriptor_t convDesc, int spatialDim, const int* adjA);
1125 
1143 MIOPEN_EXPORT miopenStatus_t
1144 miopenGetConvolutionForwardOutputDim(miopenConvolutionDescriptor_t convDesc,
1145  const miopenTensorDescriptor_t inputTensorDesc,
1146  const miopenTensorDescriptor_t filterDesc,
1147  int* n,
1148  int* c,
1149  int* h,
1150  int* w);
1151 
1165 MIOPEN_EXPORT miopenStatus_t
1166 miopenGetConvolutionNdForwardOutputDim(miopenConvolutionDescriptor_t convDesc,
1167  const miopenTensorDescriptor_t inputTensorDesc,
1168  const miopenTensorDescriptor_t filterDesc,
1169  int* nDim,
1170  int* outputTensorDimA);
1171 
1177 MIOPEN_EXPORT miopenStatus_t
1178 miopenDestroyConvolutionDescriptor(miopenConvolutionDescriptor_t convDesc);
1179 
1186 MIOPEN_EXPORT miopenStatus_t miopenSetConvolutionAttribute(miopenConvolutionDescriptor_t convDesc,
1187  const miopenConvolutionAttrib_t attr,
1188  int value);
1189 
1196 MIOPEN_EXPORT miopenStatus_t miopenGetConvolutionAttribute(miopenConvolutionDescriptor_t convDesc,
1197  const miopenConvolutionAttrib_t attr,
1198  int* value);
1199 
1213 MIOPEN_EXPORT miopenStatus_t miopenSetConvolutionFindMode(miopenConvolutionDescriptor_t convDesc,
1214  miopenConvolutionFindMode_t findMode);
1215 
1223  const miopenConvolutionDescriptor_t convDesc, miopenConvolutionFindMode_t* findMode);
1224 
1229 typedef enum
1230 {
1237 
1241 typedef enum
1242 {
1248 
1252 typedef enum
1253 {
1259  4,
1262 
1266 typedef enum
1267 {
1274 
1281 typedef struct
1282 {
1283  union
1284  {
1290  };
1291 
1292  float time;
1293  size_t memory;
1296 
1305 typedef struct
1306 {
1307  float time;
1312  uint64_t solution_id;
1316 
1332 MIOPEN_EXPORT miopenStatus_t
1334  const miopenTensorDescriptor_t wDesc,
1335  const miopenTensorDescriptor_t xDesc,
1336  const miopenConvolutionDescriptor_t convDesc,
1337  const miopenTensorDescriptor_t yDesc,
1338  size_t* solutionCount);
1339 
1363 MIOPEN_EXPORT miopenStatus_t
1365  const miopenTensorDescriptor_t wDesc,
1366  const miopenTensorDescriptor_t xDesc,
1367  const miopenConvolutionDescriptor_t convDesc,
1368  const miopenTensorDescriptor_t yDesc,
1369  const size_t maxSolutionCount,
1370  size_t* solutionCount,
1371  miopenConvSolution_t* solutions);
1372 
1390 MIOPEN_EXPORT miopenStatus_t
1392  const miopenTensorDescriptor_t wDesc,
1393  const miopenTensorDescriptor_t xDesc,
1394  const miopenConvolutionDescriptor_t convDesc,
1395  const miopenTensorDescriptor_t yDesc,
1396  const uint64_t solution_id,
1397  size_t* workSpaceSize);
1398 
1416 MIOPEN_EXPORT miopenStatus_t
1418  const miopenTensorDescriptor_t wDesc,
1419  const miopenTensorDescriptor_t xDesc,
1420  const miopenConvolutionDescriptor_t convDesc,
1421  const miopenTensorDescriptor_t yDesc,
1422  const uint64_t solution_id);
1423 
1441 MIOPEN_EXPORT miopenStatus_t
1443  const miopenTensorDescriptor_t wDesc,
1444  const void* w,
1445  const miopenTensorDescriptor_t xDesc,
1446  const void* x,
1447  const miopenConvolutionDescriptor_t convDesc,
1448  const miopenTensorDescriptor_t yDesc,
1449  void* y,
1450  void* workSpace,
1451  size_t workSpaceSize,
1452  const uint64_t solution_id);
1453 
1471 MIOPEN_EXPORT miopenStatus_t
1473  const miopenTensorDescriptor_t dyDesc,
1474  const miopenTensorDescriptor_t wDesc,
1475  const miopenConvolutionDescriptor_t convDesc,
1476  const miopenTensorDescriptor_t dxDesc,
1477  size_t* solutionCount);
1478 
1503 MIOPEN_EXPORT miopenStatus_t
1505  const miopenTensorDescriptor_t dyDesc,
1506  const miopenTensorDescriptor_t wDesc,
1507  const miopenConvolutionDescriptor_t convDesc,
1508  const miopenTensorDescriptor_t dxDesc,
1509  const size_t maxSolutionCount,
1510  size_t* solutionCount,
1511  miopenConvSolution_t* solutions);
1512 
1530 MIOPEN_EXPORT miopenStatus_t
1532  const miopenTensorDescriptor_t dyDesc,
1533  const miopenTensorDescriptor_t wDesc,
1534  const miopenConvolutionDescriptor_t convDesc,
1535  const miopenTensorDescriptor_t dxDesc,
1536  const uint64_t solution_id,
1537  size_t* workSpaceSize);
1538 
1557 MIOPEN_EXPORT miopenStatus_t
1559  const miopenTensorDescriptor_t dyDesc,
1560  const miopenTensorDescriptor_t wDesc,
1561  const miopenConvolutionDescriptor_t convDesc,
1562  const miopenTensorDescriptor_t dxDesc,
1563  const uint64_t solution_id);
1564 
1582 MIOPEN_EXPORT miopenStatus_t
1584  const miopenTensorDescriptor_t dyDesc,
1585  const void* dy,
1586  const miopenTensorDescriptor_t wDesc,
1587  const void* w,
1588  const miopenConvolutionDescriptor_t convDesc,
1589  const miopenTensorDescriptor_t dxDesc,
1590  void* dx,
1591  void* workSpace,
1592  size_t workSpaceSize,
1593  const uint64_t solution_id);
1594 
1612 MIOPEN_EXPORT miopenStatus_t
1614  const miopenTensorDescriptor_t dyDesc,
1615  const miopenTensorDescriptor_t xDesc,
1616  const miopenConvolutionDescriptor_t convDesc,
1617  const miopenTensorDescriptor_t dwDesc,
1618  size_t* solutionCount);
1619 
1643 MIOPEN_EXPORT miopenStatus_t
1645  const miopenTensorDescriptor_t dyDesc,
1646  const miopenTensorDescriptor_t xDesc,
1647  const miopenConvolutionDescriptor_t convDesc,
1648  const miopenTensorDescriptor_t dwDesc,
1649  const size_t maxSolutionCount,
1650  size_t* solutionCount,
1651  miopenConvSolution_t* solutions);
1652 
1671  miopenHandle_t handle,
1672  const miopenTensorDescriptor_t dyDesc,
1673  const miopenTensorDescriptor_t xDesc,
1674  const miopenConvolutionDescriptor_t convDesc,
1675  const miopenTensorDescriptor_t dwDesc,
1676  const uint64_t solution_id,
1677  size_t* workSpaceSize);
1678 
1696 MIOPEN_EXPORT miopenStatus_t
1698  const miopenTensorDescriptor_t dyDesc,
1699  const miopenTensorDescriptor_t xDesc,
1700  const miopenConvolutionDescriptor_t convDesc,
1701  const miopenTensorDescriptor_t dwDesc,
1702  const uint64_t solution_id);
1703 
1722 MIOPEN_EXPORT miopenStatus_t
1724  const miopenTensorDescriptor_t dyDesc,
1725  const void* dy,
1726  const miopenTensorDescriptor_t xDesc,
1727  const void* x,
1728  const miopenConvolutionDescriptor_t convDesc,
1729  const miopenTensorDescriptor_t dwDesc,
1730  void* dw,
1731  void* workSpace,
1732  size_t workSpaceSize,
1733  const uint64_t solution_id);
1734 
1761 MIOPEN_EXPORT miopenStatus_t
1763  const miopenTensorDescriptor_t wDesc,
1764  const miopenTensorDescriptor_t xDesc,
1765  const miopenConvolutionDescriptor_t convDesc,
1766  const miopenTensorDescriptor_t yDesc,
1767  size_t* workSpaceSize);
1768 
1812 MIOPEN_EXPORT miopenStatus_t
1814  const miopenTensorDescriptor_t xDesc,
1815  const void* x,
1816  const miopenTensorDescriptor_t wDesc,
1817  const void* w,
1818  const miopenConvolutionDescriptor_t convDesc,
1819  const miopenTensorDescriptor_t yDesc,
1820  void* y,
1821  const int requestAlgoCount,
1822  int* returnedAlgoCount,
1823  miopenConvAlgoPerf_t* perfResults,
1824  void* workSpace,
1825  size_t workSpaceSize,
1826  bool exhaustiveSearch);
1827 
1862 MIOPEN_EXPORT miopenStatus_t miopenConvolutionForward(miopenHandle_t handle,
1863  const void* alpha,
1864  const miopenTensorDescriptor_t xDesc,
1865  const void* x,
1866  const miopenTensorDescriptor_t wDesc,
1867  const void* w,
1868  const miopenConvolutionDescriptor_t convDesc,
1870  const void* beta,
1871  const miopenTensorDescriptor_t yDesc,
1872  void* y,
1873  void* workSpace,
1874  size_t workSpaceSize);
1875 
1891 MIOPEN_EXPORT miopenStatus_t miopenConvolutionForwardBias(miopenHandle_t handle,
1892  const void* alpha,
1893  const miopenTensorDescriptor_t bDesc,
1894  const void* b,
1895  const void* beta,
1896  const miopenTensorDescriptor_t yDesc,
1897  void* y);
1898 
1926 MIOPEN_EXPORT miopenStatus_t
1928  const miopenTensorDescriptor_t dyDesc,
1929  const miopenTensorDescriptor_t wDesc,
1930  const miopenConvolutionDescriptor_t convDesc,
1931  const miopenTensorDescriptor_t dxDesc,
1932  size_t* workSpaceSize);
1933 
1977 MIOPEN_EXPORT miopenStatus_t
1979  const miopenTensorDescriptor_t dyDesc,
1980  const void* dy,
1981  const miopenTensorDescriptor_t wDesc,
1982  const void* w,
1983  const miopenConvolutionDescriptor_t convDesc,
1984  const miopenTensorDescriptor_t dxDesc,
1985  void* dx,
1986  const int requestAlgoCount,
1987  int* returnedAlgoCount,
1988  miopenConvAlgoPerf_t* perfResults,
1989  void* workSpace,
1990  size_t workSpaceSize,
1991  bool exhaustiveSearch);
1992 
2026 MIOPEN_EXPORT miopenStatus_t
2027 miopenConvolutionBackwardData(miopenHandle_t handle,
2028  const void* alpha,
2029  const miopenTensorDescriptor_t dyDesc,
2030  const void* dy,
2031  const miopenTensorDescriptor_t wDesc,
2032  const void* w,
2033  const miopenConvolutionDescriptor_t convDesc,
2035  const void* beta,
2036  const miopenTensorDescriptor_t dxDesc,
2037  void* dx,
2038  void* workSpace,
2039  size_t workSpaceSize);
2040 
2068 MIOPEN_EXPORT miopenStatus_t
2070  const miopenTensorDescriptor_t dyDesc,
2071  const miopenTensorDescriptor_t xDesc,
2072  const miopenConvolutionDescriptor_t convDesc,
2073  const miopenTensorDescriptor_t dwDesc,
2074  size_t* workSpaceSize);
2075 
2119 MIOPEN_EXPORT miopenStatus_t
2121  const miopenTensorDescriptor_t dyDesc,
2122  const void* dy,
2123  const miopenTensorDescriptor_t xDesc,
2124  const void* x,
2125  const miopenConvolutionDescriptor_t convDesc,
2126  const miopenTensorDescriptor_t dwDesc,
2127  void* dw,
2128  const int requestAlgoCount,
2129  int* returnedAlgoCount,
2130  miopenConvAlgoPerf_t* perfResults,
2131  void* workSpace,
2132  size_t workSpaceSize,
2133  bool exhaustiveSearch);
2134 
2168 MIOPEN_EXPORT miopenStatus_t
2169 miopenConvolutionBackwardWeights(miopenHandle_t handle,
2170  const void* alpha,
2171  const miopenTensorDescriptor_t dyDesc,
2172  const void* dy,
2173  const miopenTensorDescriptor_t xDesc,
2174  const void* x,
2175  const miopenConvolutionDescriptor_t convDesc,
2177  const void* beta,
2178  const miopenTensorDescriptor_t dwDesc,
2179  void* dw,
2180  void* workSpace,
2181  size_t workSpaceSize);
2182 
2198 MIOPEN_EXPORT miopenStatus_t miopenConvolutionBackwardBias(miopenHandle_t handle,
2199  const void* alpha,
2200  const miopenTensorDescriptor_t dyDesc,
2201  const void* dy,
2202  const void* beta,
2203  const miopenTensorDescriptor_t dbDesc,
2204  void* db);
2205 
2207 // CLOSEOUT CONVOLUTIONS DOXYGEN GROUP
2208 
2209 // Pooling APIs
2220 MIOPEN_EXPORT miopenStatus_t miopenCreatePoolingDescriptor(miopenPoolingDescriptor_t* poolDesc);
2221 
2230 MIOPEN_EXPORT miopenStatus_t miopenSetPoolingIndexType(miopenPoolingDescriptor_t poolDesc,
2231  miopenIndexType_t index_type);
2232 
2240 MIOPEN_EXPORT miopenStatus_t miopenGetPoolingIndexType(miopenPoolingDescriptor_t poolDesc,
2241  miopenIndexType_t* index_type);
2242 
2251  miopenPoolingDescriptor_t poolDesc, miopenPoolingWorkspaceIndexMode_t workspace_index);
2252 
2260  miopenPoolingDescriptor_t poolDesc, miopenPoolingWorkspaceIndexMode_t* workspace_index);
2261 
2276 MIOPEN_EXPORT miopenStatus_t miopenSet2dPoolingDescriptor(miopenPoolingDescriptor_t poolDesc,
2277  miopenPoolingMode_t mode,
2278  int windowHeight,
2279  int windowWidth,
2280  int pad_h,
2281  int pad_w,
2282  int stride_h,
2283  int stride_w);
2284 
2299 MIOPEN_EXPORT miopenStatus_t miopenGet2dPoolingDescriptor(const miopenPoolingDescriptor_t poolDesc,
2300  miopenPoolingMode_t* mode,
2301  int* windowHeight,
2302  int* windowWidth,
2303  int* pad_h,
2304  int* pad_w,
2305  int* stride_h,
2306  int* stride_w);
2307 
2322 MIOPEN_EXPORT miopenStatus_t
2323 miopenGetPoolingForwardOutputDim(const miopenPoolingDescriptor_t poolDesc,
2324  const miopenTensorDescriptor_t tensorDesc,
2325  int* n,
2326  int* c,
2327  int* h,
2328  int* w);
2329 
2345 MIOPEN_EXPORT miopenStatus_t miopenSetNdPoolingDescriptor(miopenPoolingDescriptor_t poolDesc,
2346  const miopenPoolingMode_t mode,
2347  int nbDims,
2348  const int* windowDimA,
2349  const int* padA,
2350  const int* stridesA);
2351 
2368 MIOPEN_EXPORT miopenStatus_t miopenGetNdPoolingDescriptor(const miopenPoolingDescriptor_t poolDesc,
2369  int nbDimsRequested,
2370  miopenPoolingMode_t* mode,
2371  int* nbDims,
2372  int* windowDimA,
2373  int* padA,
2374  int* stridesA);
2375 
2388 MIOPEN_EXPORT miopenStatus_t
2389 miopenGetPoolingNdForwardOutputDim(const miopenPoolingDescriptor_t poolDesc,
2390  const miopenTensorDescriptor_t tensorDesc,
2391  int dims,
2392  int* tensorDimArr);
2393 
2406 MIOPEN_EXPORT miopenStatus_t miopenPoolingGetWorkSpaceSize(const miopenTensorDescriptor_t yDesc,
2407  size_t* workSpaceSize);
2408 
2421 MIOPEN_EXPORT miopenStatus_t
2422 miopenPoolingGetWorkSpaceSizeV2(const miopenPoolingDescriptor_t poolDesc,
2423  const miopenTensorDescriptor_t yDesc,
2424  size_t* workSpaceSize);
2425 
2446 MIOPEN_EXPORT miopenStatus_t miopenPoolingForward(miopenHandle_t handle,
2447  const miopenPoolingDescriptor_t poolDesc,
2448  const void* alpha,
2449  const miopenTensorDescriptor_t xDesc,
2450  const void* x,
2451  const void* beta,
2452  const miopenTensorDescriptor_t yDesc,
2453  void* y,
2454  bool do_backward,
2455  void* workSpace,
2456  size_t workSpaceSize);
2457 
2478 MIOPEN_EXPORT miopenStatus_t miopenPoolingBackward(miopenHandle_t handle,
2479  const miopenPoolingDescriptor_t poolDesc,
2480  const void* alpha,
2481  const miopenTensorDescriptor_t yDesc,
2482  const void* y,
2483  const miopenTensorDescriptor_t dyDesc,
2484  const void* dy,
2485  const miopenTensorDescriptor_t xDesc,
2486  const void* x,
2487  const void* beta,
2488  const miopenTensorDescriptor_t dxDesc,
2489  void* dx,
2490  void* workSpace);
2491 
2497 MIOPEN_EXPORT miopenStatus_t miopenDestroyPoolingDescriptor(miopenPoolingDescriptor_t poolDesc);
2498 
2500 // CLOSEOUT POOLING DOXYGEN GROUP
2501 
2502 // LRN APIs
2512 MIOPEN_EXPORT miopenStatus_t miopenCreateLRNDescriptor(miopenLRNDescriptor_t* lrnDesc);
2513 
2527 MIOPEN_EXPORT miopenStatus_t miopenSetLRNDescriptor(const miopenLRNDescriptor_t lrnDesc,
2528  miopenLRNMode_t mode,
2529  unsigned int lrnN,
2530  double lrnAlpha,
2531  double lrnBeta,
2532  double lrnK);
2533 
2546 MIOPEN_EXPORT miopenStatus_t miopenGetLRNDescriptor(const miopenLRNDescriptor_t lrnDesc,
2547  miopenLRNMode_t* mode,
2548  unsigned int* lrnN,
2549  double* lrnAlpha,
2550  double* lrnBeta,
2551  double* lrnK);
2552 
2562 MIOPEN_EXPORT miopenStatus_t miopenLRNGetWorkSpaceSize(const miopenTensorDescriptor_t yDesc,
2563  size_t* workSpaceSize);
2564 
2583 MIOPEN_EXPORT miopenStatus_t miopenLRNForward(miopenHandle_t handle,
2584  const miopenLRNDescriptor_t lrnDesc,
2585  const void* alpha,
2586  const miopenTensorDescriptor_t xDesc,
2587  const void* x,
2588  const void* beta,
2589  const miopenTensorDescriptor_t yDesc,
2590  void* y,
2591  bool do_backward,
2592  void* workSpace);
2593 
2611 MIOPEN_EXPORT miopenStatus_t miopenLRNBackward(miopenHandle_t handle,
2612  const miopenLRNDescriptor_t lrnDesc,
2613  const void* alpha,
2614  const miopenTensorDescriptor_t yDesc,
2615  const void* y,
2616  const miopenTensorDescriptor_t dyDesc,
2617  const void* dy,
2618  const miopenTensorDescriptor_t xDesc,
2619  const void* x,
2620  const void* beta,
2621  const miopenTensorDescriptor_t dxDesc,
2622  void* dx,
2623  const void* workSpace);
2624 
2630 MIOPEN_EXPORT miopenStatus_t miopenDestroyLRNDescriptor(miopenLRNDescriptor_t lrnDesc);
2631 
2633 // CLOSEOUT LRN DOXYGEN GROUP
2634 
2635 #ifdef MIOPEN_BETA_API
2636 // LayerNorm APIs
2661 MIOPEN_EXPORT miopenStatus_t miopenLayerNormForward(miopenHandle_t handle,
2662  miopenNormMode_t mode,
2663  const miopenTensorDescriptor_t xDesc,
2664  const void* x,
2665  const miopenTensorDescriptor_t weightDesc,
2666  const void* weight,
2667  const miopenTensorDescriptor_t biasDesc,
2668  const void* bias,
2669  const float epsilon,
2670  const int32_t normalized_dim,
2671  const miopenTensorDescriptor_t yDesc,
2672  void* y,
2673  const miopenTensorDescriptor_t meanDesc,
2674  void* mean,
2675  const miopenTensorDescriptor_t rstdDesc,
2676  void* rstd);
2677 
2679 // CLOSEOUT LAYERNORM DOXYGEN GROUP
2680 #endif
2681 
2682 #ifdef MIOPEN_BETA_API
2683 // Cat APIs
2699 MIOPEN_EXPORT miopenStatus_t miopenCatForward(miopenHandle_t handle,
2700  const int32_t xCount,
2701  const miopenTensorDescriptor_t* xDescs,
2702  const void* const* xs,
2703  const miopenTensorDescriptor_t yDesc,
2704  void* y,
2705  const int32_t dim);
2706 
2708 // CLOSEOUT CAT DOXYGEN GROUP
2709 #endif
2710 
2711 // Batch-Normalization APIs
2733 MIOPEN_EXPORT miopenStatus_t miopenDeriveBNTensorDescriptor(miopenTensorDescriptor_t derivedBnDesc,
2734  const miopenTensorDescriptor_t xDesc,
2735  miopenBatchNormMode_t bn_mode);
2736 
2775 MIOPEN_EXPORT miopenStatus_t
2777  miopenBatchNormMode_t bn_mode,
2778  void* alpha,
2779  void* beta,
2780  const miopenTensorDescriptor_t xDesc,
2781  const void* x,
2782  const miopenTensorDescriptor_t yDesc,
2783  void* y,
2784  const miopenTensorDescriptor_t bnScaleBiasMeanVarDesc,
2785  void* bnScale,
2786  void* bnBias,
2787  double expAvgFactor,
2788  void* resultRunningMean,
2789  void* resultRunningVariance,
2790  double epsilon,
2791  void* resultSaveMean,
2792  void* resultSaveInvVariance);
2833 MIOPEN_EXPORT miopenStatus_t
2835  miopenBatchNormMode_t bn_mode,
2836  void* alpha,
2837  void* beta,
2838  const miopenTensorDescriptor_t xDesc,
2839  const void* x,
2840  const miopenTensorDescriptor_t yDesc,
2841  void* y,
2842  const miopenTensorDescriptor_t scaleDesc,
2843  const miopenTensorDescriptor_t biasVarDesc,
2844  const miopenTensorDescriptor_t savedMeanDesc,
2845  const miopenTensorDescriptor_t savedVarDesc,
2846  void* bnScale,
2847  void* bnBias,
2848  double expAvgFactor,
2849  void* resultRunningMean,
2850  void* resultRunningVariance,
2851  double epsilon,
2852  void* resultSaveMean,
2853  void* resultSaveInvVariance);
2854 
2884 MIOPEN_EXPORT miopenStatus_t
2886  miopenBatchNormMode_t bn_mode,
2887  void* alpha,
2888  void* beta,
2889  const miopenTensorDescriptor_t xDesc,
2890  const void* x,
2891  const miopenTensorDescriptor_t yDesc,
2892  void* y,
2893  const miopenTensorDescriptor_t bnScaleBiasMeanVarDesc,
2894  void* bnScale,
2895  void* bnBias,
2896  void* estimatedMean,
2897  void* estimatedVariance,
2898  double epsilon);
2899 
2931 MIOPEN_EXPORT miopenStatus_t
2933  miopenBatchNormMode_t bn_mode,
2934  void* alpha,
2935  void* beta,
2936  const miopenTensorDescriptor_t xDesc,
2937  const void* x,
2938  const miopenTensorDescriptor_t yDesc,
2939  void* y,
2940  const miopenTensorDescriptor_t scaleDesc,
2941  const miopenTensorDescriptor_t biasDesc,
2942  const miopenTensorDescriptor_t estMeanDesc,
2943  const miopenTensorDescriptor_t estVarianceDesc,
2944  void* bnScale,
2945  void* bnBias,
2946  void* estimatedMean,
2947  void* estimatedVariance,
2948  double epsilon);
2949 
2984 MIOPEN_EXPORT miopenStatus_t
2985 miopenBatchNormalizationBackward(miopenHandle_t handle,
2986  miopenBatchNormMode_t bn_mode,
2987  const void* alphaDataDiff,
2988  const void* betaDataDiff,
2989  const void* alphaParamDiff,
2990  const void* betaParamDiff,
2991  const miopenTensorDescriptor_t xDesc,
2992  const void* x,
2993  const miopenTensorDescriptor_t dyDesc,
2994  const void* dy,
2995  const miopenTensorDescriptor_t dxDesc,
2996  void* dx,
2997  const miopenTensorDescriptor_t bnScaleBiasDiffDesc,
2998  const void* bnScale,
2999  void* resultBnScaleDiff,
3000  void* resultBnBiasDiff,
3001  double epsilon,
3002  const void* savedMean,
3003  const void* savedInvVariance);
3004 
3043 MIOPEN_EXPORT miopenStatus_t
3045  miopenBatchNormMode_t bn_mode,
3046  const void* alphaDataDiff,
3047  const void* betaDataDiff,
3048  const void* alphaParamDiff,
3049  const void* betaParamDiff,
3050  const miopenTensorDescriptor_t xDesc,
3051  const void* x,
3052  const miopenTensorDescriptor_t dyDesc,
3053  const void* dy,
3054  const miopenTensorDescriptor_t dxDesc,
3055  void* dx,
3056  const miopenTensorDescriptor_t scaleDesc,
3057  const miopenTensorDescriptor_t biasDesc,
3058  const miopenTensorDescriptor_t savedMeanDesc,
3059  const miopenTensorDescriptor_t savedVarDesc,
3060  const void* bnScale,
3061  void* resultBnScaleDiff,
3062  void* resultBnBiasDiff,
3063  double epsilon,
3064  const void* savedMean,
3065  const void* savedInvVariance);
3066 
3068 // CLOSEOUT BATCHNORM DOXYGEN GROUP
3069 
3070 // Activation APIs
3080 MIOPEN_EXPORT miopenStatus_t
3081 miopenCreateActivationDescriptor(miopenActivationDescriptor_t* activDesc);
3082 
3094 MIOPEN_EXPORT miopenStatus_t
3095 miopenSetActivationDescriptor(const miopenActivationDescriptor_t activDesc,
3097  double activAlpha,
3098  double activBeta,
3099  double activGamma);
3100 
3112 MIOPEN_EXPORT miopenStatus_t
3113 miopenGetActivationDescriptor(const miopenActivationDescriptor_t activDesc,
3114  miopenActivationMode_t* mode,
3115  double* activAlpha,
3116  double* activBeta,
3117  double* activGamma);
3118 
3131 MIOPEN_EXPORT miopenStatus_t miopenActivationForward(miopenHandle_t handle,
3132  const miopenActivationDescriptor_t activDesc,
3133  const void* alpha,
3134  const miopenTensorDescriptor_t xDesc,
3135  const void* x,
3136  const void* beta,
3137  const miopenTensorDescriptor_t yDesc,
3138  void* y);
3139 
3156 MIOPEN_EXPORT miopenStatus_t miopenActivationBackward(miopenHandle_t handle,
3157  const miopenActivationDescriptor_t activDesc,
3158  const void* alpha,
3159  const miopenTensorDescriptor_t yDesc,
3160  const void* y,
3161  const miopenTensorDescriptor_t dyDesc,
3162  const void* dy,
3163  const miopenTensorDescriptor_t xDesc,
3164  const void* x,
3165  const void* beta,
3166  const miopenTensorDescriptor_t dxDesc,
3167  void* dx);
3168 
3174 MIOPEN_EXPORT miopenStatus_t
3175 miopenDestroyActivationDescriptor(miopenActivationDescriptor_t activDesc);
3176 
3178 // CLOSEOUT ACTIVATION DOXYGEN GROUP
3179 
3180 #ifdef MIOPEN_BETA_API
3196 MIOPEN_EXPORT miopenStatus_t miopenGLUForward(miopenHandle_t handle,
3197  const miopenTensorDescriptor_t inputDesc,
3198  const void* input,
3199  const miopenTensorDescriptor_t outputDesc,
3200  void* output,
3201  const uint32_t dim);
3202 
3215 MIOPEN_EXPORT miopenStatus_t miopenGLUBackward(miopenHandle_t handle,
3216  const miopenTensorDescriptor_t inputDesc,
3217  const void* input,
3218  const miopenTensorDescriptor_t outputGradDesc,
3219  const void* outputGrad,
3220  const miopenTensorDescriptor_t inputGradDesc,
3221  void* inputGrad,
3222  const uint32_t dim);
3223 
3225 // CLOSEOUT ACTIVATION DOXYGEN GROUP
3226 #endif // MIOPEN_BETA_API
3227 
3228 // Softmax APIs
3246 MIOPEN_EXPORT miopenStatus_t miopenSoftmaxForward(miopenHandle_t handle,
3247  const void* alpha,
3248  const miopenTensorDescriptor_t xDesc,
3249  const void* x,
3250  const void* beta,
3251  const miopenTensorDescriptor_t yDesc,
3252  void* y);
3253 
3269 MIOPEN_EXPORT miopenStatus_t miopenSoftmaxBackward(miopenHandle_t handle,
3270  const void* alpha,
3271  const miopenTensorDescriptor_t yDesc,
3272  const void* y,
3273  const miopenTensorDescriptor_t dyDesc,
3274  const void* dy,
3275  const void* beta,
3276  const miopenTensorDescriptor_t dxDesc,
3277  void* dx);
3278 
3292 MIOPEN_EXPORT miopenStatus_t miopenSoftmaxForward_V2(miopenHandle_t handle,
3293  const void* alpha,
3294  const miopenTensorDescriptor_t xDesc,
3295  const void* x,
3296  const void* beta,
3297  const miopenTensorDescriptor_t yDesc,
3298  void* y,
3299  miopenSoftmaxAlgorithm_t algorithm,
3300  miopenSoftmaxMode_t mode);
3301 
3317 MIOPEN_EXPORT miopenStatus_t miopenSoftmaxBackward_V2(miopenHandle_t handle,
3318  const void* alpha,
3319  const miopenTensorDescriptor_t yDesc,
3320  const void* y,
3321  const miopenTensorDescriptor_t dyDesc,
3322  const void* dy,
3323  const void* beta,
3324  const miopenTensorDescriptor_t dxDesc,
3325  void* dx,
3326  miopenSoftmaxAlgorithm_t algorithm,
3327  miopenSoftmaxMode_t mode);
3328 
3330 // CLOSEOUT SOFTMAX DOXYGEN GROUP
3331 
3335 MIOPEN_DECLARE_OBJECT(miopenFusionPlanDescriptor);
3336 MIOPEN_DECLARE_OBJECT(miopenOperatorDescriptor);
3337 MIOPEN_DECLARE_OBJECT(miopenOperatorArgs);
3338 
3347 typedef enum
3348 {
3352 
3360 MIOPEN_EXPORT miopenStatus_t miopenCreateFusionPlan(miopenFusionPlanDescriptor_t* fusePlanDesc,
3361  const miopenFusionDirection_t fuseDirection,
3362  const miopenTensorDescriptor_t inputDesc);
3363 
3369 MIOPEN_EXPORT miopenStatus_t miopenDestroyFusionPlan(miopenFusionPlanDescriptor_t fusePlanDesc);
3370 
3377 MIOPEN_EXPORT miopenStatus_t miopenCompileFusionPlan(miopenHandle_t handle,
3378  miopenFusionPlanDescriptor_t fusePlanDesc);
3379 
3390 MIOPEN_EXPORT miopenStatus_t miopenFusionPlanGetOp(miopenFusionPlanDescriptor_t fusePlanDesc,
3391  const int op_idx,
3392  miopenFusionOpDescriptor_t* op);
3393 
3401 MIOPEN_EXPORT miopenStatus_t
3402 miopenFusionPlanGetWorkSpaceSize(miopenHandle_t handle,
3403  miopenFusionPlanDescriptor_t fusePlanDesc,
3404  size_t* workSpaceSize,
3406 
3424 MIOPEN_EXPORT miopenStatus_t
3425 miopenFusionPlanConvolutionGetAlgo(miopenFusionPlanDescriptor_t fusePlanDesc,
3426  const int requestAlgoCount,
3427  int* returnedAlgoCount,
3428  miopenConvFwdAlgorithm_t* returnedAlgos);
3429 
3440  miopenFusionPlanDescriptor_t fusePlanDesc, miopenConvFwdAlgorithm_t algo);
3441 
3450 MIOPEN_EXPORT miopenStatus_t miopenCreateOpConvForward(miopenFusionPlanDescriptor_t fusePlanDesc,
3451  miopenFusionOpDescriptor_t* convOp,
3452  miopenConvolutionDescriptor_t convDesc,
3453  const miopenTensorDescriptor_t wDesc);
3454 
3455 //---
3456 
3457 // Activation forward create ops ---
3465 MIOPEN_EXPORT miopenStatus_t
3466 miopenCreateOpActivationForward(miopenFusionPlanDescriptor_t fusePlanDesc,
3467  miopenFusionOpDescriptor_t* activFwdOp,
3468  miopenActivationMode_t mode);
3469 
3470 // Activation backward create ops ---
3478 MIOPEN_EXPORT miopenStatus_t
3479 miopenCreateOpActivationBackward(miopenFusionPlanDescriptor_t fusePlanDesc,
3480  miopenFusionOpDescriptor_t* activBwdOp,
3481  miopenActivationMode_t mode);
3482 
3483 // Bias create ops ---
3491 MIOPEN_EXPORT miopenStatus_t miopenCreateOpBiasForward(miopenFusionPlanDescriptor_t fusePlanDesc,
3492  miopenFusionOpDescriptor_t* biasOp,
3493  const miopenTensorDescriptor_t bDesc);
3494 
3495 // Batch normalization create ops ---
3504 MIOPEN_EXPORT miopenStatus_t
3505 miopenCreateOpBatchNormInference(miopenFusionPlanDescriptor_t fusePlanDesc,
3506  miopenFusionOpDescriptor_t* bnOp,
3507  const miopenBatchNormMode_t bn_mode,
3508  const miopenTensorDescriptor_t bnScaleBiasMeanVarDesc);
3509 
3519 MIOPEN_EXPORT miopenStatus_t
3520 miopenCreateOpBatchNormForward(miopenFusionPlanDescriptor_t fusePlanDesc,
3521  miopenFusionOpDescriptor_t* bnFwdOp,
3522  const miopenBatchNormMode_t bn_mode,
3523  bool runningMeanVariance);
3524 
3532 MIOPEN_EXPORT miopenStatus_t
3533 miopenCreateOpBatchNormBackward(miopenFusionPlanDescriptor_t fusePlanDesc,
3534  miopenFusionOpDescriptor_t* bnBwdOp,
3535  const miopenBatchNormMode_t bn_mode);
3536 
3537 //---
3543 MIOPEN_EXPORT miopenStatus_t miopenCreateOperatorArgs(miopenOperatorArgs_t* args);
3544 
3550 MIOPEN_EXPORT miopenStatus_t miopenDestroyOperatorArgs(miopenOperatorArgs_t args);
3551 
3552 // Convolution set arguments ---
3562 MIOPEN_EXPORT miopenStatus_t miopenSetOpArgsConvForward(miopenOperatorArgs_t args,
3563  const miopenFusionOpDescriptor_t convOp,
3564  const void* alpha,
3565  const void* beta,
3566  const void* w);
3567 // Activation set arguments ---
3579 MIOPEN_EXPORT miopenStatus_t
3580 miopenSetOpArgsActivForward(miopenOperatorArgs_t args,
3581  const miopenFusionOpDescriptor_t activFwdOp,
3582  const void* alpha,
3583  const void* beta,
3584  double activAlpha,
3585  double activBeta,
3586  double activGamma);
3587 
3601 MIOPEN_EXPORT miopenStatus_t
3602 miopenSetOpArgsActivBackward(miopenOperatorArgs_t args,
3603  const miopenFusionOpDescriptor_t activBwdOp,
3604  const void* alpha,
3605  const void* beta,
3606  const void* y,
3607  const void* reserved,
3608  double activAlpha,
3609  double activBeta,
3610  double activGamma);
3611 
3612 // Batch Normalization set arguments ---
3626 MIOPEN_EXPORT miopenStatus_t
3627 miopenSetOpArgsBatchNormInference(miopenOperatorArgs_t args,
3628  const miopenFusionOpDescriptor_t bnOp,
3629  const void* alpha,
3630  const void* beta,
3631  const void* bnScale,
3632  const void* bnBias,
3633  const void* estimatedMean,
3634  const void* estimatedVariance,
3635  double epsilon);
3636 
3653 MIOPEN_EXPORT miopenStatus_t miopenSetOpArgsBatchNormForward(miopenOperatorArgs_t args,
3654  const miopenFusionOpDescriptor_t bnOp,
3655  const void* alpha,
3656  const void* beta,
3657  const void* bnScale,
3658  const void* bnBias,
3659  void* savedMean,
3660  void* savedInvVariance,
3661  void* runningMean,
3662  void* runningVariance,
3663  double expAvgFactor,
3664  double epsilon);
3665 
3681 MIOPEN_EXPORT miopenStatus_t miopenSetOpArgsBatchNormBackward(miopenOperatorArgs_t args,
3682  const miopenFusionOpDescriptor_t bnOp,
3683  const void* alpha,
3684  const void* beta,
3685  const void* x,
3686  const void* bnScale,
3687  const void* bnBias,
3688  void* resultBnScaleDiff,
3689  void* resultBnBiasDiff,
3690  const void* savedMean,
3691  const void* savedInvVariance);
3692 
3693 // Bias forward set arguments ---
3703 MIOPEN_EXPORT miopenStatus_t miopenSetOpArgsBiasForward(miopenOperatorArgs_t args,
3704  const miopenFusionOpDescriptor_t biasOp,
3705  const void* alpha,
3706  const void* beta,
3707  const void* bias);
3720 MIOPEN_EXPORT miopenStatus_t
3721 miopenExecuteFusionPlan(const miopenHandle_t handle,
3722  const miopenFusionPlanDescriptor_t fusePlanDesc,
3723  const miopenTensorDescriptor_t inputDesc,
3724  const void* input,
3725  const miopenTensorDescriptor_t outputDesc,
3726  void* output,
3727  miopenOperatorArgs_t args);
3728 
3752 MIOPEN_EXPORT miopenStatus_t
3754  const void* alpha1,
3755  const miopenTensorDescriptor_t xDesc,
3756  const void* x,
3757  const miopenTensorDescriptor_t wDesc,
3758  const void* w,
3759  const miopenConvolutionDescriptor_t convDesc,
3761  void* workspace,
3762  size_t workspaceSizeInBytes,
3763  const void* alpha2,
3764  const miopenTensorDescriptor_t zDesc,
3765  const void* z,
3766  const miopenTensorDescriptor_t biasDesc,
3767  const void* bias,
3768  const miopenActivationDescriptor_t activationDesc,
3769  const miopenTensorDescriptor_t yDesc,
3770  void* y);
3772 // CLOSEOUT FUSION DOXYGEN GROUP
3773 
3782 typedef enum
3783 {
3788 } miopenRNNMode_t;
3789 
3793 typedef enum
3794 {
3798 
3802 typedef enum
3803 {
3804  miopenRNNdefault = 0,
3806  miopenRNNfundamental = 1,
3810 } miopenRNNAlgo_t;
3811 
3815 typedef enum
3816 {
3820 
3824 typedef enum
3825 {
3829 
3833 typedef enum
3834 {
3837 
3841 typedef enum
3842 {
3846 
3850 typedef enum
3851 {
3855 
3859 typedef enum
3860 {
3866 
3873 MIOPEN_EXPORT miopenStatus_t miopenCreateRNNDescriptor(miopenRNNDescriptor_t* rnnDesc);
3874 
3887 MIOPEN_EXPORT miopenStatus_t miopenGetRNNDescriptor(miopenRNNDescriptor_t rnnDesc,
3888  miopenRNNMode_t* rnnMode,
3889  miopenRNNAlgo_t* algoMode,
3890  miopenRNNInputMode_t* inputMode,
3891  miopenRNNDirectionMode_t* dirMode,
3892  miopenRNNBiasMode_t* biasMode,
3893  int* hiddenSize,
3894  int* layer);
3895 
3912 MIOPEN_EXPORT miopenStatus_t miopenGetRNNDescriptor_V2(miopenRNNDescriptor_t rnnDesc,
3913  int* hiddenSize,
3914  int* layer,
3915  miopenDropoutDescriptor_t* dropoutDesc,
3916  miopenRNNInputMode_t* inputMode,
3917  miopenRNNDirectionMode_t* dirMode,
3918  miopenRNNMode_t* rnnMode,
3919  miopenRNNBiasMode_t* biasMode,
3920  miopenRNNAlgo_t* algoMode,
3921  miopenDataType_t* dataType);
3922 
3928 MIOPEN_EXPORT miopenStatus_t miopenDestroyRNNDescriptor(miopenRNNDescriptor_t rnnDesc);
3929 
3945 MIOPEN_EXPORT miopenStatus_t miopenSetRNNDescriptor(miopenRNNDescriptor_t rnnDesc,
3946  const int hsize,
3947  const int nlayers,
3948  miopenRNNInputMode_t inMode,
3949  miopenRNNDirectionMode_t direction,
3950  miopenRNNMode_t rnnMode,
3951  miopenRNNBiasMode_t biasMode,
3952  miopenRNNAlgo_t algo,
3953  miopenDataType_t dataType);
3954 
3973 MIOPEN_EXPORT miopenStatus_t miopenSetRNNDescriptor_V2(miopenRNNDescriptor_t rnnDesc,
3974  const int hsize,
3975  const int nlayers,
3976  miopenDropoutDescriptor_t dropoutDesc,
3977  miopenRNNInputMode_t inMode,
3978  miopenRNNDirectionMode_t direction,
3979  miopenRNNMode_t rnnMode,
3980  miopenRNNBiasMode_t biasMode,
3981  miopenRNNAlgo_t algo,
3982  miopenDataType_t dataType);
3983 
3998 MIOPEN_EXPORT miopenStatus_t
3999 miopenSetRNNDataSeqTensorDescriptor(miopenSeqTensorDescriptor_t seqTensorDesc,
4000  miopenDataType_t dataType,
4001  miopenRNNBaseLayout_t layout,
4002  int maxSequenceLen,
4003  int batchSize,
4004  int vectorSize,
4005  const int* sequenceLenArray,
4006  void* paddingMarker);
4007 
4026 MIOPEN_EXPORT miopenStatus_t
4027 miopenGetRNNDataSeqTensorDescriptor(miopenSeqTensorDescriptor_t seqTensorDesc,
4028  miopenDataType_t* dataType,
4029  miopenRNNBaseLayout_t* layout,
4030  int* maxSequenceLen,
4031  int* batchSize,
4032  int* vectorSize,
4033  int sequenceLenArrayLimit,
4034  int* sequenceLenArray,
4035  void* paddingMarker);
4036 
4053 MIOPEN_EXPORT miopenStatus_t miopenGetRNNWorkspaceSize(miopenHandle_t handle,
4054  const miopenRNNDescriptor_t rnnDesc,
4055  const int sequenceLen,
4056  const miopenTensorDescriptor_t* xDesc,
4057  size_t* numBytes);
4058 
4075 MIOPEN_EXPORT miopenStatus_t miopenGetRNNTrainingReserveSize(miopenHandle_t handle,
4076  miopenRNNDescriptor_t rnnDesc,
4077  const int sequenceLen,
4078  const miopenTensorDescriptor_t* xDesc,
4079  size_t* numBytes);
4080 
4097 MIOPEN_EXPORT miopenStatus_t miopenGetRNNTempSpaceSizes(miopenHandle_t handle,
4098  miopenRNNDescriptor_t rnnDesc,
4099  miopenSeqTensorDescriptor_t xDesc,
4100  miopenRNNFWDMode_t fwdMode,
4101  size_t* workSpaceSize,
4102  size_t* reserveSpaceSize);
4103 
4116 MIOPEN_EXPORT miopenStatus_t miopenGetRNNParamsSize(miopenHandle_t handle,
4117  miopenRNNDescriptor_t rnnDesc,
4118  miopenTensorDescriptor_t xDesc,
4119  size_t* numBytes,
4120  miopenDataType_t dtype);
4121 
4134 MIOPEN_EXPORT miopenStatus_t miopenGetRNNParamsDescriptor(miopenHandle_t handle,
4135  miopenRNNDescriptor_t rnnDesc,
4136  miopenTensorDescriptor_t xDesc,
4137  miopenTensorDescriptor_t wDesc,
4138  miopenDataType_t dtype);
4139 
4157 MIOPEN_EXPORT miopenStatus_t miopenGetRNNInputTensorSize(miopenHandle_t handle,
4158  miopenRNNDescriptor_t rnnDesc,
4159  const int seqLen,
4160  miopenTensorDescriptor_t* xDesc,
4161  size_t* numBytes);
4162 
4175 MIOPEN_EXPORT miopenStatus_t miopenGetRNNHiddenTensorSize(miopenHandle_t handle,
4176  miopenRNNDescriptor_t rnnDesc,
4177  const int seqLen,
4178  miopenTensorDescriptor_t* xDesc,
4179  size_t* numBytes);
4180 
4221 MIOPEN_EXPORT miopenStatus_t miopenGetRNNLayerParamSize(miopenHandle_t handle,
4222  miopenRNNDescriptor_t rnnDesc,
4223  const int layer,
4224  miopenTensorDescriptor_t xDesc,
4225  const int paramID,
4226  size_t* numBytes);
4227 
4265 MIOPEN_EXPORT miopenStatus_t miopenGetRNNLayerBiasSize(miopenHandle_t handle,
4266  miopenRNNDescriptor_t rnnDesc,
4267  const int layer,
4268  const int biasID,
4269  size_t* numBytes);
4270 
4329 MIOPEN_EXPORT miopenStatus_t miopenGetRNNLayerParam(miopenHandle_t handle,
4330  miopenRNNDescriptor_t rnnDesc,
4331  const int layer,
4332  miopenTensorDescriptor_t xDesc,
4333  miopenTensorDescriptor_t wDesc,
4334  const void* w,
4335  const int paramID,
4336  miopenTensorDescriptor_t paramDesc,
4337  void* layerParam);
4338 
4396 MIOPEN_EXPORT miopenStatus_t miopenGetRNNLayerBias(miopenHandle_t handle,
4397  miopenRNNDescriptor_t rnnDesc,
4398  const int layer,
4399  miopenTensorDescriptor_t xDesc,
4400  miopenTensorDescriptor_t wDesc,
4401  const void* w,
4402  const int biasID,
4403  miopenTensorDescriptor_t biasDesc,
4404  void* layerBias);
4405 
4460 MIOPEN_EXPORT miopenStatus_t miopenGetRNNLayerParamOffset(miopenRNNDescriptor_t rnnDesc,
4461  const int layer,
4462  miopenTensorDescriptor_t xDesc,
4463  const int paramID,
4464  miopenTensorDescriptor_t paramDesc,
4465  size_t* layerParamOffset);
4466 
4517 MIOPEN_EXPORT miopenStatus_t miopenGetRNNLayerBiasOffset(miopenRNNDescriptor_t rnnDesc,
4518  const int layer,
4519  miopenTensorDescriptor_t xDesc,
4520  const int biasID,
4521  miopenTensorDescriptor_t biasDesc,
4522  size_t* layerBiasOffset);
4523 
4576 MIOPEN_EXPORT miopenStatus_t miopenSetRNNLayerParam(miopenHandle_t handle,
4577  miopenRNNDescriptor_t rnnDesc,
4578  const int layer,
4579  miopenTensorDescriptor_t xDesc,
4580  miopenTensorDescriptor_t wDesc,
4581  void* w,
4582  const int paramID,
4583  miopenTensorDescriptor_t paramDesc,
4584  const void* layerParam);
4585 
4636 MIOPEN_EXPORT miopenStatus_t miopenSetRNNLayerBias(miopenHandle_t handle,
4637  miopenRNNDescriptor_t rnnDesc,
4638  const int layer,
4639  miopenTensorDescriptor_t xDesc,
4640  miopenTensorDescriptor_t wDesc,
4641  void* w,
4642  const int biasID,
4643  miopenTensorDescriptor_t biasDesc,
4644  const void* layerBias);
4645 
4657 MIOPEN_EXPORT miopenStatus_t miopenSetRNNPaddingMode(miopenRNNDescriptor_t rnnDesc,
4658  miopenRNNPaddingMode_t paddingMode);
4659 
4667 MIOPEN_EXPORT miopenStatus_t miopenGetRNNPaddingMode(miopenRNNDescriptor_t rnnDesc,
4668  miopenRNNPaddingMode_t* paddingMode);
4669 
4720 MIOPEN_EXPORT miopenStatus_t miopenRNNForward(miopenHandle_t handle,
4721  const miopenRNNDescriptor_t rnnDesc,
4722  miopenRNNFWDMode_t fwdMode,
4723  const miopenSeqTensorDescriptor_t xDesc,
4724  const void* x,
4725  const miopenTensorDescriptor_t hDesc,
4726  const void* hx,
4727  void* hy,
4728  const miopenTensorDescriptor_t cDesc,
4729  const void* cx,
4730  void* cy,
4731  const miopenSeqTensorDescriptor_t yDesc,
4732  void* y,
4733  const void* w,
4734  size_t weightSpaceSize,
4735  void* workSpace,
4736  size_t workSpaceNumBytes,
4737  void* reserveSpace,
4738  size_t reserveSpaceNumBytes);
4739 
4789 MIOPEN_EXPORT miopenStatus_t miopenRNNBackwardSeqData(miopenHandle_t handle,
4790  const miopenRNNDescriptor_t rnnDesc,
4791  const miopenSeqTensorDescriptor_t yDesc,
4792  const void* y,
4793  const void* dy,
4794  const miopenTensorDescriptor_t hDesc,
4795  const void* hx,
4796  const void* dhy,
4797  void* dhx,
4798  const miopenTensorDescriptor_t cDesc,
4799  const void* cx,
4800  const void* dcy,
4801  void* dcx,
4802  const miopenSeqTensorDescriptor_t xDesc,
4803  void* dx,
4804  const void* w,
4805  size_t weightSpaceSize,
4806  void* workSpace,
4807  size_t workSpaceNumBytes,
4808  void* reserveSpace,
4809  size_t reserveSpaceNumBytes);
4810 
4844 MIOPEN_EXPORT miopenStatus_t
4846  const miopenRNNDescriptor_t rnnDesc,
4847  const miopenSeqTensorDescriptor_t xDesc,
4848  const void* x,
4849  const miopenTensorDescriptor_t hDesc,
4850  const void* hx,
4851  const miopenSeqTensorDescriptor_t yDesc,
4852  const void* y,
4853  void* dw,
4854  size_t weightSpaceSize,
4855  void* workSpace,
4856  size_t workSpaceNumBytes,
4857  const void* reserveSpace,
4858  size_t reserveSpaceNumBytes);
4859 
4917 MIOPEN_EXPORT miopenStatus_t miopenRNNForwardTraining(miopenHandle_t handle,
4918  const miopenRNNDescriptor_t rnnDesc,
4919  const int sequenceLen,
4920  const miopenTensorDescriptor_t* xDesc,
4921  const void* x,
4922  const miopenTensorDescriptor_t hxDesc,
4923  const void* hx,
4924  const miopenTensorDescriptor_t cxDesc,
4925  const void* cx,
4926  const miopenTensorDescriptor_t wDesc,
4927  const void* w,
4928  const miopenTensorDescriptor_t* yDesc,
4929  void* y,
4930  const miopenTensorDescriptor_t hyDesc,
4931  void* hy,
4932  const miopenTensorDescriptor_t cyDesc,
4933  void* cy,
4934  void* workSpace,
4935  size_t workSpaceNumBytes,
4936  void* reserveSpace,
4937  size_t reserveSpaceNumBytes);
4938 
5011 MIOPEN_EXPORT miopenStatus_t miopenRNNBackwardData(miopenHandle_t handle,
5012  const miopenRNNDescriptor_t rnnDesc,
5013  const int sequenceLen,
5014  const miopenTensorDescriptor_t* yDesc,
5015  const void* y,
5016  const miopenTensorDescriptor_t* dyDesc,
5017  const void* dy,
5018  const miopenTensorDescriptor_t dhyDesc,
5019  const void* dhy,
5020  const miopenTensorDescriptor_t dcyDesc,
5021  const void* dcy,
5022  const miopenTensorDescriptor_t wDesc,
5023  const void* w,
5024  const miopenTensorDescriptor_t hxDesc,
5025  const void* hx,
5026  const miopenTensorDescriptor_t cxDesc,
5027  const void* cx,
5028  const miopenTensorDescriptor_t* dxDesc,
5029  void* dx,
5030  const miopenTensorDescriptor_t dhxDesc,
5031  void* dhx,
5032  const miopenTensorDescriptor_t dcxDesc,
5033  void* dcx,
5034  void* workSpace,
5035  size_t workSpaceNumBytes,
5036  void* reserveSpace,
5037  size_t reserveSpaceNumBytes);
5038 
5075 MIOPEN_EXPORT miopenStatus_t miopenRNNBackwardWeights(miopenHandle_t handle,
5076  const miopenRNNDescriptor_t rnnDesc,
5077  const int sequenceLen,
5078  const miopenTensorDescriptor_t* xDesc,
5079  const void* x,
5080  const miopenTensorDescriptor_t hxDesc,
5081  const void* hx,
5082  const miopenTensorDescriptor_t* yDesc,
5083  const void* y,
5084  const miopenTensorDescriptor_t dwDesc,
5085  void* dw,
5086  void* workSpace,
5087  size_t workSpaceNumBytes,
5088  const void* reserveSpace,
5089  size_t reserveSpaceNumBytes);
5090 
5146 MIOPEN_EXPORT miopenStatus_t miopenRNNForwardInference(miopenHandle_t handle,
5147  miopenRNNDescriptor_t rnnDesc,
5148  const int sequenceLen,
5149  const miopenTensorDescriptor_t* xDesc,
5150  const void* x,
5151  const miopenTensorDescriptor_t hxDesc,
5152  const void* hx,
5153  const miopenTensorDescriptor_t cxDesc,
5154  const void* cx,
5155  const miopenTensorDescriptor_t wDesc,
5156  const void* w,
5157  const miopenTensorDescriptor_t* yDesc,
5158  void* y,
5159  const miopenTensorDescriptor_t hyDesc,
5160  void* hy,
5161  const miopenTensorDescriptor_t cyDesc,
5162  void* cy,
5163  void* workSpace,
5164  size_t workSpaceNumBytes);
5165 
5167 // CLOSEOUT RNN DOXYGEN GROUP
5168 
5177 typedef enum
5178 {
5181 
5188 MIOPEN_EXPORT miopenStatus_t miopenCreateCTCLossDescriptor(miopenCTCLossDescriptor_t* ctcLossDesc);
5189 
5199 MIOPEN_EXPORT miopenStatus_t miopenGetCTCLossDescriptor(miopenCTCLossDescriptor_t ctcLossDesc,
5200  miopenDataType_t* dataType,
5201  int* blank_label_id,
5202  bool* apply_softmax_layer);
5203 
5209 MIOPEN_EXPORT miopenStatus_t miopenDestroyCTCLossDescriptor(miopenCTCLossDescriptor_t ctcLossDesc);
5210 
5220 MIOPEN_EXPORT miopenStatus_t miopenSetCTCLossDescriptor(miopenCTCLossDescriptor_t ctcLossDesc,
5221  miopenDataType_t dataType,
5222  const int blank_label_id,
5223  bool apply_softmax_layer);
5224 
5241 MIOPEN_EXPORT miopenStatus_t
5242 miopenGetCTCLossWorkspaceSize(miopenHandle_t handle,
5243  const miopenTensorDescriptor_t probsDesc,
5244  const miopenTensorDescriptor_t gradientsDesc,
5245  const int* labels,
5246  const int* labelLengths,
5247  const int* inputLengths,
5248  miopenCTCLossAlgo_t algo,
5249  const miopenCTCLossDescriptor_t ctcLossDesc,
5250  size_t* workSpaceSize);
5251 
5271 MIOPEN_EXPORT miopenStatus_t miopenCTCLoss(miopenHandle_t handle,
5272  const miopenTensorDescriptor_t probsDesc,
5273  const void* probs,
5274  const int* labels,
5275  const int* labelLengths,
5276  const int* inputLengths,
5277  void* losses,
5278  const miopenTensorDescriptor_t gradientsDesc,
5279  void* gradients,
5280  miopenCTCLossAlgo_t algo,
5281  const miopenCTCLossDescriptor_t ctcLossDesc,
5282  void* workSpace,
5283  size_t workSpaceSize);
5284 
5286 // CLOSEOUT LossFunction DOXYGEN GROUP
5287 
5288 // Dropout APIs
5297 typedef enum
5298 {
5300 } miopenRNGType_t;
5301 
5307 MIOPEN_EXPORT miopenStatus_t miopenCreateDropoutDescriptor(miopenDropoutDescriptor_t* dropoutDesc);
5308 
5314 MIOPEN_EXPORT miopenStatus_t miopenDestroyDropoutDescriptor(miopenDropoutDescriptor_t dropoutDesc);
5315 
5324 MIOPEN_EXPORT miopenStatus_t miopenDropoutGetReserveSpaceSize(const miopenTensorDescriptor_t xDesc,
5325  size_t* reserveSpaceSizeInBytes);
5326 
5335 MIOPEN_EXPORT miopenStatus_t miopenDropoutGetStatesSize(miopenHandle_t handle,
5336  size_t* stateSizeInBytes);
5337 
5354 MIOPEN_EXPORT miopenStatus_t miopenGetDropoutDescriptor(miopenDropoutDescriptor_t dropoutDesc,
5355  miopenHandle_t handle,
5356  float* dropout,
5357  void** states,
5358  unsigned long long* seed,
5359  bool* use_mask,
5360  bool* state_evo,
5361  miopenRNGType_t* rng_mode);
5362 
5385 MIOPEN_EXPORT miopenStatus_t miopenRestoreDropoutDescriptor(miopenDropoutDescriptor_t dropoutDesc,
5386  miopenHandle_t handle,
5387  float dropout,
5388  void* states,
5389  size_t stateSizeInBytes,
5390  unsigned long long seed,
5391  bool use_mask,
5392  bool state_evo,
5393  miopenRNGType_t rng_mode);
5394 
5414 MIOPEN_EXPORT miopenStatus_t miopenSetDropoutDescriptor(miopenDropoutDescriptor_t dropoutDesc,
5415  miopenHandle_t handle,
5416  float dropout,
5417  void* states,
5418  size_t stateSizeInBytes,
5419  unsigned long long seed,
5420  bool use_mask,
5421  bool state_evo,
5422  miopenRNGType_t rng_mode);
5423 
5441 MIOPEN_EXPORT miopenStatus_t miopenDropoutForward(miopenHandle_t handle,
5442  const miopenDropoutDescriptor_t dropoutDesc,
5443  const miopenTensorDescriptor_t noise_shape,
5444  const miopenTensorDescriptor_t xDesc,
5445  const void* x,
5446  const miopenTensorDescriptor_t yDesc,
5447  void* y,
5448  void* reserveSpace,
5449  size_t reserveSpaceSizeInBytes);
5450 
5468 MIOPEN_EXPORT miopenStatus_t miopenDropoutBackward(miopenHandle_t handle,
5469  const miopenDropoutDescriptor_t dropoutDesc,
5470  const miopenTensorDescriptor_t noise_shape,
5471  const miopenTensorDescriptor_t dyDesc,
5472  const void* dy,
5473  const miopenTensorDescriptor_t dxDesc,
5474  void* dx,
5475  void* reserveSpace,
5476  size_t reserveSpaceSizeInBytes);
5477 
5479 // CLOSEOUT DROPOUT DOXYGEN GROUP
5480 
5481 // TensorReduce APIs
5492 MIOPEN_EXPORT miopenStatus_t
5493 miopenCreateReduceTensorDescriptor(miopenReduceTensorDescriptor_t* reduceTensorDesc);
5494 
5500 MIOPEN_EXPORT miopenStatus_t
5501 miopenDestroyReduceTensorDescriptor(miopenReduceTensorDescriptor_t reduceTensorDesc);
5502 
5515 MIOPEN_EXPORT miopenStatus_t
5516 miopenSetReduceTensorDescriptor(miopenReduceTensorDescriptor_t reduceTensorDesc,
5517  miopenReduceTensorOp_t reduceTensorOp,
5518  miopenDataType_t reduceTensorCompType,
5519  miopenNanPropagation_t reduceTensorNanOpt,
5520  miopenReduceTensorIndices_t reduceTensorIndices,
5521  miopenIndicesType_t reduceTensorIndicesType);
5522 
5538 MIOPEN_EXPORT miopenStatus_t
5539 miopenGetReduceTensorDescriptor(const miopenReduceTensorDescriptor_t reduceTensorDesc,
5540  miopenReduceTensorOp_t* reduceTensorOp,
5541  miopenDataType_t* reduceTensorCompType,
5542  miopenNanPropagation_t* reduceTensorNanOpt,
5543  miopenReduceTensorIndices_t* reduceTensorIndices,
5544  miopenIndicesType_t* reduceTensorIndicesType);
5545 
5555 MIOPEN_EXPORT miopenStatus_t
5556 miopenGetReductionIndicesSize(miopenHandle_t handle,
5557  const miopenReduceTensorDescriptor_t reduceTensorDesc,
5558  const miopenTensorDescriptor_t aDesc,
5559  const miopenTensorDescriptor_t cDesc,
5560  size_t* sizeInBytes);
5561 
5571 MIOPEN_EXPORT miopenStatus_t
5572 miopenGetReductionWorkspaceSize(miopenHandle_t handle,
5573  const miopenReduceTensorDescriptor_t reduceTensorDesc,
5574  const miopenTensorDescriptor_t aDesc,
5575  const miopenTensorDescriptor_t cDesc,
5576  size_t* sizeInBytes);
5577 
5601 MIOPEN_EXPORT miopenStatus_t
5602 miopenReduceTensor(miopenHandle_t handle,
5603  const miopenReduceTensorDescriptor_t reduceTensorDesc,
5604  void* indices,
5605  size_t indicesSizeInBytes,
5606  void* workspace,
5607  size_t workspaceSizeInBytes,
5608  const void* alpha,
5609  const miopenTensorDescriptor_t aDesc,
5610  const void* A,
5611  const void* beta,
5612  const miopenTensorDescriptor_t cDesc,
5613  void* C);
5614 
5616 // CLOSEOUT TensorReduce DOXYGEN GROUP
5617 
5618 // Find 2.0 API
5629 MIOPEN_DECLARE_OBJECT(miopenProblem);
5630 
5634 typedef enum
5635 {
5639 #ifdef MIOPEN_BETA_API
5641 #endif
5643 
5647 typedef enum
5648 {
5653 
5687 
5688 #ifdef MIOPEN_BETA_API
5714 #endif
5715 
5717 
5719 #ifdef MIOPEN_BETA_API
5722 #endif
5724 
5728 typedef enum
5729 {
5733 
5741 MIOPEN_EXPORT miopenStatus_t miopenCreateConvProblem(miopenProblem_t* problem,
5742  miopenConvolutionDescriptor_t operatorDesc,
5743  miopenProblemDirection_t direction);
5744 
5756 typedef enum
5757 {
5760 } miopenMhaMask_t;
5761 
5762 MIOPEN_EXPORT miopenStatus_t miopenCreateMhaProblem(miopenProblem_t* problem,
5763  miopenMhaDescriptor_t operatorDesc,
5764  miopenProblemDirection_t direction);
5765 
5772 MIOPEN_EXPORT miopenStatus_t miopenCreateMhaDescriptor(miopenMhaDescriptor_t* mhaDesc);
5773 
5783 MIOPEN_EXPORT miopenStatus_t miopenSetMhaDescriptor(miopenMhaDescriptor_t mhaDesc, float scale);
5784 
5794 MIOPEN_EXPORT miopenStatus_t miopenGetMhaDescriptor(miopenMhaDescriptor_t mhaDesc, float* scale);
5795 
5802 MIOPEN_EXPORT miopenStatus_t miopenCreateSoftmaxDescriptor(miopenSoftmaxDescriptor_t* softmaxDesc);
5803 
5815 MIOPEN_EXPORT miopenStatus_t miopenSetSoftmaxDescriptor(miopenSoftmaxDescriptor_t softmaxDesc,
5816  float alpha,
5817  float beta,
5818  miopenSoftmaxAlgorithm_t algorithm,
5819  miopenSoftmaxMode_t mode);
5820 
5832 MIOPEN_EXPORT miopenStatus_t miopenGetSoftmaxDescriptor(const miopenSoftmaxDescriptor_t softmaxDesc,
5833  float* alpha,
5834  float* beta,
5835  miopenSoftmaxAlgorithm_t* algorithm,
5836  miopenSoftmaxMode_t* mode);
5837 
5843 MIOPEN_EXPORT miopenStatus_t miopenDestroyProblem(miopenProblem_t problem);
5844 
5852 MIOPEN_EXPORT miopenStatus_t
5853 miopenSetProblemTensorDescriptor(miopenProblem_t problem,
5855  const miopenTensorDescriptor_t descriptor);
5856 
5859 MIOPEN_DECLARE_OBJECT(miopenFindOptions);
5860 
5866 MIOPEN_EXPORT miopenStatus_t miopenCreateFindOptions(miopenFindOptions_t* options);
5867 
5873 MIOPEN_EXPORT miopenStatus_t miopenDestroyFindOptions(miopenFindOptions_t options);
5874 
5881 MIOPEN_EXPORT miopenStatus_t miopenSetFindOptionTuning(miopenFindOptions_t options, int value);
5882 
5889 MIOPEN_EXPORT miopenStatus_t miopenSetFindOptionResultsOrder(miopenFindOptions_t options,
5890  miopenFindResultsOrder_t value);
5891 
5899 MIOPEN_EXPORT miopenStatus_t miopenSetFindOptionWorkspaceLimit(miopenFindOptions_t options,
5900  size_t value);
5901 
5909 MIOPEN_EXPORT miopenStatus_t miopenSetFindOptionPreallocatedWorkspace(miopenFindOptions_t options,
5910  void* buffer,
5911  size_t size);
5912 
5921 MIOPEN_EXPORT miopenStatus_t miopenSetFindOptionPreallocatedTensor(miopenFindOptions_t options,
5923  void* buffer);
5924 
5932 MIOPEN_EXPORT miopenStatus_t miopenSetFindOptionAttachBinaries(miopenFindOptions_t options,
5933  unsigned attach);
5934 
5937 MIOPEN_DECLARE_OBJECT(miopenSolution);
5938 
5950 MIOPEN_EXPORT miopenStatus_t miopenFindSolutions(miopenHandle_t handle,
5951  miopenProblem_t problem,
5952  miopenFindOptions_t options,
5953  miopenSolution_t* solutions,
5954  size_t* numSolutions,
5955  size_t maxSolutions);
5956 
5960 {
5961  /* @brief Identifier of the tensor argument.
5962  */
5964  /* @brief Tensor descriptor to override the value stored in the solution.
5965  *
5966  * Some solvers may support overriding input and output tensor descriptors, but right now there
5967  * is no way to tell from the API. Intended for the future use.
5968  */
5969  miopenTensorDescriptor_t* descriptor;
5970  /* @brief Pointer to the device memory buffer to use for the operation or to the host memory if
5971  * the value is scalar.
5972  */
5973  void* buffer;
5974 };
5975 
5987 MIOPEN_EXPORT miopenStatus_t miopenRunSolution(miopenHandle_t handle,
5988  miopenSolution_t solution,
5989  size_t nInputs,
5990  const miopenTensorArgument_t* tensors,
5991  void* workspace,
5992  size_t workspaceSize);
5993 
5999 MIOPEN_EXPORT miopenStatus_t miopenDestroySolution(miopenSolution_t solution);
6000 
6008 MIOPEN_EXPORT miopenStatus_t miopenLoadSolution(miopenSolution_t* solution,
6009  const char* data,
6010  size_t size);
6011 
6018 MIOPEN_EXPORT miopenStatus_t miopenSaveSolution(miopenSolution_t solution, char* data);
6019 
6026 MIOPEN_EXPORT miopenStatus_t miopenGetSolutionSize(miopenSolution_t solution, size_t* size);
6027 
6034 MIOPEN_EXPORT miopenStatus_t miopenGetSolutionWorkspaceSize(miopenSolution_t solution,
6035  size_t* workspaceSize);
6036 
6043 MIOPEN_EXPORT miopenStatus_t miopenGetSolutionTime(miopenSolution_t solution, float* time);
6044 
6051 MIOPEN_EXPORT miopenStatus_t miopenGetSolutionSolverId(miopenSolution_t solution,
6052  uint64_t* solverId);
6053 
6060 MIOPEN_EXPORT miopenStatus_t miopenGetSolverIdConvAlgorithm(uint64_t solverId,
6061  miopenConvAlgorithm_t* result);
6062 
6063 #ifdef MIOPEN_BETA_API
6064 
6073 MIOPEN_EXPORT miopenStatus_t
6074 miopenCreateActivationProblem(miopenProblem_t* problem,
6075  miopenActivationDescriptor_t operatorDesc,
6076  miopenProblemDirection_t direction);
6077 
6086 MIOPEN_EXPORT miopenStatus_t miopenCreateBatchnormProblem(miopenProblem_t* problem,
6087  miopenBatchNormMode_t mode,
6088  bool runningMeanVariance,
6089  miopenProblemDirection_t direction);
6090 
6110 MIOPEN_EXPORT miopenStatus_t miopenFuseProblems(miopenProblem_t problem1, miopenProblem_t problem2);
6111 
6119 MIOPEN_EXPORT miopenStatus_t miopenCreateBiasProblem(miopenProblem_t* problem,
6120  miopenProblemDirection_t direction);
6121 
6130 MIOPEN_EXPORT miopenStatus_t miopenCreateSoftmaxProblem(miopenProblem_t* problem,
6131  miopenSoftmaxDescriptor_t operatorDesc,
6132  miopenProblemDirection_t direction);
6133 
6134 #endif
6135 
6137 // CLOSEOUT find2 DOXYGEN GROUP
6138 
6139 #ifdef MIOPEN_BETA_API
6140 
6145 typedef enum
6146 {
6149  1,
6151 
6152 // ReduceCalculation APIs
6161 typedef enum
6162 {
6164  1,
6166  2,
6168 
6178 MIOPEN_EXPORT miopenStatus_t
6180  const miopenTensorDescriptor_t xDesc,
6181  const int32_t dim,
6182  const miopenReduceCalculationOp_t reduceCalculationOp,
6183  const miopenTensorDescriptor_t reduceDesc,
6184  size_t* sizeInBytes);
6185 
6199 MIOPEN_EXPORT miopenStatus_t
6200 miopenReduceCalculationForward(miopenHandle_t handle,
6202  void* workspace,
6203  size_t workspaceSizeInBytes,
6204  const miopenTensorDescriptor_t xDesc,
6205  const void* x,
6206  const int32_t dim,
6207  const miopenReduceCalculationOp_t reduceCalculationOp,
6208  const miopenTensorDescriptor_t reduceDesc,
6209  void* y);
6210 
6212 // CLOSEOUT REDUCE CALCULATION DOXYGEN GROUP
6213 #endif // MIOPEN_BETA_API
6214 
6215 #ifdef MIOPEN_BETA_API
6216 
6221 typedef enum
6222 {
6224  1,
6226  2,
6228  3,
6230  4,
6232 
6233 // ReduceExtreme APIs
6253 MIOPEN_EXPORT miopenStatus_t
6254 miopenReduceExtremeForward(miopenHandle_t handle,
6255  const miopenTensorDescriptor_t xDesc,
6256  const void* x,
6257  const int32_t dim,
6258  const miopenReduceExtremeOp_t reduceExtremeOp,
6259  const miopenTensorDescriptor_t yDesc,
6260  void* y,
6261  const miopenTensorDescriptor_t indiceDesc,
6262  void* indice);
6263 
6265 // CLOSEOUT REDUCEEXTREME DOXYGEN GROUP
6266 #endif // MIOPEN_BETA_API
6267 
6268 #ifdef MIOPEN_BETA_API
6269 // GroupNorm APIs
6294 MIOPEN_EXPORT miopenStatus_t miopenGroupNormForward(miopenHandle_t handle,
6295  miopenNormMode_t mode,
6296  const miopenTensorDescriptor_t xDesc,
6297  const void* x,
6298  const miopenTensorDescriptor_t weightDesc,
6299  const void* weight,
6300  const miopenTensorDescriptor_t biasDesc,
6301  const void* bias,
6302  const uint64_t num_groups,
6303  const float epsilon,
6304  const miopenTensorDescriptor_t yDesc,
6305  void* y,
6306  const miopenTensorDescriptor_t meanDesc,
6307  void* mean,
6308  const miopenTensorDescriptor_t rstdDesc,
6309  void* rstd);
6310 
6312 // CLOSEOUT groupnorm DOXYGEN GROUP
6313 #endif // MIOPEN_BETA_API
6314 
6315 #ifdef MIOPEN_BETA_API
6316 // LayerNorm APIs
6343 MIOPEN_EXPORT miopenStatus_t miopenAddLayerNormForward(miopenHandle_t handle,
6344  miopenNormMode_t mode,
6345  const miopenTensorDescriptor_t xDesc,
6346  const void* x,
6347  const miopenTensorDescriptor_t x2Desc,
6348  const void* x2,
6349  const miopenTensorDescriptor_t weightDesc,
6350  const void* weight,
6351  const miopenTensorDescriptor_t biasDesc,
6352  const void* bias,
6353  const float epsilon,
6354  const int32_t normalized_dim,
6355  const miopenTensorDescriptor_t yDesc,
6356  void* y,
6357  const miopenTensorDescriptor_t meanDesc,
6358  void* mean,
6359  const miopenTensorDescriptor_t rstdDesc,
6360  void* rstd);
6361 
6363 // CLOSEOUT LAYERNORM DOXYGEN GROUP
6364 #endif // MIOPEN_BETA_API
6365 
6366 #ifdef MIOPEN_BETA_API
6367 // LayerNorm APIs
6387 MIOPEN_EXPORT miopenStatus_t miopenT5LayerNormForward(miopenHandle_t handle,
6388  miopenNormMode_t mode,
6389  const miopenTensorDescriptor_t xDesc,
6390  const void* x,
6391  const miopenTensorDescriptor_t weightDesc,
6392  const void* weight,
6393  const float epsilon,
6394  const miopenTensorDescriptor_t yDesc,
6395  void* y,
6396  const miopenTensorDescriptor_t rstdDesc,
6397  void* rstd);
6398 
6413 MIOPEN_EXPORT miopenStatus_t
6415  miopenNormMode_t mode,
6416  const miopenTensorDescriptor_t dyDesc,
6417  const miopenTensorDescriptor_t xDesc,
6418  const miopenTensorDescriptor_t weightDesc,
6419  const miopenTensorDescriptor_t rstdDesc,
6420  const miopenTensorDescriptor_t dxDesc,
6421  const miopenTensorDescriptor_t dwDesc,
6422  size_t* sizeInBytes);
6423 
6444 MIOPEN_EXPORT miopenStatus_t miopenT5LayerNormBackward(miopenHandle_t handle,
6445  miopenNormMode_t mode,
6446  void* workspace,
6447  size_t workspaceSizeInBytes,
6448  const miopenTensorDescriptor_t dyDesc,
6449  const void* dy,
6450  const miopenTensorDescriptor_t xDesc,
6451  const void* x,
6452  const miopenTensorDescriptor_t weightDesc,
6453  const void* weight,
6454  const miopenTensorDescriptor_t rstdDesc,
6455  const void* rstd,
6456  const miopenTensorDescriptor_t dxDesc,
6457  void* dx,
6458  const miopenTensorDescriptor_t dwDesc,
6459  void* dw);
6461 // CLOSEOUT LAYERNORM DOXYGEN GROUP
6462 #endif // MIOPEN_BETA_API
6463 
6464 #ifdef MIOPEN_BETA_API
6465 // Graph API
6477 typedef enum
6478 {
6512 
6520 typedef enum
6521 {
6532 
6540 
6545 
6549 
6556 
6561 
6564 
6592 
6598 
6616 
6620 
6632 
6637 
6640 
6645 
6653 
6656 
6665 
6668 
6672 
6684 
6694 
6701 
6710 
6715 
6721 
6737 
6749 
6752 
6759 
6764 
6766 
6774 typedef enum
6775 {
6807 
6813 typedef enum
6814 {
6817 
6821 
6824 
6827 
6830 
6834 
6837 
6840 
6843 
6846 
6849 
6852 
6855 
6858 
6861 
6864 
6867 
6870 
6873 
6876 
6879 
6884 
6887 
6890 
6893 
6896 
6900 
6903 
6906 
6911 
6915 
6918 
6921 
6925 
6929 
6932 
6935 
6942 
6945 
6948 
6951 
6955 
6958 
6962 
6965 
6968 
6971 
6974 
6978 
6983 
6989 typedef enum
6990 {
6995 
6996 typedef enum
6997 {
6998  /* IDENTITY alpha = 1.0 and beta = 0.0 */
6999  /* SCALE alpha = 4.2 and beta = 0.0 */
7000  /* BILINEAR alpha = 3.2 and beta = 1.1 */
7001  /* ERROR_STATE alpha = 0.0 and beta = 3.1 */
7002 
7003  DEFAULT = 0, /* alpha = 1.0 and beta = 0.0.*/
7004  SCALE = 1, /* alpha with some value and beta 0.0*/
7005  BILINEAR = 2, /* both alpha and beta with some value*/
7006  ERROR_STATE = 3, /* alpha 0.0 and beta with some value, this should not occur.
7007  But used to check for errors.*/
7013 typedef enum
7014 {
7021 
7034 MIOPEN_DECLARE_OBJECT(miopenBackendDescriptor)
7035 
7036 
7050  miopenBackendDescriptorType_t descriptorType, miopenBackendDescriptor_t* descriptor);
7051 
7081 MIOPEN_EXPORT miopenStatus_t miopenBackendSetAttribute(miopenBackendDescriptor_t descriptor,
7082  miopenBackendAttributeName_t attributeName,
7083  miopenBackendAttributeType_t attributeType,
7084  int64_t elementCount,
7085  void* arrayOfElements);
7086 
7103 MIOPEN_EXPORT miopenStatus_t miopenBackendFinalize(miopenBackendDescriptor_t descriptor);
7104 
7139 MIOPEN_EXPORT miopenStatus_t miopenBackendGetAttribute(miopenBackendDescriptor_t descriptor,
7140  miopenBackendAttributeName_t attributeName,
7141  miopenBackendAttributeType_t attributeType,
7142  int64_t requestedElementCount,
7143  int64_t* elementCount,
7144  void* arrayOfElements);
7145 
7165 MIOPEN_EXPORT miopenStatus_t miopenBackendExecute(miopenHandle_t handle,
7166  miopenBackendDescriptor_t executionPlan,
7167  miopenBackendDescriptor_t variantPack);
7168 
7185 MIOPEN_EXPORT miopenStatus_t miopenBackendDestroyDescriptor(miopenBackendDescriptor_t descriptor);
7186 
7204 MIOPEN_EXPORT miopenStatus_t miopenBackendInitialize(miopenBackendDescriptor_t descriptor,
7205  miopenBackendDescriptorType_t descriptorType,
7206  size_t sizeInBytes);
7207 
7209 // CLOSEOUT BackendAPI DOXYGEN GROUP
7210 #endif // MIOPEN_BETA_API
7211 
7212 #ifdef MIOPEN_BETA_API
7213 // FusedAdam APIs
7356 MIOPEN_EXPORT miopenStatus_t miopenFusedAdam(miopenHandle_t handle,
7357  const miopenTensorDescriptor_t paramDesc,
7358  void* param,
7359  const miopenTensorDescriptor_t gradDesc,
7360  const void* grad,
7361  const miopenTensorDescriptor_t expAvgDesc,
7362  void* expAvg,
7363  const miopenTensorDescriptor_t expAvgSqDesc,
7364  void* expAvgSq,
7365  const miopenTensorDescriptor_t maxExpAvgSqDesc,
7366  void* maxExpAvgSq,
7367  const miopenTensorDescriptor_t stateStepDesc,
7368  void* stateStep,
7369  const unsigned int state_step,
7370  const float lr,
7371  const float beta1,
7372  const float beta2,
7373  const float weight_decay,
7374  const float eps,
7375  const bool amsgrad,
7376  const bool maximize,
7377  const bool adamw,
7378  const miopenTensorDescriptor_t gradScaleDesc,
7379  const void* gradScale,
7380  const miopenTensorDescriptor_t foundInfDesc,
7381  const void* foundInf);
7382 
7523 MIOPEN_EXPORT miopenStatus_t
7524 miopenFusedAdamWithOutput(miopenHandle_t handle,
7525  const miopenTensorDescriptor_t paramInDesc,
7526  void* paramIn,
7527  const miopenTensorDescriptor_t paramOutDesc,
7528  void* paramOut,
7529  const miopenTensorDescriptor_t paramOutFloat16Desc,
7530  void* paramOutFloat16,
7531  const miopenTensorDescriptor_t gradInDesc,
7532  const void* gradIn,
7533  const miopenTensorDescriptor_t expAvgInDesc,
7534  void* expAvgIn,
7535  const miopenTensorDescriptor_t expAvgOutDesc,
7536  void* expAvgOut,
7537  const miopenTensorDescriptor_t expAvgSqInDesc,
7538  void* expAvgSqIn,
7539  const miopenTensorDescriptor_t expAvgSqOutDesc,
7540  void* expAvgSqOut,
7541  const miopenTensorDescriptor_t maxExpAvgSqInDesc,
7542  void* maxExpAvgSqIn,
7543  const miopenTensorDescriptor_t maxExpAvgSqOutDesc,
7544  void* maxExpAvgSqOut,
7545  const miopenTensorDescriptor_t stateStepInDesc,
7546  void* stateStepIn,
7547  const miopenTensorDescriptor_t stateStepOutDesc,
7548  void* stateStepOut,
7549  const unsigned int state_step,
7550  const float lr,
7551  const float beta1,
7552  const float beta2,
7553  const float weight_decay,
7554  const float eps,
7555  const bool amsgrad,
7556  const bool maximize,
7557  const bool adamw,
7558  const miopenTensorDescriptor_t gradScaleDesc,
7559  const void* gradScale,
7560  const miopenTensorDescriptor_t foundInfDesc,
7561  const void* foundInf);
7562 
7564 // CLOSEOUT SGD DOXYGEN GROUP
7565 #endif // MIOPEN_BETA_API
7566 
7567 #ifdef MIOPEN_BETA_API
7568 // TransformersAdamW APIs
7659 MIOPEN_EXPORT miopenStatus_t miopenTransformersAdamW(miopenHandle_t handle,
7660  const miopenTensorDescriptor_t paramDesc,
7661  void* param,
7662  const miopenTensorDescriptor_t gradDesc,
7663  const void* grad,
7664  const miopenTensorDescriptor_t expAvgDesc,
7665  void* expAvg,
7666  const miopenTensorDescriptor_t expAvgSqDesc,
7667  void* expAvgSq,
7668  const miopenTensorDescriptor_t stateStepDesc,
7669  void* stateStep,
7670  const unsigned int state_step,
7671  const float lr,
7672  const float beta1,
7673  const float beta2,
7674  const float weight_decay,
7675  const float eps,
7676  const bool correct_bias,
7677  const miopenTensorDescriptor_t gradScaleDesc,
7678  const void* gradScale,
7679  const miopenTensorDescriptor_t foundInfDesc,
7680  const void* foundInf);
7681 
7808 MIOPEN_EXPORT miopenStatus_t
7810  const miopenTensorDescriptor_t paramInDesc,
7811  void* paramIn,
7812  const miopenTensorDescriptor_t paramOutDesc,
7813  void* paramOut,
7814  const miopenTensorDescriptor_t paramOutFloat16Desc,
7815  void* paramOutFloat16,
7816  const miopenTensorDescriptor_t gradInDesc,
7817  const void* gradIn,
7818  const miopenTensorDescriptor_t expAvgInDesc,
7819  void* expAvgIn,
7820  const miopenTensorDescriptor_t expAvgOutDesc,
7821  void* expAvgOut,
7822  const miopenTensorDescriptor_t expAvgSqInDesc,
7823  void* expAvgSqIn,
7824  const miopenTensorDescriptor_t expAvgSqOutDesc,
7825  void* expAvgSqOut,
7826  const miopenTensorDescriptor_t stateStepInDesc,
7827  void* stateStepIn,
7828  const miopenTensorDescriptor_t stateStepOutDesc,
7829  void* stateStepOut,
7830  const unsigned int state_step,
7831  const float lr,
7832  const float beta1,
7833  const float beta2,
7834  const float weight_decay,
7835  const float eps,
7836  const float step_size,
7837  const bool correct_bias,
7838  const miopenTensorDescriptor_t gradScaleDesc,
7839  const void* gradScale,
7840  const miopenTensorDescriptor_t foundInfDesc,
7841  const void* foundInf);
7842 
7844 // CLOSEOUT SGD DOXYGEN GROUP
7845 #endif // MIOPEN_BETA_API
7846 
7847 #ifdef MIOPEN_BETA_API
7848 // GetItem APIs
7861 MIOPEN_EXPORT miopenStatus_t
7862 miopenGetGetitemWorkspaceSize(miopenHandle_t handle,
7863  uint32_t indexCount,
7864  const miopenTensorDescriptor_t* indexDescs,
7865  size_t* sizeInBytes);
7866 
7891 MIOPEN_EXPORT miopenStatus_t miopenGetitemBackward(miopenHandle_t handle,
7892  void* workspace,
7893  size_t workspaceSizeInBytes,
7894  const miopenTensorDescriptor_t dyDesc,
7895  const void* dy,
7896  uint32_t indexCount,
7897  const miopenTensorDescriptor_t* indexDescs,
7898  const void* const* indexs,
7899  const miopenTensorDescriptor_t dxDesc,
7900  void* dx,
7901  const miopenTensorDescriptor_t errorDesc,
7902  void* error,
7903  uint32_t dimCount,
7904  const int32_t* dims,
7905  uint32_t sliceCount,
7906  const int32_t* slices,
7907  uint32_t offset);
7908 
7910 // CLOSEOUT GETITEM DOXYGEN GROUP
7911 #endif // MIOPEN_BETA_API
7912 
7913 #ifdef MIOPEN_BETA_API
7914 // RotaryPositionalEmbeddings APIs
7932 MIOPEN_EXPORT miopenStatus_t miopenRoPEForward(miopenHandle_t handle,
7933  const miopenTensorDescriptor_t xDesc,
7934  const void* x,
7935  const miopenTensorDescriptor_t cosDesc,
7936  const void* cos,
7937  const miopenTensorDescriptor_t sinDesc,
7938  const void* sin,
7939  const miopenTensorDescriptor_t yDesc,
7940  void* y);
7941 
7955 MIOPEN_EXPORT miopenStatus_t miopenRoPEBackward(miopenHandle_t handle,
7956  const miopenTensorDescriptor_t dyDesc,
7957  const void* dy,
7958  const miopenTensorDescriptor_t cosDesc,
7959  const void* cos,
7960  const miopenTensorDescriptor_t sinDesc,
7961  const void* sin,
7962  const miopenTensorDescriptor_t dxDesc,
7963  void* dx);
7965 // CLOSEOUT ROPE DOXYGEN GROUP
7966 // kthvalue APIs
7987 MIOPEN_EXPORT miopenStatus_t miopenKthvalueForward(miopenHandle_t handle,
7988  miopenTensorDescriptor_t inputDesc,
7989  const void* input,
7990  miopenTensorDescriptor_t outputDesc,
7991  void* output,
7992  miopenTensorDescriptor_t indicesDesc,
7993  size_t* indices,
7994  size_t k,
7995  int32_t dim = -1,
7996  bool keepDim = false);
7997 
7999 // CLOSEOUT kthvalue DOXYGEN GROUP
8000 #endif // MIOPEN_BETA_API
8001 
8002 #ifdef MIOPEN_BETA_API
8016 MIOPEN_EXPORT miopenStatus_t
8018  miopenTensorDescriptor_t inputDesc,
8019  miopenTensorDescriptor_t weightDesc,
8020  size_t* sizeInBytes);
8021 
8038 MIOPEN_EXPORT miopenStatus_t miopenPReLUBackward(miopenHandle_t handle,
8039  void* workspace,
8040  size_t workspaceSizeInBytes,
8041  miopenTensorDescriptor_t inputDesc,
8042  const void* input,
8043  miopenTensorDescriptor_t weightDesc,
8044  const void* weight,
8045  miopenTensorDescriptor_t doutputDesc,
8046  const void* doutput,
8047  miopenTensorDescriptor_t dinputDesc,
8048  void* dinput,
8049  miopenTensorDescriptor_t dweightDesc,
8050  void* dweight);
8051 
8053 // CLOSEOUT RELU DOXYGEN GROUP
8054 #endif // MIOPEN_BETA_API
8055 
8056 #ifdef MIOPEN_BETA_API
8057 
8062 typedef enum
8063 {
8069 
8070 // SoftMarginLoss APIs
8088 MIOPEN_EXPORT miopenStatus_t
8090  miopenTensorDescriptor_t inputDesc,
8091  miopenTensorDescriptor_t targetDesc,
8092  miopenTensorDescriptor_t outputDesc,
8093  miopenLossReductionMode_t reduction,
8094  size_t* sizeInBytes);
8095 
8112 MIOPEN_EXPORT miopenStatus_t miopenSoftMarginLossForward(miopenHandle_t handle,
8113  miopenTensorDescriptor_t inputDesc,
8114  const void* input,
8115  miopenTensorDescriptor_t targetDesc,
8116  const void* target,
8117  miopenTensorDescriptor_t outputDesc,
8118  void* output,
8119  miopenLossReductionMode_t reduction,
8120  void* workspace = nullptr,
8121  size_t workspaceSizeInBytes = 0);
8122 
8137 MIOPEN_EXPORT miopenStatus_t miopenSoftMarginLossBackward(miopenHandle_t handle,
8138  miopenTensorDescriptor_t inputDesc,
8139  const void* input,
8140  miopenTensorDescriptor_t targetDesc,
8141  const void* target,
8142  miopenTensorDescriptor_t doutputDesc,
8143  const void* doutput,
8144  miopenTensorDescriptor_t dinputDesc,
8145  void* dinput,
8146  miopenLossReductionMode_t reduction);
8147 
8149 // CLOSEOUT LossFunction DOXYGEN GROUP
8150 #endif
8151 
8152 #ifdef MIOPEN_BETA_API
8153 // MultiMarginLoss APIs
8177 MIOPEN_EXPORT miopenStatus_t
8179  miopenTensorDescriptor_t inputDesc,
8180  miopenTensorDescriptor_t targetDesc,
8181  miopenTensorDescriptor_t weightDesc,
8182  miopenTensorDescriptor_t outputDesc,
8183  long p,
8184  float margin,
8185  miopenLossReductionMode_t reduction,
8186  size_t* sizeInBytes);
8187 
8215 MIOPEN_EXPORT miopenStatus_t miopenMultiMarginLossForward(miopenHandle_t handle,
8216  miopenTensorDescriptor_t inputDesc,
8217  const void* input,
8218  miopenTensorDescriptor_t targetDesc,
8219  const void* target,
8220  miopenTensorDescriptor_t weightDesc,
8221  const void* weight,
8222  miopenTensorDescriptor_t outputDesc,
8223  void* output,
8224  long p,
8225  float margin,
8226  miopenLossReductionMode_t reduction,
8227  void* workspace,
8228  size_t workspaceSizeInBytes);
8229 
8231 // CLOSEOUT LossFunction DOXYGEN GROUP
8232 #endif // MIOPEN_BETA_API
8233 
8234 #ifdef __cplusplus
8235 }
8236 #endif
8237 
8238 #ifdef __clang__
8239 #pragma clang diagnostic pop
8240 #endif
8241 
8242 #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:3348
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.
@ miopenHorizontalFusion
Definition: miopen.h:3350
@ miopenVerticalFusion
Definition: miopen.h:3349
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:7014
miopenPointwiseMode_t
Intended poinwise math operation for a pointwise operation descriptor.
Definition: miopen.h:6814
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:6521
miopenRngDistribution_t
Distribution for random number generation.
Definition: miopen.h:6990
miopenBackendDescriptorType_t
Descriptor type.
Definition: miopen.h:6478
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.
miopenAlphaBetaCase_t
Definition: miopen.h:6997
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:6775
@ MIOPEN_HEUR_MODE_INSTANT
Definition: miopen.h:7015
@ MIOPEN_HEUR_MODE_A
Definition: miopen.h:7018
@ MIOPEN_HEUR_MODE_B
Definition: miopen.h:7016
@ MIOPEN_HEUR_MODES_COUNT
Definition: miopen.h:7019
@ MIOPEN_HEUR_MODE_FALLBACK
Definition: miopen.h:7017
@ MIOPEN_POINTWISE_SOFTPLUS_FWD
Definition: miopen.h:6902
@ MIOPEN_POINTWISE_ELU_FWD
Definition: miopen.h:6895
@ MIOPEN_POINTWISE_RELU_FWD
Definition: miopen.h:6886
@ MIOPEN_POINTWISE_DIV
Definition: miopen.h:6823
@ MIOPEN_POINTWISE_SIGMOID_BWD
Definition: miopen.h:6920
@ MIOPEN_POINTWISE_POW
Definition: miopen.h:6839
@ MIOPEN_POINTWISE_MOD
Definition: miopen.h:6833
@ MIOPEN_POINTWISE_SQRT
Definition: miopen.h:6872
@ MIOPEN_POINTWISE_BINARY_SELECT
Definition: miopen.h:6977
@ MIOPEN_POINTWISE_GELU_BWD
Definition: miopen.h:6928
@ MIOPEN_POINTWISE_MIN
Definition: miopen.h:6829
@ MIOPEN_POINTWISE_CMP_NEQ
Definition: miopen.h:6947
@ MIOPEN_POINTWISE_FLOOR
Definition: miopen.h:6857
@ MIOPEN_POINTWISE_RSQRT
Definition: miopen.h:6866
@ MIOPEN_POINTWISE_CMP_EQ
Definition: miopen.h:6944
@ MIOPEN_POINTWISE_CMP_GE
Definition: miopen.h:6954
@ MIOPEN_POINTWISE_ADD_SQUARE
Definition: miopen.h:6820
@ MIOPEN_POINTWISE_ERF
Definition: miopen.h:6878
@ MIOPEN_POINTWISE_SWISH_FWD
Definition: miopen.h:6905
@ MIOPEN_POINTWISE_LOG
Definition: miopen.h:6860
@ MIOPEN_POINTWISE_SUB
Definition: miopen.h:6842
@ MIOPEN_POINTWISE_NEG
Definition: miopen.h:6863
@ MIOPEN_POINTWISE_LOGICAL_AND
Definition: miopen.h:6964
@ MIOPEN_POINTWISE_SWISH_BWD
Definition: miopen.h:6934
@ MIOPEN_POINTWISE_GELU_APPROX_TANH_FWD
Definition: miopen.h:6910
@ MIOPEN_POINTWISE_SIN
Definition: miopen.h:6869
@ MIOPEN_POINTWISE_RECIPROCAL
Definition: miopen.h:6981
@ MIOPEN_POINTWISE_GELU_APPROX_TANH_BWD
Definition: miopen.h:6941
@ MIOPEN_POINTWISE_GELU_FWD
Definition: miopen.h:6899
@ MIOPEN_POINTWISE_ABS
Definition: miopen.h:6845
@ MIOPEN_POINTWISE_CMP_LT
Definition: miopen.h:6957
@ MIOPEN_POINTWISE_EXP
Definition: miopen.h:6854
@ MIOPEN_POINTWISE_GEN_INDEX
Definition: miopen.h:6973
@ MIOPEN_POINTWISE_CEIL
Definition: miopen.h:6848
@ MIOPEN_POINTWISE_LOGICAL_NOT
Definition: miopen.h:6970
@ MIOPEN_POINTWISE_SIGMOID_FWD
Definition: miopen.h:6892
@ MIOPEN_POINTWISE_SOFTPLUS_BWD
Definition: miopen.h:6931
@ MIOPEN_POINTWISE_LOGICAL_OR
Definition: miopen.h:6967
@ MIOPEN_POINTWISE_TAN
Definition: miopen.h:6875
@ MIOPEN_POINTWISE_ELU_BWD
Definition: miopen.h:6924
@ MIOPEN_POINTWISE_IDENTITY
Definition: miopen.h:6883
@ MIOPEN_POINTWISE_CMP_LE
Definition: miopen.h:6961
@ MIOPEN_POINTWISE_COS
Definition: miopen.h:6851
@ MIOPEN_POINTWISE_TANH_BWD
Definition: miopen.h:6917
@ MIOPEN_POINTWISE_MUL
Definition: miopen.h:6836
@ MIOPEN_POINTWISE_TANH_FWD
Definition: miopen.h:6889
@ MIOPEN_POINTWISE_RELU_BWD
Definition: miopen.h:6914
@ MIOPEN_POINTWISE_ADD
Definition: miopen.h:6816
@ MIOPEN_POINTWISE_MAX
Definition: miopen.h:6826
@ MIOPEN_POINTWISE_CMP_GT
Definition: miopen.h:6950
@ MIOPEN_ATTR_OPERATION_NORM_BWD_MODE
Definition: miopen.h:6738
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_FORWARD_W
Definition: miopen.h:6568
@ MIOPEN_ATTR_RESAMPLE_NAN_PROPAGATION
Definition: miopen.h:6692
@ MIOPEN_ATTR_OPERATION_RESAMPLE_FWD_XDESC
Definition: miopen.h:6695
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_W
Definition: miopen.h:6574
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_FORWARD_ALPHA
Definition: miopen.h:6565
@ MIOPEN_ATTR_OPERATION_SIGNAL_MODE
Definition: miopen.h:6716
@ MIOPEN_ATTR_OPERATION_RNG_DESC
Definition: miopen.h:6762
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_FORWARD_BETA
Definition: miopen.h:6566
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_DBN_SCALE_DESC
Definition: miopen.h:6679
@ MIOPEN_ATTR_OPERATION_NORM_BWD_INV_VARIANCE_DESC
Definition: miopen.h:6741
@ MIOPEN_ATTR_OPERATION_NORM_FWD_EPSILON_DESC
Definition: miopen.h:6729
@ MIOPEN_ATTR_OPERATIONGRAPH_OPS
Definition: miopen.h:6618
@ MIOPEN_ATTR_KNOB_INFO_MAXIMUM_VALUE
Definition: miopen.h:6642
@ MIOPEN_ATTR_CONVOLUTION_POST_PADDINGS
Definition: miopen.h:6537
@ MIOPEN_ATTR_OPERATION_SIGNAL_YDESC
Definition: miopen.h:6720
@ MIOPEN_ATTR_OPERATION_NORM_BWD_DSCALE_DESC
Definition: miopen.h:6745
@ MIOPEN_ATTR_OPERATION_NORM_BWD_PEER_STAT_DESCS
Definition: miopen.h:6748
@ MIOPEN_ATTR_OPERATION_RESAMPLE_BWD_YDESC
Definition: miopen.h:6709
@ MIOPEN_ATTR_CONVOLUTION_PRE_PADDINGS
Definition: miopen.h:6538
@ MIOPEN_ATTR_REDUCTION_OPERATOR
Definition: miopen.h:6666
@ MIOPEN_ATTR_OPERATION_MATMUL_DESC
Definition: miopen.h:6660
@ MIOPEN_ATTR_CONVOLUTION_DILATIONS
Definition: miopen.h:6535
@ MIOPEN_ATTR_OPERATION_RESAMPLE_BWD_DYDESC
Definition: miopen.h:6703
@ MIOPEN_ATTR_OPERATION_POINTWISE_ALPHA1
Definition: miopen.h:6587
@ MIOPEN_ATTR_RESAMPLE_SPATIAL_DIMS
Definition: miopen.h:6687
@ MIOPEN_ATTR_EXECUTION_PLAN_COMPUTED_INTERMEDIATE_UIDS
Definition: miopen.h:6553
@ MIOPEN_ATTR_OPERATION_NORM_FWD_MEAN_DESC
Definition: miopen.h:6725
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_UPDATED_RUNNING_MEAN_DESC
Definition: miopen.h:6607
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_INVSTD_DESC
Definition: miopen.h:6675
@ MIOPEN_ATTR_KNOB_INFO_TYPE
Definition: miopen.h:6641
@ MIOPEN_ATTR_LAYOUT_INFO_TYPES
Definition: miopen.h:6639
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_Y_SUM_DESC
Definition: miopen.h:6601
@ MIOPEN_ATTR_OPERATIONGRAPH_HANDLE
Definition: miopen.h:6617
@ MIOPEN_ATTR_OPERATION_NORM_BWD_DYDESC
Definition: miopen.h:6742
@ MIOPEN_ATTR_RNG_UNIFORM_DIST_MINIMUM
Definition: miopen.h:6757
@ MIOPEN_ATTR_POINTWISE_MATH_PREC
Definition: miopen.h:6523
@ MIOPEN_ATTR_OPERATION_MATMUL_GEMM_N_OVERRIDE_DESC
Definition: miopen.h:6663
@ MIOPEN_ATTR_OPERATION_GENSTATS_MODE
Definition: miopen.h:6593
@ MIOPEN_ATTR_KNOB_CHOICE_KNOB_VALUE
Definition: miopen.h:6563
@ MIOPEN_ATTR_VARIANT_PACK_INTERMEDIATES
Definition: miopen.h:6635
@ MIOPEN_ATTR_OPERATION_REDUCTION_YDESC
Definition: miopen.h:6670
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_BETA
Definition: miopen.h:6578
@ MIOPEN_ATTR_VARIANT_PACK_WORKSPACE
Definition: miopen.h:6636
@ MIOPEN_ATTR_TENSOR_IS_BY_VALUE
Definition: miopen.h:6629
@ MIOPEN_ATTR_OPERATION_NORM_FWD_MODE
Definition: miopen.h:6722
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_FORWARD_CONV_DESC
Definition: miopen.h:6567
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_STATS_MODE
Definition: miopen.h:6599
@ MIOPEN_ATTR_OPERATION_NORM_FWD_INPUT_RUNNING_VAR_DESC
Definition: miopen.h:6732
@ MIOPEN_ATTR_OPERATION_RESHAPE_XDESC
Definition: miopen.h:6750
@ MIOPEN_ATTR_OPERATION_RESAMPLE_BWD_XDESC
Definition: miopen.h:6708
@ MIOPEN_ATTR_OPERATION_POINTWISE_XDESC
Definition: miopen.h:6584
@ MIOPEN_ATTR_VARIANT_PACK_UNIQUE_IDS
Definition: miopen.h:6633
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_DY_DESC
Definition: miopen.h:6678
@ MIOPEN_ATTR_OPERATION_RESAMPLE_FWD_ALPHA
Definition: miopen.h:6698
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_SCALE_DESC
Definition: miopen.h:6603
@ MIOPEN_ATTR_OPERATION_SIGNAL_VALUE
Definition: miopen.h:6718
@ MIOPEN_ATTR_OPERATION_SIGNAL_FLAGDESC
Definition: miopen.h:6717
@ MIOPEN_ATTR_OPERATION_POINTWISE_TDESC
Definition: miopen.h:6591
@ MIOPEN_ATTR_ENGINEHEUR_RESULTS
Definition: miopen.h:6543
@ MIOPEN_ATTR_TENSOR_BYTE_ALIGNMENT
Definition: miopen.h:6621
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_X
Definition: miopen.h:6581
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_ACCUM_COUNT_DESC
Definition: miopen.h:6613
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_EQ_BIAS
Definition: miopen.h:6683
@ MIOPEN_ATTR_OPERATION_GENSTATS_MATH_PREC
Definition: miopen.h:6594
@ MIOPEN_ATTR_OPERATION_NORM_FWD_INPUT_RUNNING_MEAN_DESC
Definition: miopen.h:6731
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_EQ_SCALE_DESC
Definition: miopen.h:6611
@ MIOPEN_ATTR_EXECUTION_PLAN_HANDLE
Definition: miopen.h:6550
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_X_DESC
Definition: miopen.h:6677
@ MIOPEN_ATTR_OPERATION_CONCAT_OUTPUT_DESC
Definition: miopen.h:6714
@ MIOPEN_ATTR_OPERATION_NORM_BWD_EPSILON_DESC
Definition: miopen.h:6744
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_BETA
Definition: miopen.h:6572
@ MIOPEN_ATTR_EXECUTION_PLAN_WORKSPACE_SIZE
Definition: miopen.h:6552
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DX
Definition: miopen.h:6575
@ MIOPEN_ATTR_TENSOR_VECTOR_COUNT
Definition: miopen.h:6625
@ MIOPEN_ATTR_OPERATION_MATMUL_CDESC
Definition: miopen.h:6659
@ MIOPEN_ATTR_REDUCTION_COMP_TYPE
Definition: miopen.h:6667
@ MIOPEN_ATTR_OPERATION_RESAMPLE_BWD_BETA
Definition: miopen.h:6706
@ MIOPEN_ATTR_TENSOR_VECTORIZED_DIMENSION
Definition: miopen.h:6626
@ MIOPEN_ATTR_TENSOR_DIMENSIONS
Definition: miopen.h:6623
@ MIOPEN_ATTR_OPERATION_GENSTATS_SUMDESC
Definition: miopen.h:6596
@ MIOPEN_ATTR_OPERATION_CONCAT_INPLACE_INDEX
Definition: miopen.h:6713
@ MIOPEN_ATTR_OPERATION_POINTWISE_ALPHA2
Definition: miopen.h:6588
@ MIOPEN_ATTR_ENGINE_NUMERICAL_NOTE
Definition: miopen.h:6649
@ MIOPEN_ATTR_ENGINE_BEHAVIOR_NOTE
Definition: miopen.h:6651
@ MIOPEN_ATTR_EXECUTION_PLAN_JSON_REPRESENTATION
Definition: miopen.h:6555
@ MIOPEN_ATTR_RESAMPLE_STRIDES
Definition: miopen.h:6690
@ MIOPEN_ATTR_POINTWISE_ELU_ALPHA
Definition: miopen.h:6528
@ MIOPEN_ATTR_OPERATION_NORM_FWD_OUTPUT_RUNNING_VAR_DESC
Definition: miopen.h:6734
@ MIOPEN_ATTR_OPERATION_RESAMPLE_BWD_IDXDESC
Definition: miopen.h:6704
@ MIOPEN_ATTR_OPERATION_RNG_SEED
Definition: miopen.h:6761
@ MIOPEN_ATTR_OPERATION_NORM_BWD_XDESC
Definition: miopen.h:6739
@ MIOPEN_ATTR_OPERATION_POINTWISE_DXDESC
Definition: miopen.h:6589
@ MIOPEN_ATTR_OPERATION_CONCAT_INPUT_DESCS
Definition: miopen.h:6712
@ MIOPEN_ATTR_RESAMPLE_MODE
Definition: miopen.h:6685
@ MIOPEN_ATTR_RNG_DISTRIBUTION
Definition: miopen.h:6753
@ MIOPEN_ATTR_OPERATION_NORM_BWD_MEAN_DESC
Definition: miopen.h:6740
@ MIOPEN_ATTR_OPERATION_MATMUL_GEMM_M_OVERRIDE_DESC
Definition: miopen.h:6662
@ MIOPEN_ATTR_OPERATION_NORM_FWD_PHASE
Definition: miopen.h:6723
@ MIOPEN_ATTR_POINTWISE_RELU_LOWER_CLIP_SLOPE
Definition: miopen.h:6527
@ MIOPEN_ATTR_OPERATION_RESHAPE_YDESC
Definition: miopen.h:6751
@ MIOPEN_ATTR_VARIANT_PACK_DATA_POINTERS
Definition: miopen.h:6634
@ MIOPEN_ATTR_POINTWISE_AXIS
Definition: miopen.h:6531
@ MIOPEN_ATTR_OPERATION_NORM_FWD_YDESC
Definition: miopen.h:6735
@ MIOPEN_ATTR_POINTWISE_RELU_LOWER_CLIP
Definition: miopen.h:6525
@ MIOPEN_ATTR_ENGINE_OPERATION_GRAPH
Definition: miopen.h:6646
@ MIOPEN_ATTR_OPERATION_MATMUL_BDESC
Definition: miopen.h:6658
@ MIOPEN_ATTR_TENSOR_DATA_TYPE
Definition: miopen.h:6622
@ MIOPEN_ATTR_OPERATION_SIGNAL_XDESC
Definition: miopen.h:6719
@ MIOPEN_ATTR_KNOB_INFO_MINIMUM_VALUE
Definition: miopen.h:6643
@ MIOPEN_ATTR_OPERATION_NORM_FWD_BIAS_DESC
Definition: miopen.h:6728
@ MIOPEN_ATTR_OPERATION_RESAMPLE_FWD_DESC
Definition: miopen.h:6700
@ MIOPEN_ATTR_RESAMPLE_PRE_PADDINGS
Definition: miopen.h:6689
@ MIOPEN_ATTR_MATMUL_COMP_TYPE
Definition: miopen.h:6654
@ MIOPEN_ATTR_TENSOR_UNIQUE_ID
Definition: miopen.h:6627
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_EQ_DY_SCALE_DESC
Definition: miopen.h:6681
@ MIOPEN_ATTR_OPERATION_CONCAT_AXIS
Definition: miopen.h:6711
@ MIOPEN_ATTR_OPERATION_RNG_YDESC
Definition: miopen.h:6760
@ MIOPEN_ATTR_ENGINE_GLOBAL_INDEX
Definition: miopen.h:6647
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_CONV_DESC
Definition: miopen.h:6573
@ MIOPEN_ATTR_ENGINEHEUR_OPERATION_GRAPH
Definition: miopen.h:6542
@ MIOPEN_ATTR_TENSOR_RAGGED_OFFSET_DESC
Definition: miopen.h:6631
@ MIOPEN_ATTR_POINTWISE_SOFTPLUS_BETA
Definition: miopen.h:6529
@ MIOPEN_ATTR_TENSOR_IS_VIRTUAL
Definition: miopen.h:6628
@ MIOPEN_ATTR_ENGINECFG_KNOB_CHOICES
Definition: miopen.h:6548
@ MIOPEN_ATTR_MATMUL_PADDING_VALUE
Definition: miopen.h:6655
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_EXP_AVERATE_FACTOR_DESC
Definition: miopen.h:6615
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_SAVED_INV_STD_DESC
Definition: miopen.h:6610
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_FORWARD_X
Definition: miopen.h:6569
@ MIOPEN_ATTR_KNOB_INFO_STRIDE
Definition: miopen.h:6644
@ MIOPEN_ATTR_RESAMPLE_WINDOW_DIMS
Definition: miopen.h:6691
@ MIOPEN_ATTR_OPERATION_POINTWISE_YDESC
Definition: miopen.h:6586
@ MIOPEN_ATTR_OPERATION_RESAMPLE_FWD_YDESC
Definition: miopen.h:6696
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_BN_SCALE_DESC
Definition: miopen.h:6676
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DY
Definition: miopen.h:6576
@ MIOPEN_ATTR_CONVOLUTION_CONV_MODE
Definition: miopen.h:6534
@ MIOPEN_ATTR_OPERATION_REDUCTION_XDESC
Definition: miopen.h:6669
@ MIOPEN_ATTR_EXECUTION_PLAN_RUN_ONLY_INTERMEDIATE_UIDS
Definition: miopen.h:6554
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_MATH_PREC
Definition: miopen.h:6600
@ MIOPEN_ATTR_ENGINE_SM_COUNT_TARGET
Definition: miopen.h:6652
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_EQ_BIAS_DESC
Definition: miopen.h:6612
@ MIOPEN_ATTR_KNOB_CHOICE_KNOB_TYPE
Definition: miopen.h:6562
@ MIOPEN_ATTR_OPERATION_RESAMPLE_BWD_DXDESC
Definition: miopen.h:6702
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_PREV_RUNNING_MEAN_DESC
Definition: miopen.h:6605
@ MIOPEN_ATTR_OPERATION_POINTWISE_DYDESC
Definition: miopen.h:6590
@ MIOPEN_ATTR_OPERATION_NORM_FWD_EXP_AVG_FACTOR_DESC
Definition: miopen.h:6730
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_EQ_X_SCALE_DESC
Definition: miopen.h:6682
@ MIOPEN_ATTR_OPERATION_RNG_OFFSET_DESC
Definition: miopen.h:6763
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_FORWARD_Y
Definition: miopen.h:6570
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_PREV_RUNNING_VAR_DESC
Definition: miopen.h:6606
@ MIOPEN_ATTR_ENGINE_LAYOUT_INFO
Definition: miopen.h:6650
@ MIOPEN_ATTR_INTERMEDIATE_INFO_UNIQUE_ID
Definition: miopen.h:6557
@ MIOPEN_ATTR_CONVOLUTION_COMP_TYPE
Definition: miopen.h:6533
@ MIOPEN_ATTR_RESAMPLE_COMP_TYPE
Definition: miopen.h:6686
@ MIOPEN_ATTR_ENGINECFG_ENGINE
Definition: miopen.h:6546
@ MIOPEN_ATTR_RESAMPLE_POST_PADDINGS
Definition: miopen.h:6688
@ MIOPEN_ATTR_RESAMPLE_PADDING_MODE
Definition: miopen.h:6693
@ MIOPEN_ATTR_CONVOLUTION_SPATIAL_DIMS
Definition: miopen.h:6539
@ MIOPEN_ATTR_OPERATION_NORM_FWD_OUTPUT_RUNNING_MEAN_DESC
Definition: miopen.h:6733
@ MIOPEN_ATTR_OPERATION_GENSTATS_XDESC
Definition: miopen.h:6595
@ MIOPEN_ATTR_OPERATION_NORM_FWD_INV_VARIANCE_DESC
Definition: miopen.h:6726
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_Y_SQ_SUM_DESC
Definition: miopen.h:6602
@ MIOPEN_ATTR_ENGINE_KNOB_INFO
Definition: miopen.h:6648
@ MIOPEN_ATTR_OPERATION_MATMUL_IRREGULARLY_STRIDED_BATCH_COUNT
Definition: miopen.h:6661
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DW
Definition: miopen.h:6580
@ MIOPEN_ATTR_TENSOR_REORDERING_MODE
Definition: miopen.h:6630
@ MIOPEN_ATTR_INTERMEDIATE_INFO_SIZE
Definition: miopen.h:6558
@ MIOPEN_ATTR_OPERATION_MATMUL_GEMM_K_OVERRIDE_DESC
Definition: miopen.h:6664
@ MIOPEN_ATTR_OPERATION_POINTWISE_PW_DESCRIPTOR
Definition: miopen.h:6583
@ MIOPEN_ATTR_RNG_NORMAL_DIST_STANDARD_DEVIATION
Definition: miopen.h:6755
@ MIOPEN_ATTR_INTERMEDIATE_INFO_DEPENDENT_DATA_UIDS
Definition: miopen.h:6559
@ MIOPEN_ATTR_LAYOUT_INFO_TENSOR_UID
Definition: miopen.h:6638
@ MIOPEN_ATTR_ENGINEHEUR_MODE
Definition: miopen.h:6541
@ MIOPEN_ATTR_OPERATION_RESAMPLE_BWD_ALPHA
Definition: miopen.h:6705
@ MIOPEN_ATTR_OPERATION_RESAMPLE_BWD_DESC
Definition: miopen.h:6707
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_EPSILON_DESC
Definition: miopen.h:6614
@ MIOPEN_ATTR_OPERATION_POINTWISE_BDESC
Definition: miopen.h:6585
@ MIOPEN_ATTR_POINTWISE_MODE
Definition: miopen.h:6522
@ MIOPEN_ATTR_ENGINECFG_INTERMEDIATE_INFO
Definition: miopen.h:6547
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DY
Definition: miopen.h:6582
@ MIOPEN_ATTR_OPERATION_NORM_BWD_DXDESC
Definition: miopen.h:6747
@ MIOPEN_ATTR_POINTWISE_NAN_PROPAGATION
Definition: miopen.h:6524
@ MIOPEN_ATTR_INTERMEDIATE_INFO_DEPENDENT_ATTRIBUTES
Definition: miopen.h:6560
@ MIOPEN_ATTR_POINTWISE_RELU_UPPER_CLIP
Definition: miopen.h:6526
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_DBN_BIAS_DESC
Definition: miopen.h:6680
@ MIOPEN_ATTR_RNG_BERNOULLI_DIST_PROBABILITY
Definition: miopen.h:6758
@ MIOPEN_ATTR_ENGINEHEUR_SM_COUNT_TARGET
Definition: miopen.h:6544
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_BIAS_DESC
Definition: miopen.h:6604
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_UPDATED_RUNNING_VAR_DESC
Definition: miopen.h:6608
@ MIOPEN_ATTR_RNG_NORMAL_DIST_MEAN
Definition: miopen.h:6754
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_MATH_PREC
Definition: miopen.h:6673
@ MIOPEN_ATTR_OPERATION_BN_BWD_WEIGHTS_MEAN_DESC
Definition: miopen.h:6674
@ MIOPEN_ATTR_OPERATION_NORM_FWD_PEER_STAT_DESCS
Definition: miopen.h:6736
@ MIOPEN_ATTR_OPERATION_NORM_FWD_SCALE_DESC
Definition: miopen.h:6727
@ MIOPEN_ATTR_OPERATION_GENSTATS_SQSUMDESC
Definition: miopen.h:6597
@ MIOPEN_ATTR_EXECUTION_PLAN_ENGINE_CONFIG
Definition: miopen.h:6551
@ MIOPEN_ATTR_OPERATION_RESAMPLE_FWD_BETA
Definition: miopen.h:6699
@ MIOPEN_ATTR_OPERATION_NORM_BWD_DBIAS_DESC
Definition: miopen.h:6746
@ MIOPEN_ATTR_OPERATION_NORM_BWD_SCALE_DESC
Definition: miopen.h:6743
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_ALPHA
Definition: miopen.h:6571
@ MIOPEN_ATTR_RNG_UNIFORM_DIST_MAXIMUM
Definition: miopen.h:6756
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_CONV_DESC
Definition: miopen.h:6579
@ MIOPEN_ATTR_TENSOR_STRIDES
Definition: miopen.h:6624
@ MIOPEN_ATTR_CONVOLUTION_FILTER_STRIDES
Definition: miopen.h:6536
@ MIOPEN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_ALPHA
Definition: miopen.h:6577
@ MIOPEN_ATTR_POINTWISE_SWISH_BETA
Definition: miopen.h:6530
@ MIOPEN_ATTR_OPERATION_RESAMPLE_FWD_IDXDESC
Definition: miopen.h:6697
@ MIOPEN_ATTR_OPERATION_REDUCTION_DESC
Definition: miopen.h:6671
@ MIOPEN_ATTR_OPERATION_NORM_FWD_XDESC
Definition: miopen.h:6724
@ MIOPEN_ATTR_OPERATION_MATMUL_ADESC
Definition: miopen.h:6657
@ MIOPEN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT
Definition: miopen.h:6619
@ MIOPEN_ATTR_OPERATION_BN_FINALIZE_SAVED_MEAN_DESC
Definition: miopen.h:6609
@ MIOPEN_RNG_DISTRIBUTION_BERNOULLI
Definition: miopen.h:6991
@ MIOPEN_RNG_DISTRIBUTION_UNIFORM
Definition: miopen.h:6992
@ MIOPEN_RNG_DISTRIBUTION_NORMAL
Definition: miopen.h:6993
@ MIOPEN_BACKEND_OPERATION_CONCAT_DESCRIPTOR
Definition: miopen.h:6489
@ MIOPEN_BACKEND_RESAMPLE_DESCRIPTOR
Definition: miopen.h:6507
@ MIOPEN_BACKEND_ENGINECFG_DESCRIPTOR
Definition: miopen.h:6481
@ MIOPEN_BACKEND_POINTWISE_DESCRIPTOR
Definition: miopen.h:6505
@ MIOPEN_BACKEND_OPERATION_RESAMPLE_FWD_DESCRIPTOR
Definition: miopen.h:6500
@ MIOPEN_BACKEND_CONVOLUTION_DESCRIPTOR
Definition: miopen.h:6479
@ MIOPEN_BACKEND_OPERATION_RNG_DESCRIPTOR
Definition: miopen.h:6502
@ MIOPEN_BACKEND_KNOB_INFO_DESCRIPTOR
Definition: miopen.h:6486
@ MIOPEN_BACKEND_RNG_DESCRIPTOR
Definition: miopen.h:6508
@ MIOPEN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR
Definition: miopen.h:6497
@ MIOPEN_BACKEND_OPERATION_NORM_FORWARD_DESCRIPTOR
Definition: miopen.h:6496
@ MIOPEN_BACKEND_ENGINEHEUR_DESCRIPTOR
Definition: miopen.h:6482
@ MIOPEN_BACKEND_OPERATION_RESHAPE_DESCRIPTOR
Definition: miopen.h:6501
@ MIOPEN_BACKEND_LAYOUT_INFO_DESCRIPTOR
Definition: miopen.h:6487
@ MIOPEN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR
Definition: miopen.h:6498
@ MIOPEN_BACKEND_TENSOR_DESCRIPTOR
Definition: miopen.h:6509
@ MIOPEN_BACKEND_OPERATION_RESAMPLE_BWD_DESCRIPTOR
Definition: miopen.h:6499
@ MIOPEN_BACKEND_OPERATIONGRAPH_DESCRIPTOR
Definition: miopen.h:6504
@ MIOPEN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR
Definition: miopen.h:6492
@ MIOPEN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR
Definition: miopen.h:6491
@ MIOPEN_BACKEND_INTERMEDIATE_INFO_DESCRIPTOR
Definition: miopen.h:6484
@ MIOPEN_BACKEND_ENGINE_DESCRIPTOR
Definition: miopen.h:6480
@ MIOPEN_BACKEND_MATMUL_DESCRIPTOR
Definition: miopen.h:6488
@ MIOPEN_BACKEND_OPERATION_GEN_STATS_DESCRIPTOR
Definition: miopen.h:6493
@ MIOPEN_BACKEND_VARIANT_PACK_DESCRIPTOR
Definition: miopen.h:6510
@ MIOPEN_BACKEND_REDUCTION_DESCRIPTOR
Definition: miopen.h:6506
@ MIOPEN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR
Definition: miopen.h:6490
@ MIOPEN_BACKEND_OPERATION_MATMUL_DESCRIPTOR
Definition: miopen.h:6494
@ MIOPEN_BACKEND_OPERATION_NORM_BACKWARD_DESCRIPTOR
Definition: miopen.h:6495
@ MIOPEN_BACKEND_OPERATION_SIGNAL_DESCRIPTOR
Definition: miopen.h:6503
@ MIOPEN_BACKEND_EXECUTION_PLAN_DESCRIPTOR
Definition: miopen.h:6483
@ MIOPEN_BACKEND_KNOB_CHOICE_DESCRIPTOR
Definition: miopen.h:6485
@ SCALE
Definition: miopen.h:7004
@ BILINEAR
Definition: miopen.h:7005
@ DEFAULT
Definition: miopen.h:7003
@ ERROR_STATE
Definition: miopen.h:7006
@ MIOPEN_TYPE_RNG_DISTRIBUTION
Definition: miopen.h:6805
@ MIOPEN_TYPE_FLOAT
Definition: miopen.h:6780
@ MIOPEN_TYPE_NUMERICAL_NOTE
Definition: miopen.h:6787
@ MIOPEN_TYPE_RESAMPLE_MODE
Definition: miopen.h:6797
@ MIOPEN_TYPE_INT32
Definition: miopen.h:6799
@ MIOPEN_TYPE_POINTWISE_MODE
Definition: miopen.h:6790
@ MIOPEN_TYPE_HANDLE
Definition: miopen.h:6776
@ MIOPEN_TYPE_HEUR_MODE
Definition: miopen.h:6784
@ MIOPEN_TYPE_CONVOLUTION_MODE
Definition: miopen.h:6783
@ MIOPEN_TYPE_TENSOR_REORDERING_MODE
Definition: miopen.h:6796
@ MIOPEN_TYPE_BOOLEAN
Definition: miopen.h:6778
@ MIOPEN_TYPE_NORM_MODE
Definition: miopen.h:6803
@ MIOPEN_TYPE_FRACTION
Definition: miopen.h:6802
@ MIOPEN_TYPE_BACKEND_DESCRIPTOR
Definition: miopen.h:6791
@ MIOPEN_TYPE_ATTRIB_NAME
Definition: miopen.h:6789
@ MIOPEN_TYPE_BEHAVIOR_NOTE
Definition: miopen.h:6795
@ MIOPEN_TYPE_DATA_TYPE
Definition: miopen.h:6777
@ MIOPEN_TYPE_NAN_PROPOGATION
Definition: miopen.h:6786
@ MIOPEN_TYPE_DOUBLE
Definition: miopen.h:6781
@ MIOPEN_TYPE_SIGNAL_MODE
Definition: miopen.h:6801
@ MIOPEN_TYPE_CHAR
Definition: miopen.h:6800
@ MIOPEN_TYPE_PADDING_MODE
Definition: miopen.h:6798
@ MIOPEN_TYPE_INT64
Definition: miopen.h:6779
@ MIOPEN_TYPE_REDUCTION_OPERATOR_TYPE
Definition: miopen.h:6794
@ MIOPEN_TYPE_LAYOUT_TYPE
Definition: miopen.h:6788
@ MIOPEN_TYPE_GENSTATS_MODE
Definition: miopen.h:6792
@ MIOPEN_TYPE_VOID_PTR
Definition: miopen.h:6782
@ MIOPEN_TYPE_BN_FINALIZE_STATS_MODE
Definition: miopen.h:6793
@ MIOPEN_TYPE_KNOB_TYPE
Definition: miopen.h:6785
@ MIOPEN_TYPE_NORM_FWD_PHASE
Definition: miopen.h:6804
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.
miopenLRNMode_t
Definition: miopen.h:480
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 miopenGetSoftMarginLossForwardWorkspaceSize(miopenHandle_t handle, miopenTensorDescriptor_t inputDesc, miopenTensorDescriptor_t targetDesc, miopenTensorDescriptor_t outputDesc, miopenLossReductionMode_t reduction, size_t *sizeInBytes)
Helper function to query the minimum workspace size required by the SoftMarginLossForward call.
miopenLossReductionMode_t
Definition: miopen.h:8063
miopenStatus_t miopenGetMultiMarginLossForwardWorkspaceSize(miopenHandle_t handle, miopenTensorDescriptor_t inputDesc, miopenTensorDescriptor_t targetDesc, miopenTensorDescriptor_t weightDesc, miopenTensorDescriptor_t outputDesc, long p, float margin, miopenLossReductionMode_t reduction, size_t *sizeInBytes)
Helper function to query the minimum workspace size required by the MultiMarginLossForward call.
miopenCTCLossAlgo_t
Definition: miopen.h:5178
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 miopenMultiMarginLossForward(miopenHandle_t handle, miopenTensorDescriptor_t inputDesc, const void *input, miopenTensorDescriptor_t targetDesc, const void *target, miopenTensorDescriptor_t weightDesc, const void *weight, miopenTensorDescriptor_t outputDesc, void *output, long p, float margin, miopenLossReductionMode_t reduction, void *workspace, size_t workspaceSizeInBytes)
Execute a MultiMarginLoss forward layer.
miopenStatus_t miopenSoftMarginLossBackward(miopenHandle_t handle, miopenTensorDescriptor_t inputDesc, const void *input, miopenTensorDescriptor_t targetDesc, const void *target, miopenTensorDescriptor_t doutputDesc, const void *doutput, miopenTensorDescriptor_t dinputDesc, void *dinput, miopenLossReductionMode_t reduction)
Execute a SoftMarginLoss backward layer.
miopenStatus_t miopenSoftMarginLossForward(miopenHandle_t handle, miopenTensorDescriptor_t inputDesc, const void *input, miopenTensorDescriptor_t targetDesc, const void *target, miopenTensorDescriptor_t outputDesc, void *output, miopenLossReductionMode_t reduction, void *workspace=nullptr, size_t workspaceSizeInBytes=0)
Execute a SoftMarginLoss forward layer.
miopenStatus_t miopenDestroyCTCLossDescriptor(miopenCTCLossDescriptor_t ctcLossDesc)
Destroys a CTC loss function descriptor object.
@ MIOPEN_CTC_LOSS_ALGO_DETERMINISTIC
Definition: miopen.h:5179
miopenRNNMode_t
Definition: miopen.h:3783
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 ...
miopenRNNInputMode_t
Definition: miopen.h:3794
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.
miopenRNNDirectionMode_t
Definition: miopen.h:3816
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.
miopenRNNBiasMode_t
Definition: miopen.h:3825
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.
miopenRNNBaseLayout_t
Definition: miopen.h:3860
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.
miopenRNNAlgo_t
Definition: miopen.h:3803
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.
miopenRNNFWDMode_t
Definition: miopen.h:3851
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.
miopenRNNGEMMalgoMode_t
Definition: miopen.h:3834
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.
miopenRNNPaddingMode_t
Definition: miopen.h:3842
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.
@ miopenRNNTANH
Definition: miopen.h:3785
@ miopenLSTM
Definition: miopen.h:3786
@ miopenGRU
Definition: miopen.h:3787
@ miopenRNNRELU
Definition: miopen.h:3784
@ miopenRNNlinear
Definition: miopen.h:3795
@ miopenRNNskip
Definition: miopen.h:3796
@ miopenRNNbidirection
Definition: miopen.h:3818
@ miopenRNNunidirection
Definition: miopen.h:3817
@ miopenRNNwithBias
Definition: miopen.h:3827
@ miopenRNNNoBias
Definition: miopen.h:3826
@ miopenRNNDataSeqMajorPadded
Definition: miopen.h:3863
@ miopenRNNDataSeqMajorNotPadded
Definition: miopen.h:3862
@ miopenRNNDataBatchMajorPadded
Definition: miopen.h:3864
@ miopenRNNDataUnknownLayout
Definition: miopen.h:3861
@ miopenRNNroundedDynamic
Definition: miopen.h:3808
@ miopenRNNfundamental
Definition: miopen.h:3806
@ miopenRNNdefault
Definition: miopen.h:3804
@ miopenRNNTraining
Definition: miopen.h:3852
@ miopenRNNInference
Definition: miopen.h:3853
@ miopenRNNAlgoGEMM
Definition: miopen.h:3835
@ miopenRNNIOWithPadding
Definition: miopen.h:3844
@ miopenRNNIONotPadded
Definition: miopen.h:3843
miopenStatus_t miopenGetPReLUBackwardWorkspaceSize(miopenHandle_t handle, miopenTensorDescriptor_t inputDesc, miopenTensorDescriptor_t weightDesc, size_t *sizeInBytes)
Helper function to query the minimum workspace size required by the PReLU backward call.
miopenStatus_t miopenPReLUBackward(miopenHandle_t handle, void *workspace, size_t workspaceSizeInBytes, miopenTensorDescriptor_t inputDesc, const void *input, miopenTensorDescriptor_t weightDesc, const void *weight, miopenTensorDescriptor_t doutputDesc, const void *doutput, miopenTensorDescriptor_t dinputDesc, void *dinput, miopenTensorDescriptor_t dweightDesc, void *dweight)
Execute a PReLU backward 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.
miopenReduceExtremeOp_t
Definition: miopen.h:6222
miopenStatus_t miopenRoPEBackward(miopenHandle_t handle, const miopenTensorDescriptor_t dyDesc, const void *dy, const miopenTensorDescriptor_t cosDesc, const void *cos, const miopenTensorDescriptor_t sinDesc, const void *sin, const miopenTensorDescriptor_t dxDesc, void *dx)
Execute a rope backward layer.
miopenStatus_t miopenRoPEForward(miopenHandle_t handle, const miopenTensorDescriptor_t xDesc, const void *x, const miopenTensorDescriptor_t cosDesc, const void *cos, const miopenTensorDescriptor_t sinDesc, const void *sin, const miopenTensorDescriptor_t yDesc, void *y)
Execute a rope forward layer.
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 miopenTransformersAdamW(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 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 correct_bias, const miopenTensorDescriptor_t gradScaleDesc, const void *gradScale, const miopenTensorDescriptor_t foundInfDesc, const void *foundInf)
Implements Adam algorithm with weight decay fix as introduced in Decoupled Weight Decay Regularizatio...
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 miopenTransformersAdamWWithOutput(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 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 float step_size, const bool correct_bias, 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.
miopenReduceTensorIndices_t
Definition: miopen.h:607
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.
miopenReduceTensorOp_t
Definition: miopen.h:572
miopenIndicesType_t
Definition: miopen.h:617
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 miopenGLUBackward(miopenHandle_t handle, const miopenTensorDescriptor_t inputDesc, const void *input, const miopenTensorDescriptor_t outputGradDesc, const void *outputGrad, const miopenTensorDescriptor_t inputGradDesc, void *inputGrad, const uint32_t dim)
Execute a GLU backward 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.
miopenActivationMode_t
Definition: miopen.h:519
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 miopenGLUForward(miopenHandle_t handle, const miopenTensorDescriptor_t inputDesc, const void *input, const miopenTensorDescriptor_t outputDesc, void *output, const uint32_t dim)
Execute a GLU forward layer.
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 miopenBatchNormalizationForwardInference_V2(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 scaleDesc, const miopenTensorDescriptor_t biasDesc, const miopenTensorDescriptor_t estMeanDesc, const miopenTensorDescriptor_t estVarianceDesc, 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 miopenBatchNormalizationForwardTraining_V2(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 scaleDesc, const miopenTensorDescriptor_t biasVarDesc, const miopenTensorDescriptor_t savedMeanDesc, const miopenTensorDescriptor_t savedVarDesc, 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_V2(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 scaleDesc, const miopenTensorDescriptor_t biasDesc, const miopenTensorDescriptor_t savedMeanDesc, const miopenTensorDescriptor_t savedVarDesc, const void *bnScale, void *resultBnScaleDiff, void *resultBnBiasDiff, double epsilon, const void *savedMean, const void *savedInvVariance)
Execute backwards propagation 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.
miopenBatchNormMode_t
Definition: miopen.h:509
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 miopenGetConvolutionFindMode(const miopenConvolutionDescriptor_t convDesc, miopenConvolutionFindMode_t *findMode)
Reads the Find Mode attribute from the convolution descriptor.
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.
miopenConvAlgorithm_t
Definition: miopen.h:1267
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.
miopenConvFwdAlgorithm_t
Definition: miopen.h:1230
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.
miopenConvBwdDataAlgorithm_t
Definition: miopen.h:1253
miopenConvolutionAttrib_t
Definition: miopen.h:629
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.
miopenConvolutionMode_t
Definition: miopen.h:434
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 miopenSetConvolutionFindMode(miopenConvolutionDescriptor_t convDesc, miopenConvolutionFindMode_t findMode)
Sets the Find Mode attribute in the convolution descriptor.
miopenStatus_t miopenSetTransposeConvOutputPadding(miopenConvolutionDescriptor_t convDesc, int adj_h, int adj_w)
Set the output padding to be used in 2-D Transpose convolution.
miopenConvolutionFindMode_t
Definition: miopen.h:655
miopenStatus_t miopenGetConvolutionSpatialDim(miopenConvolutionDescriptor_t convDesc, int *spatialDim)
Retrieves the spatial dimension of a convolution layer descriptor.
miopenConvBwdWeightsAlgorithm_t
Definition: miopen.h:1242
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.
@ miopenConvolutionAlgoDirect
Definition: miopen.h:1269
@ miopenConvolutionAlgoWinograd
Definition: miopen.h:1271
@ miopenConvolutionAlgoFFT
Definition: miopen.h:1270
@ miopenConvolutionAlgoImplicitGEMM
Definition: miopen.h:1272
@ miopenConvolutionAlgoGEMM
Definition: miopen.h:1268
@ miopenConvolutionFwdAlgoFFT
Definition: miopen.h:1233
@ miopenConvolutionFwdAlgoImplicitGEMM
Definition: miopen.h:1235
@ miopenConvolutionFwdAlgoGEMM
Definition: miopen.h:1231
@ miopenConvolutionFwdAlgoWinograd
Definition: miopen.h:1234
@ miopenConvolutionFwdAlgoDirect
Definition: miopen.h:1232
@ miopenTransposeBwdDataAlgoGEMM
Definition: miopen.h:1258
@ miopenConvolutionBwdDataAlgoDirect
Definition: miopen.h:1255
@ miopenConvolutionBwdDataAlgoGEMM
Definition: miopen.h:1254
@ miopenConvolutionBwdDataAlgoFFT
Definition: miopen.h:1256
@ miopenConvolutionBwdDataAlgoWinograd
Definition: miopen.h:1257
@ miopenConvolutionBwdDataAlgoImplicitGEMM
Definition: miopen.h:1260
@ miopenConvolutionBwdWeightsAlgoGEMM
Definition: miopen.h:1243
@ miopenConvolutionBwdWeightsAlgoWinograd
Definition: miopen.h:1245
@ miopenConvolutionBwdWeightsAlgoDirect
Definition: miopen.h:1244
@ miopenConvolutionBwdWeightsAlgoImplicitGEMM
Definition: miopen.h:1246
miopenStatus_t miopenDestroyDropoutDescriptor(miopenDropoutDescriptor_t dropoutDesc)
Destroys the dropout descriptor object.
miopenRNGType_t
Definition: miopen.h:5298
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.
@ MIOPEN_RNG_PSEUDO_XORWOW
Definition: miopen.h:5299
miopenFindResultsOrder_t
Definition: miopen.h:5729
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.
miopenMhaMask_t
Initializes a problem object describing a Mha operation.
Definition: miopen.h:5757
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 miopenSetFindOptionAttachBinaries(miopenFindOptions_t options, unsigned attach)
Forces library to attach kernel binaries to solutions for later saving. This allows zero lookup miope...
miopenStatus_t miopenFuseProblems(miopenProblem_t problem1, miopenProblem_t problem2)
Fuse two problems into a single one. Problems can be either regular, or fused. No problems are dispos...
miopenStatus_t miopenGetSolutionSize(miopenSolution_t solution, size_t *size)
Reads the expected size of a solution.
miopenTensorArgumentId_t
Definition: miopen.h:5648
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)
miopenProblemDirection_t
Definition: miopen.h:5635
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:5731
@ miopenFindResultsOrderByTime
Definition: miopen.h:5730
@ miopenMhaMaskCausal
Definition: miopen.h:5759
@ miopenMhaMaskNone
Definition: miopen.h:5758
@ miopenTensorMhaDescaleS
Definition: miopen.h:5660
@ miopenTensorMhaO
Definition: miopen.h:5666
@ miopenTensorMhaAmaxDV
Definition: miopen.h:5684
@ miopenTensorBatchnormScaleDiff
Definition: miopen.h:5707
@ miopenTensorMhaMask
Definition: miopen.h:5718
@ miopenTensorMhaDescaleDS
Definition: miopen.h:5674
@ miopenTensorMhaDropoutSeed
Definition: miopen.h:5664
@ miopenTensorBatchnormSavedMean
Definition: miopen.h:5704
@ miopenTensorActivationDY
Definition: miopen.h:5692
@ miopenTensorBatchnormDX
Definition: miopen.h:5712
@ miopenTensorMhaDescaleV
Definition: miopen.h:5659
@ miopenTensorMhaK
Definition: miopen.h:5654
@ miopenTensorConvolutionX
Definition: miopen.h:5650
@ miopenTensorMhaAmaxDK
Definition: miopen.h:5683
@ miopenTensorMhaScaleDS
Definition: miopen.h:5675
@ miopenTensorBatchnormBias
Definition: miopen.h:5710
@ miopenTensorMhaM
Definition: miopen.h:5669
@ miopenTensorBatchnormRunningMean
Definition: miopen.h:5702
@ miopenTensorMhaDropoutProbability
Definition: miopen.h:5663
@ miopenTensorSoftmaxY
Definition: miopen.h:5697
@ miopenTensorSoftmaxDY
Definition: miopen.h:5699
@ miopenTensorMhaDescaleO
Definition: miopen.h:5672
@ miopenTensorMhaScaleO
Definition: miopen.h:5662
@ miopenScalarBatchnormExpAvgFactor
Definition: miopen.h:5720
@ miopenTensorBatchnormScale
Definition: miopen.h:5706
@ miopenTensorBatchnormRunningVariance
Definition: miopen.h:5703
@ miopenTensorActivationDX
Definition: miopen.h:5691
@ miopenTensorMhaScaleDK
Definition: miopen.h:5677
@ miopenTensorMhaV
Definition: miopen.h:5656
@ miopenTensorMhaAmaxS
Definition: miopen.h:5668
@ miopenTensorBatchnormBiasDiff
Definition: miopen.h:5711
@ miopenTensorBatchnormSavedVariance
Definition: miopen.h:5705
@ miopenTensorActivationX
Definition: miopen.h:5689
@ miopenTensorMhaScaleDV
Definition: miopen.h:5678
@ miopenTensorMhaAmaxO
Definition: miopen.h:5667
@ miopenScalarBatchnormEpsilon
Definition: miopen.h:5721
@ miopenTensorMhaScaleDQ
Definition: miopen.h:5676
@ miopenTensorSoftmaxDX
Definition: miopen.h:5698
@ miopenTensorMhaAmaxDS
Definition: miopen.h:5685
@ miopenTensorMhaDV
Definition: miopen.h:5681
@ miopenTensorMhaQ
Definition: miopen.h:5655
@ miopenTensorMhaAmaxDQ
Definition: miopen.h:5682
@ miopenTensorConvolutionY
Definition: miopen.h:5652
@ miopenTensorBatchnormEstimatedMean
Definition: miopen.h:5708
@ miopenTensorBatchnormDY
Definition: miopen.h:5713
@ miopenTensorMhaZInv
Definition: miopen.h:5670
@ miopenTensorMhaDescaleQ
Definition: miopen.h:5658
@ miopenTensorMhaBias
Definition: miopen.h:5686
@ miopenTensorBatchnormEstimatedVariance
Definition: miopen.h:5709
@ miopenTensorArgumentIsScalar
Definition: miopen.h:5716
@ miopenTensorArgumentIdInvalid
Definition: miopen.h:5649
@ miopenTensorMhaDO
Definition: miopen.h:5671
@ miopenTensorMhaDescaleDO
Definition: miopen.h:5673
@ miopenTensorConvolutionW
Definition: miopen.h:5651
@ miopenTensorMhaDescaleK
Definition: miopen.h:5657
@ miopenTensorMhaDropoutOffset
Definition: miopen.h:5665
@ miopenTensorBiasY
Definition: miopen.h:5694
@ miopenTensorMhaDQ
Definition: miopen.h:5679
@ miopenTensorSoftmaxX
Definition: miopen.h:5696
@ miopenTensorBatchnormY
Definition: miopen.h:5701
@ miopenTensorMhaScaleS
Definition: miopen.h:5661
@ miopenTensorBias
Definition: miopen.h:5695
@ miopenTensorActivationY
Definition: miopen.h:5690
@ miopenTensorBatchnormX
Definition: miopen.h:5700
@ miopenTensorBiasX
Definition: miopen.h:5693
@ miopenTensorMhaDK
Definition: miopen.h:5680
@ miopenProblemDirectionBackwardWeights
Definition: miopen.h:5638
@ miopenProblemDirectionInference
Definition: miopen.h:5640
@ miopenProblemDirectionForward
Definition: miopen.h:5636
@ miopenProblemDirectionBackward
Definition: miopen.h:5637
miopenStatus_t miopenGetGetitemWorkspaceSize(miopenHandle_t handle, uint32_t indexCount, const miopenTensorDescriptor_t *indexDescs, size_t *sizeInBytes)
Helper function to query the minimum workspace size required by the getitem call.
miopenStatus_t miopenGetitemBackward(miopenHandle_t handle, void *workspace, size_t workspaceSizeInBytes, const miopenTensorDescriptor_t dyDesc, const void *dy, uint32_t indexCount, const miopenTensorDescriptor_t *indexDescs, const void *const *indexs, const miopenTensorDescriptor_t dxDesc, void *dx, const miopenTensorDescriptor_t errorDesc, void *error, uint32_t dimCount, const int32_t *dims, uint32_t sliceCount, const int32_t *slices, uint32_t offset)
Execute a getitem backward layer.
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.
miopenStatus_t miopenDestroy(miopenHandle_t handle)
Destroys the MIOpen handle.
void(* miopenDeallocatorFunction)(void *context, void *memory)
Custom deallocator function.
Definition: miopen.h:158
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
Definition: miopen.h:109
miopenStatus_t miopenSetAllocator(miopenHandle_t handle, miopenAllocatorFunction allocator, miopenDeallocatorFunction deallocator, void *allocatorContext)
Set allocator for previously created miopenHandle.
miopenF8RoundingMode_t
Definition: miopen.h:125
void *(* miopenAllocatorFunction)(void *context, size_t sizeBytes)
Custom allocator function.
Definition: miopen.h:148
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.
@ miopenStatusUnsupportedOp
Definition: miopen.h:118
@ miopenStatusGpuOperationsSkipped
Definition: miopen.h:119
@ miopenStatusUnknownError
Definition: miopen.h:117
@ miopenStatusSuccess
Definition: miopen.h:110
@ miopenStatusVersionMismatch
Definition: miopen.h:120
@ miopenStatusAllocFailed
Definition: miopen.h:114
@ miopenStatusNotImplemented
Definition: miopen.h:116
@ miopenStatusBadParm
Definition: miopen.h:113
@ miopenStatusNotInitialized
Definition: miopen.h:111
@ miopenStatusInternalError
Definition: miopen.h:115
@ miopenStatusInvalidValue
Definition: miopen.h:112
@ miopenF8RoundingModeStandard
Definition: miopen.h:126
@ miopenF8RoundingModeStochastic
Definition: miopen.h:127
miopenStatus_t miopenKthvalueForward(miopenHandle_t handle, miopenTensorDescriptor_t inputDesc, const void *input, miopenTensorDescriptor_t outputDesc, void *output, miopenTensorDescriptor_t indicesDesc, size_t *indices, size_t k, int32_t dim=-1, bool keepDim=false)
Execute a Kthvalue forward layer.
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.
miopenNormMode_t
Definition: miopen.h:490
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.
miopenPoolingMode_t
Definition: miopen.h:457
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.
miopenIndexType_t
Definition: miopen.h:410
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,...
miopenPoolingWorkspaceIndexMode_t
Definition: miopen.h:470
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 miopenReduceCalculationForward(miopenHandle_t handle, miopenReduceCalculationNanPropagation_t nanPropagation, void *workspace, size_t workspaceSizeInBytes, const miopenTensorDescriptor_t xDesc, const void *x, const int32_t dim, const miopenReduceCalculationOp_t reduceCalculationOp, const miopenTensorDescriptor_t reduceDesc, void *y)
Execute a reducecalculation forward layer.
miopenReduceCalculationOp_t
Definition: miopen.h:6162
miopenStatus_t miopenGetReduceCalculationWorkspaceSize(miopenHandle_t handle, const miopenTensorDescriptor_t xDesc, const int32_t dim, const miopenReduceCalculationOp_t reduceCalculationOp, const miopenTensorDescriptor_t reduceDesc, size_t *sizeInBytes)
Helper function to query the minimum workspace size required by the ReduceTensor call.
@ MIOPEN_REDUCE_CALCULATION_PROD
Definition: miopen.h:6163
@ MIOPEN_REDUCE_CALCULATION_SUM
Definition: miopen.h:6165
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.
miopenSoftmaxMode_t
Definition: miopen.h:552
miopenSoftmaxAlgorithm_t
Definition: miopen.h:541
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.
miopenTensorLayout_t
Definition: miopen.h:393
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.
miopenDataType_t
Definition: miopen.h:368
miopenStatus_t miopenCreateSeqTensorDescriptor(miopenSeqTensorDescriptor_t *tensorDesc)
Create a Tensor Descriptor for sequence data.
miopenTensorOp_t
Definition: miopen.h:422
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.
miopenPaddingMode_t
Definition: miopen.h:446
@ miopenPaddingDefault
Definition: miopen.h:447
@ miopenPaddingSame
Definition: miopen.h:448
@ miopenPaddingValid
Definition: miopen.h:449
miopenReduceCalculationNanPropagation_t
Definition: miopen.h:6146
@ MIOPEN_REDUCE_CALCULATION_PROPAGATE_NAN
Definition: miopen.h:6148
@ MIOPEN_REDUCE_CALCULATION_NOT_PROPAGATE_NAN
Definition: miopen.h:6147
#define MIOPEN_DECLARE_OBJECT(name)
Definition: miopen.h:79
miopenNanPropagation_t
Definition: miopen.h:597
@ MIOPEN_PROPAGATE_NAN
Definition: miopen.h:599
@ MIOPEN_NOT_PROPAGATE_NAN
Definition: miopen.h:598
@ MIOPEN_LOSS_REDUCTION_MEAN
Definition: miopen.h:8066
@ MIOPEN_LOSS_REDUCTION_SUM
Definition: miopen.h:8065
@ MIOPEN_LOSS_REDUCTION_NONE
Definition: miopen.h:8064
@ miopenPoolingAverage
Definition: miopen.h:459
@ miopenPoolingAverageInclusive
Definition: miopen.h:460
@ miopenPoolingMax
Definition: miopen.h:458
@ miopenTensorCHWN
Definition: miopen.h:396
@ miopenTensorNHWC
Definition: miopen.h:395
@ miopenTensorNDHWC
Definition: miopen.h:402
@ miopenTensorNCHW
Definition: miopen.h:394
@ miopenTensorCHWNc4
Definition: miopen.h:399
@ miopenTensorNCHWc8
Definition: miopen.h:398
@ miopenTensorNCDHW
Definition: miopen.h:401
@ miopenTensorCHWNc8
Definition: miopen.h:400
@ miopenTensorNCHWc4
Definition: miopen.h:397
@ MIOPEN_REDUCE_TENSOR_FLATTENED_INDICES
Definition: miopen.h:609
@ MIOPEN_REDUCE_TENSOR_NO_INDICES
Definition: miopen.h:608
@ miopenActivationLEAKYRELU
Definition: miopen.h:529
@ miopenActivationPASTHRU
Definition: miopen.h:520
@ miopenActivationABS
Definition: miopen.h:525
@ miopenActivationLOGISTIC
Definition: miopen.h:521
@ miopenActivationCLIPPEDRELU
Definition: miopen.h:527
@ miopenActivationRELU
Definition: miopen.h:523
@ miopenActivationPOWER
Definition: miopen.h:526
@ miopenActivationELU
Definition: miopen.h:531
@ miopenActivationSOFTRELU
Definition: miopen.h:524
@ miopenActivationTANH
Definition: miopen.h:522
@ MIOPEN_REDUCE_TENSOR_MUL
Definition: miopen.h:574
@ MIOPEN_REDUCE_TENSOR_MAX
Definition: miopen.h:578
@ MIOPEN_REDUCE_TENSOR_AVG
Definition: miopen.h:582
@ MIOPEN_REDUCE_TENSOR_NORM1
Definition: miopen.h:584
@ MIOPEN_REDUCE_TENSOR_AMAX
Definition: miopen.h:580
@ MIOPEN_REDUCE_TENSOR_MIN
Definition: miopen.h:576
@ MIOPEN_REDUCE_TENSOR_ADD
Definition: miopen.h:573
@ MIOPEN_REDUCE_TENSOR_NORM2
Definition: miopen.h:586
@ MIOPEN_CONVOLUTION_ATTRIB_DETERMINISTIC
Definition: miopen.h:634
@ MIOPEN_CONVOLUTION_ATTRIB_FP8_ROUNDING_MODE
Definition: miopen.h:638
@ MIOPEN_CONVOLUTION_ATTRIB_FP16_ALT_IMPL
Definition: miopen.h:630
@ miopenIndexUint16
Definition: miopen.h:412
@ miopenIndexUint64
Definition: miopen.h:414
@ miopenIndexUint32
Definition: miopen.h:413
@ miopenIndexUint8
Definition: miopen.h:411
@ miopenFloat
Definition: miopen.h:370
@ miopenBFloat16
Definition: miopen.h:374
@ miopenInt8
Definition: miopen.h:372
@ miopenInt32
Definition: miopen.h:371
@ miopenHalf
Definition: miopen.h:369
@ miopenBFloat8
Definition: miopen.h:379
@ miopenInt64
Definition: miopen.h:384
@ miopenDouble
Definition: miopen.h:376
@ miopenFloat8
Definition: miopen.h:378
@ MIOPEN_8BIT_INDICES
Definition: miopen.h:621
@ MIOPEN_32BIT_INDICES
Definition: miopen.h:618
@ MIOPEN_16BIT_INDICES
Definition: miopen.h:620
@ MIOPEN_64BIT_INDICES
Definition: miopen.h:619
@ miopenPoolingWorkspaceIndexImage
Definition: miopen.h:472
@ miopenPoolingWorkspaceIndexMask
Definition: miopen.h:471
@ miopenDepthwise
Definition: miopen.h:438
@ miopenGroupConv
Definition: miopen.h:437
@ miopenTranspose
Definition: miopen.h:436
@ miopenConvolution
Definition: miopen.h:435
@ MIOPEN_ELEMENTWISE_AFFINE_FUSED_ADD
Definition: miopen.h:494
@ MIOPEN_WEIGHT_BIAS
Definition: miopen.h:492
@ MIOPEN_ELEMENTWISE_AFFINE
Definition: miopen.h:491
@ MIOPEN_WEIGHT_BIAS_T5
Definition: miopen.h:500
@ MIOPEN_ELEMENTWISE_AFFINE_T5
Definition: miopen.h:498
@ MIOPEN_WEIGHT_BIAS_FUSED_ADD
Definition: miopen.h:496
@ MIOPEN_REDUCE_EXTREME_ARGMAX
Definition: miopen.h:6225
@ MIOPEN_REDUCE_EXTREME_MIN
Definition: miopen.h:6227
@ MIOPEN_REDUCE_EXTREME_MAX
Definition: miopen.h:6229
@ MIOPEN_REDUCE_EXTREME_ARGMIN
Definition: miopen.h:6223
@ miopenTensorOpMin
Definition: miopen.h:425
@ miopenTensorOpAdd
Definition: miopen.h:423
@ miopenTensorOpMul
Definition: miopen.h:424
@ miopenTensorOpMax
Definition: miopen.h:426
@ miopenBNSpatial
Definition: miopen.h:511
@ miopenBNPerActivation
Definition: miopen.h:510
@ miopenConvolutionFindModeDynamicHybrid
Definition: miopen.h:667
@ miopenConvolutionFindModeDefault
Definition: miopen.h:672
@ miopenConvolutionFindModeHybrid
Definition: miopen.h:662
@ miopenConvolutionFindModeFast
Definition: miopen.h:658
@ miopenConvolutionFindModeNormal
Definition: miopen.h:656
@ miopenLRNWithinChannel
Definition: miopen.h:481
@ miopenLRNCrossChannel
Definition: miopen.h:482
@ MIOPEN_SOFTMAX_MODE_INSTANCE
Definition: miopen.h:553
@ MIOPEN_SOFTMAX_MODE_CHANNEL
Definition: miopen.h:554
@ MIOPEN_SOFTMAX_FAST
Definition: miopen.h:542
@ MIOPEN_SOFTMAX_ACCURATE
Definition: miopen.h:543
@ MIOPEN_SOFTMAX_LOG
Definition: miopen.h:544
Perf struct for forward, backward filter, or backward data algorithms.
Definition: miopen.h:1282
miopenConvFwdAlgorithm_t fwd_algo
Definition: miopen.h:1285
miopenConvBwdDataAlgorithm_t bwd_data_algo
Definition: miopen.h:1289
size_t memory
Definition: miopen.h:1293
miopenConvBwdWeightsAlgorithm_t bwd_weights_algo
Definition: miopen.h:1286
float time
Definition: miopen.h:1292
Performance struct for forward, backward filter, or backward data algorithms in immediate mode.
Definition: miopen.h:1306
miopenConvAlgorithm_t algorithm
Definition: miopen.h:1313
uint64_t solution_id
Definition: miopen.h:1312
size_t workspace_size
Definition: miopen.h:1310
float time
Definition: miopen.h:1307
Values of a tensor or scalar argument for the miopenRunSolution function.
Definition: miopen.h:5960
miopenTensorArgumentId_t id
Definition: miopen.h:5963
void * buffer
Definition: miopen.h:5973
miopenTensorDescriptor_t * descriptor
Definition: miopen.h:5969