/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-rpp/checkouts/develop/api/rppdefs.h Source File

/home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-rpp/checkouts/develop/api/rppdefs.h Source File#

RPP: /home/docs/checkouts/readthedocs.org/user_builds/advanced-micro-devices-rpp/checkouts/develop/api/rppdefs.h Source File
rppdefs.h
Go to the documentation of this file.
1 /*
2 MIT License
3 
4 Copyright (c) 2019 - 2025 Advanced Micro Devices, Inc.
5 
6 Permission is hereby granted, free of charge, to any person obtaining a copy
7 of this software and associated documentation files (the "Software"), to deal
8 in the Software without restriction, including without limitation the rights
9 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 copies of the Software, and to permit persons to whom the Software is
11 furnished to do so, subject to the following conditions:
12 
13 The above copyright notice and this permission notice shall be included in all
14 copies or substantial portions of the Software.
15 
16 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 SOFTWARE.
23 */
24 
25 #ifndef RPPDEFS_H
26 #define RPPDEFS_H
27 
34 #include <stddef.h>
35 #include <cmath>
36 #ifdef RPP_BACKEND_HIP
37  #include <hip/hip_fp16.h>
38 #endif // RPP_BACKEND_HIP
39 #if __has_include(<half/half.hpp>)
40  #include <half/half.hpp>
41 #else
42  #include <half.hpp>
43 #endif
44 using halfhpp = half_float::half;
45 typedef halfhpp Rpp16f;
46 
47 #if _WIN32
48 #include <intrin.h>
49 #else
50 #include <x86intrin.h>
51 #include <smmintrin.h>
52 #include <immintrin.h>
53 #endif
54 #include<vector>
55 
57 #define RPP_MIN_8U ( 0 )
59 #define RPP_MAX_8U ( 255 )
61 #define RPPT_MAX_DIMS ( 5 )
63 #define RPPT_MAX_DIMS_SAMPLE ( 4 )
65 #define RPPT_MAX_AUDIO_CHANNELS ( 16 )
66 
67 #define CHECK_RETURN_STATUS(x) do { \
68  int retval = (x); \
69  if (retval != 0) { \
70  fprintf(stderr, "Runtime error: %s returned %d at %s:%d", #x, retval, __FILE__, __LINE__); \
71  exit(-1); \
72  } \
73 } while (0)
74 
75 #ifdef RPP_BACKEND_HIP
76 #include <hip/hip_runtime.h>
77 #define RPP_HOST_DEVICE __host__ __device__
79 #define HIP_CHECK_LAUNCH_RETURN() \
80  do { \
81  hipError_t status = hipGetLastError(); \
82  if (status != hipSuccess) { \
83  std::cerr << "AMD RPP: HIP Error Reported -- " \
84  << hipGetErrorString(status) << std::endl; \
85  return RPP_ERROR_HIP_LAUNCH; \
86  } \
87  } while (0)
88 #else
89 #define RPP_HOST_DEVICE
90 #endif
91 
92 const float ONE_OVER_6 = 1.0f / 6;
93 const float ONE_OVER_3 = 1.0f / 3;
94 const float TWO_OVER_3 = 2.0f / 3;
95 const float ONE_OVER_255 = 1.0f / 255;
96 const uint MMS_MAX_SCRATCH_MEMORY = 115293120; // maximum scratch memory size (in number of floats) needed for MMS buffer in RNNT training
97 const uint SPECTROGRAM_MAX_SCRATCH_MEMORY = 372877312; // maximum scratch memory size (in number of floats) needed for spectrogram HIP kernel in RNNT training
98 #define DROPOUT_FIXED_SEED 42 // Constant fixed seed for reproducing the dropout output
99 #define RANDOM_ERASE_NOISE_BUFFER_SIDE 255 // Random erase spatial noise buffer height and width. Changing this constant will result in QA test failures for tiled noise mapping
100 
101 /******************** RPP typedefs ********************/
102 
104 typedef unsigned char Rpp8u;
106 typedef signed char Rpp8s;
108 typedef unsigned short Rpp16u;
110 typedef short Rpp16s;
112 typedef unsigned int Rpp32u;
114 typedef int Rpp32s;
116 typedef unsigned long long Rpp64u;
118 typedef long long Rpp64s;
120 typedef float Rpp32f;
122 typedef double Rpp64f;
124 typedef void* RppPtr_t;
126 typedef size_t RppSize_t;
127 
131 typedef enum
132 {
136  RPP_ERROR = -1,
192 
196 typedef enum
197 {
198  RPP_HOST_BACKEND,
199  RPP_HIP_BACKEND
200 } RppBackend;
201 
205 typedef enum
206 {
207  rppStatusSuccess = 0,
208  rppStatusBadParm = -1,
209  rppStatusUnknownError = -2,
210  rppStatusNotInitialized = -3,
211  rppStatusInvalidValue = -4,
212  rppStatusAllocFailed = -5,
213  rppStatusInternalError = -6,
214  rppStatusNotImplemented = -7,
215  rppStatusUnsupportedOp = -8,
216 } rppStatus_t;
217 
221 typedef enum
222 {
223  RPP_TENSOR_OP_AND,
224  RPP_TENSOR_OP_OR,
225  RPP_TENSOR_OP_XOR
226 } RpptBitwiseOp;
227 
235 typedef enum
236 {
237  RPP_BROADCAST_ENABLE,
238  RPP_BROADCAST_DISABLE // Broadcasting is disabled; Requires input tensors to be of the same shape
240 
244 typedef struct
245 {
246  Rpp32u channelParam;
247  Rpp32u bufferMultiplier;
249 
253 typedef struct
254 {
255  Rpp32f data[6];
256 } Rpp32f6;
257 
261 typedef struct
262 {
263  Rpp32f data[9];
264 } Rpp32f9;
265 
269 typedef struct
270 {
271  Rpp32s data[24];
272 } Rpp32s24;
273 
277 typedef struct
278 {
279  Rpp32f data[24];
280 } Rpp32f24;
281 
282 /******************** RPPT typedefs ********************/
283 
287 typedef enum
288 {
289  U8,
290  F32,
291  F16,
292  I8,
293  I16,
294  U16,
295  I32,
296  U32
297 } RpptDataType;
298 
302 typedef enum
303 {
304  NCHW, // BatchSize-Channels-Height-Width
305  NHWC, // BatchSize-Height-Width-Channels
306  NCDHW, // BatchSize-Channels-Depth-Height-Width
307  NDHWC, // BatchSize-Depth-Height-Width-Channels
308  NHW, // BatchSize-Height-Width
309  NFT, // BatchSize-Frequency-Time -> Frequency Major used for Spectrogram / MelfilterBank
310  NTF // BatchSize-Time-Frequency -> Time Major used for Spectrogram / MelfilterBank
311 } RpptLayout;
312 
317 typedef enum
318 {
327 
334 typedef enum
335 {
339 
343 typedef enum
344 {
345  LTRB, // Left-Top-Right-Bottom
346  XYWH // X-Y-Width-Height
347 } RpptRoiType;
348 
352 typedef enum
353 {
354  LTFRBB, // Left-Top-Front-Right-Bottom-Back
355  XYZWHD // X-Y-Z-Width-Height-Depth
356 } RpptRoi3DType;
357 
361 typedef enum
362 {
363  RGBtype,
364  BGRtype
366 
370 typedef enum
371 {
372  NEAREST_NEIGHBOR = 0,
373  BILINEAR,
374  BICUBIC,
375  LANCZOS,
376  GAUSSIAN,
377  TRIANGULAR
379 
383 typedef enum
384 {
385  ZERO = 0,
386  CLAMP,
387  REFLECT
389 
393 typedef enum
394 {
395  TOP_EDGE = 0,
396  BOTTOM_EDGE,
397  LEFT_EDGE,
398  RIGHT_EDGE
400 
404 typedef enum
405 {
406  REPLICATE = 0, // Similar to Nearest Neighbors Padding
407  CONSTANT, // Unsupported Border Type
408  REFLECT_NO_EDGE // Unsupported Border Type
410 
414 typedef enum
415 {
416  SLANEY = 0, // Follows Slaney’s MATLAB Auditory Modelling Work behavior
417  HTK, // Follows O’Shaughnessy’s book formula, consistent with Hidden Markov Toolkit(HTK), m = 2595 * log10(1 + (f/700))
419 
423 typedef struct
424 {
425  int x;
426  int y;
427 } RpptPoint2D;
428 
432 typedef struct
433 {
434  int x;
435  int y;
436  int z;
437 } RpptPoint3D;
438 
442 typedef struct
443 {
444  RpptPoint2D lt, rb; // Left-Top point and Right-Bottom point
445 
446 } RpptRoiLtrb;
447 
451 typedef struct
452 {
453  RpptPoint2D r;
454  RpptPoint2D g;
455  RpptPoint2D b;
457 
461 typedef struct
462 {
463  RpptPoint3D ltf, rbb; // Left-Top-Front point and Right-Bottom-Back point
464 
465 } RpptRoiLtfrbb;
466 
470 typedef struct
471 {
472  RpptPoint2D xy;
473  int roiWidth, roiHeight;
474 
475 } RpptRoiXywh;
476 
480 typedef struct
481 {
482  RpptPoint3D xyz;
483  int roiWidth, roiHeight, roiDepth;
484 
485 } RpptRoiXyzwhd;
486 
490 typedef union
491 {
492  RpptRoiLtrb ltrbROI; // ROI defined as Left-Top-Right-Bottom
493  RpptRoiXywh xywhROI; // ROI defined as X-Y-Width-Height
494 
495 } RpptROI, *RpptROIPtr;
496 
500 typedef union
501 {
502  RpptRoiLtfrbb ltfrbbROI; // ROI defined as Left-Top-Front-Right-Bottom-Back
503  RpptRoiXyzwhd xyzwhdROI; // ROI defined as X-Y-Z-Width-Height-Depth
504 
506 
510 typedef struct
511 {
512  Rpp32u nStride;
513  Rpp32u cStride;
514  Rpp32u hStride;
515  Rpp32u wStride;
516 } RpptStrides;
517 
521 typedef struct
522 {
523  RppSize_t numDims;
524  Rpp32u offsetInBytes;
525  RpptDataType dataType;
526  Rpp32u n, c, h, w;
527  RpptStrides strides;
528  RpptLayout layout;
530 
534 typedef struct
535 {
536  RppSize_t numDims;
537  Rpp32u offsetInBytes;
538  RpptDataType dataType;
539  Rpp32u dims[RPPT_MAX_DIMS];
540  Rpp32u strides[RPPT_MAX_DIMS];
541  RpptLayout layout;
543 
547 typedef struct
548 {
549  Rpp8u R;
550  Rpp8u G;
551  Rpp8u B;
552 } RpptRGB;
553 
557 typedef struct
558 {
559  Rpp32f R;
560  Rpp32f G;
561  Rpp32f B;
562 } RpptFloatRGB;
563 
567 typedef struct
568 {
569  Rpp32u x;
570  Rpp32u y;
572 
576 typedef struct
577 {
578  Rpp32f x;
579  Rpp32f y;
581 
585 typedef struct
586 {
587  Rpp32u width;
588  Rpp32u height;
590 
594 typedef struct
595 { Rpp32u x[5];
596  Rpp32u counter;
598 
602 typedef struct
603 { Rpp32s x[5];
604  Rpp32s counter;
605  int boxMullerFlag;
606  float boxMullerExtra;
608 
612 typedef struct
613 {
614  Rpp32s24 srcLocsTL;
615  Rpp32s24 srcLocsTR;
616  Rpp32s24 srcLocsBL;
617  Rpp32s24 srcLocsBR;
619 
623 typedef struct
624 {
625  Rpp32f24 srcValsTL;
626  Rpp32f24 srcValsTR;
627  Rpp32f24 srcValsBL;
628  Rpp32f24 srcValsBR;
630 
634 typedef struct GenericFilter
635 {
636  Rpp32f scale = 1.0f;
637  Rpp32f radius = 1.0f;
638  Rpp32s size;
639  GenericFilter(RpptInterpolationType interpolationType, Rpp32s in_size, Rpp32s out_size, Rpp32f scaleRatio)
640  {
641  switch(interpolationType)
642  {
643  case RpptInterpolationType::BICUBIC:
644  {
645  this->radius = 2.0f;
646  break;
647  }
648  case RpptInterpolationType::LANCZOS:
649  {
650  if(in_size > out_size)
651  {
652  this->radius = 3.0f * scaleRatio;
653  this->scale = (1 / scaleRatio);
654  }
655  else
656  this->radius = 3.0f;
657  break;
658  }
659  case RpptInterpolationType::GAUSSIAN:
660  {
661  if(in_size > out_size)
662  {
663  this->radius = scaleRatio;
664  this->scale = (1 / scaleRatio);
665  }
666  break;
667  }
668  case RpptInterpolationType::TRIANGULAR:
669  {
670  if(in_size > out_size)
671  {
672  this->radius = scaleRatio;
673  this->scale = (1 / scaleRatio);
674  }
675  break;
676  }
677  default:
678  {
679  this->radius = 1.0f;
680  this->scale = 1.0f;
681  break;
682  }
683  }
684  this->size = std::ceil(2 * this->radius);
685  }
687 
691 typedef struct RpptResamplingWindow
692 {
693  inline RPP_HOST_DEVICE void input_range(Rpp32f x, Rpp32s *loc0, Rpp32s *loc1)
694  {
695  Rpp32s xc = std::ceil(x);
696  *loc0 = xc - lobes;
697  *loc1 = xc + lobes;
698  }
699 
700  inline Rpp32f operator()(Rpp32f x)
701  {
702  Rpp32f locRaw = x * scale + center;
703  Rpp32s locFloor = std::floor(locRaw);
704  Rpp32f weight = locRaw - locFloor;
705  locFloor = std::max(std::min(locFloor, lookupSize - 2), 0);
706  Rpp32f current = lookup[locFloor];
707  Rpp32f next = lookup[locFloor + 1];
708  return current + weight * (next - current);
709  }
710 
711  inline __m128 operator()(__m128 x)
712  {
713  __m128 pLocRaw = _mm_add_ps(_mm_mul_ps(x, pScale), pCenter);
714  __m128i pxLocFloor = _mm_cvttps_epi32(pLocRaw);
715  __m128 pLocFloor = _mm_cvtepi32_ps(pxLocFloor);
716  __m128 pWeight = _mm_sub_ps(pLocRaw, pLocFloor);
717  Rpp32s idx[4];
718  _mm_storeu_si128(reinterpret_cast<__m128i*>(idx), pxLocFloor);
719  __m128 pCurrent = _mm_setr_ps(lookup[idx[0]], lookup[idx[1]], lookup[idx[2]], lookup[idx[3]]);
720  __m128 pNext = _mm_setr_ps(lookup[idx[0] + 1], lookup[idx[1] + 1], lookup[idx[2] + 1], lookup[idx[3] + 1]);
721  return _mm_add_ps(pCurrent, _mm_mul_ps(pWeight, _mm_sub_ps(pNext, pCurrent)));
722  }
723 
724  Rpp32f scale = 1, center = 1;
725  Rpp32s lobes = 0, coeffs = 0;
726  Rpp32s lookupSize = 0;
727  Rpp32f *lookupPinned = nullptr;
728  std::vector<Rpp32f> lookup;
729  __m128 pCenter, pScale;
731 
736 {
737  public:
738  inline RPP_HOST_DEVICE virtual Rpp32f hz_to_mel(Rpp32f hz) = 0;
739  inline RPP_HOST_DEVICE virtual Rpp32f mel_to_hz(Rpp32f mel) = 0;
740  virtual ~BaseMelScale() = default;
741 };
742 
746 struct HtkMelScale : public BaseMelScale
747 {
748  inline RPP_HOST_DEVICE Rpp32f hz_to_mel(Rpp32f hz) { return 1127.0f * std::log(1.0f + (hz / 700.0f)); }
749  inline RPP_HOST_DEVICE Rpp32f mel_to_hz(Rpp32f mel) { return 700.0f * (std::exp(mel / 1127.0f) - 1.0f); }
750  public:
751  ~HtkMelScale() {};
752 };
753 
758 {
759  const Rpp32f freqLow = 0;
760  const Rpp32f fsp = 66.666667f;
761  const Rpp32f minLogHz = 1000.0;
762  const Rpp32f minLogMel = (minLogHz - freqLow) / fsp;
763  const Rpp32f stepLog = 0.068751777; // Equivalent to std::log(6.4) / 27.0;
764 
765  const Rpp32f invMinLogHz = 0.001f;
766  const Rpp32f invStepLog = 1.0f / stepLog;
767  const Rpp32f invFsp = 1.0f / fsp;
768 
769  inline RPP_HOST_DEVICE Rpp32f hz_to_mel(Rpp32f hz)
770  {
771  Rpp32f mel = 0.0f;
772  if (hz >= minLogHz)
773  mel = minLogMel + std::log(hz * invMinLogHz) * invStepLog;
774  else
775  mel = (hz - freqLow) * invFsp;
776 
777  return mel;
778  }
779 
780  inline RPP_HOST_DEVICE Rpp32f mel_to_hz(Rpp32f mel)
781  {
782  Rpp32f hz = 0.0f;
783  if (mel >= minLogMel)
784  hz = minLogHz * std::exp(stepLog * (mel - minLogMel));
785  else
786  hz = freqLow + mel * fsp;
787  return hz;
788  }
789  public:
790  ~SlaneyMelScale() {};
791 };
792 
793 /******************** HOST memory typedefs ********************/
794 
798 typedef struct {
799  Rpp32f *scratchBufferHost;
800 } memCPU;
801 
802 #ifdef RPP_BACKEND_HIP
803 
804 /******************** HIP memory typedefs ********************/
805 
809 typedef struct
810 {
811  Rpp32f* floatmem;
812 } hipMemRpp32f;
813 
817 typedef struct
818 {
819  hipMemRpp32f scratchBufferHip;
820  hipMemRpp32f scratchBufferPinned;
821 } memGPU;
822 
826 typedef struct
827 {
828  memCPU mcpu;
829  memGPU mgpu;
830 } memMgmt;
831 
832 #else
833 
837 typedef struct
838 {
839  memCPU mcpu;
840 } memMgmt;
841 
842 #endif //BACKEND
843 
847 typedef struct
848 {
849  RppPtr_t cpuHandle;
850  Rpp32u nbatchSize;
851  memMgmt mem;
852 } InitHandle;
853 
854 #endif /* RPPDEFS_H */
unsigned int Rpp32u
32 bit unsigned int
Definition: rppdefs.h:112
int Rpp32s
32 bit signed int
Definition: rppdefs.h:114
signed char Rpp8s
8 bit signed char
Definition: rppdefs.h:106
RpptMelScaleFormula
RPPT Mel Scale Formula.
Definition: rppdefs.h:415
unsigned short Rpp16u
16 bit unsigned short
Definition: rppdefs.h:108
unsigned char Rpp8u
8 bit unsigned char
Definition: rppdefs.h:104
void * RppPtr_t
void pointer
Definition: rppdefs.h:124
RpptLayout
RPPT Tensor layout type enum.
Definition: rppdefs.h:303
RpptRoiType
RPPT Tensor 2D ROI type enum.
Definition: rppdefs.h:344
RpptDataType
RPPT Tensor datatype enum.
Definition: rppdefs.h:288
RpptImageBorderType
RPPT Image Border Type.
Definition: rppdefs.h:405
struct RpptResamplingWindow RpptResamplingWindow
RPPT Tensor RpptResamplingWindow type struct.
double Rpp64f
64 bit double
Definition: rppdefs.h:122
RpptImageBorderEdge
RPPT Image Border Edge type enum.
Definition: rppdefs.h:394
RpptAudioBorderType
RPPT Audio Border Type.
Definition: rppdefs.h:384
size_t RppSize_t
size_t
Definition: rppdefs.h:126
RpptBitwiseOp
RPP Tensor Operations type enum.
Definition: rppdefs.h:222
RpptColorStandard
Color space standard for NV12 to RGB (YUV/YCbCr to RGB matrix).
Definition: rppdefs.h:318
struct GenericFilter GenericFilter
RPPT Tensor GenericFilter type struct.
RppStatus
RPP RppStatus type enums.
Definition: rppdefs.h:132
RpptColorRange
Color range (luma/chroma legal levels) for NV12 to RGB.
Definition: rppdefs.h:335
RpptRoi3DType
RPPT Tensor 3D ROI type enum.
Definition: rppdefs.h:353
unsigned long long Rpp64u
64 bit unsigned long long
Definition: rppdefs.h:116
#define RPPT_MAX_DIMS
RPP maximum dimensions in tensor .
Definition: rppdefs.h:61
RpptInterpolationType
RPPT Tensor interpolation type enum.
Definition: rppdefs.h:371
RpptSubpixelLayout
RPPT Tensor subpixel layout type enum.
Definition: rppdefs.h:362
short Rpp16s
16 bit signed short
Definition: rppdefs.h:110
float Rpp32f
32 bit float
Definition: rppdefs.h:120
RppBackend
RPP RppBackend type enums.
Definition: rppdefs.h:197
long long Rpp64s
64 bit long long
Definition: rppdefs.h:118
rppStatus_t
RPP rppStatus_t type enums.
Definition: rppdefs.h:206
@ RpptColorStandard_FCC
Definition: rppdefs.h:320
@ RpptColorStandard_SMPTE240M
Definition: rppdefs.h:323
@ RpptColorStandard_BT601
Definition: rppdefs.h:322
@ RpptColorStandard_BT470BG
Definition: rppdefs.h:321
@ RpptColorStandard_BT709
Definition: rppdefs.h:319
@ RpptColorStandard_BT2020_NCL
Definition: rppdefs.h:324
@ RpptColorStandard_BT2020_CL
Definition: rppdefs.h:325
@ RPP_ERROR_NOT_IMPLEMENTED
Function variant requested is not implemented / unsupported.
Definition: rppdefs.h:146
@ RPP_ERROR_INVALID_DST_DATATYPE
Invalid dst tensor datatype. (Needs to adhere to function specification.)
Definition: rppdefs.h:158
@ RPP_ERROR_INVALID_OUTPUT_TILE_LENGTH
Invalid output tile length (Needs to adhere to function specification.)
Definition: rppdefs.h:174
@ RPP_ERROR_INVALID_DIM_LENGTHS
Length in some dimensions are invalid. (Needs to adhere to function specification....
Definition: rppdefs.h:184
@ RPP_ERROR_OUT_OF_BOUND_SRC_ROI
Out of bound source ROI.
Definition: rppdefs.h:168
@ RPP_ERROR_OUT_OF_BOUND_SHARED_MEMORY_SIZE
Shared memory size needed is beyond the bounds (Needs to adhere to function specification....
Definition: rppdefs.h:176
@ RPP_ERROR_INCOMPATIBLE_BACKEND
The user specified backend is not compatible with the initialized handle.
Definition: rppdefs.h:188
@ RPP_ERROR_HIP_LAUNCH
HIP/GPU runtime or kernel launch error.
Definition: rppdefs.h:190
@ RPP_ERROR_ZERO_DIVISION
Arguments provided will result in zero division error.
Definition: rppdefs.h:142
@ RPP_ERROR_INVALID_ARGUMENTS
One or more arguments invalid. (Needs to adhere to function specification.)
Definition: rppdefs.h:138
@ RPP_ERROR_LAYOUT_MISMATCH
src and dst layout mismatch
Definition: rppdefs.h:170
@ RPP_ERROR_INVALID_CHANNELS
Number of channels is invalid. (Needs to adhere to function specification.)
Definition: rppdefs.h:172
@ RPP_ERROR_INVALID_SRC_CHANNELS
Invalid src tensor number of channels. (Needs to adhere to function specification....
Definition: rppdefs.h:148
@ RPP_ERROR_INVALID_SRC_OR_DST_DATATYPE
Invalid src/dst tensor datatype. (Needs to adhere to function specification.)
Definition: rppdefs.h:160
@ RPP_ERROR_INVALID_PARAMETER_DATATYPE
Invalid datatype.
Definition: rppdefs.h:164
@ RPP_ERROR_NOT_ENOUGH_MEMORY
Not enough memory to write outputs, as per dim-lengths and strides set in descriptor.
Definition: rppdefs.h:166
@ RPP_ERROR
Unspecified error.
Definition: rppdefs.h:136
@ RPP_ERROR_INVALID_SRC_DIMS
Number of src dims is invalid. (Needs to adhere to function specification.)
Definition: rppdefs.h:180
@ RPP_ERROR_OUT_OF_BOUND_SCRATCH_MEMORY_SIZE
Scratch memory size needed is beyond the bounds (Needs to adhere to function specification....
Definition: rppdefs.h:178
@ RPP_ERROR_INVALID_DST_LAYOUT
Invalid dst tensor layout. (Needs to adhere to function specification.)
Definition: rppdefs.h:154
@ RPP_ERROR_INVALID_AXIS
The specified axis is invalid or out of range. (Needs to adhere to function specification....
Definition: rppdefs.h:186
@ RPP_ERROR_INVALID_DST_CHANNELS
Invalid dst tensor number of channels. (Needs to adhere to function specification....
Definition: rppdefs.h:150
@ RPP_ERROR_INVALID_SRC_DATATYPE
Invalid src tensor datatype. (Needs to adhere to function specification.)
Definition: rppdefs.h:156
@ RPP_ERROR_INVALID_SRC_LAYOUT
Invalid src tensor layout. (Needs to adhere to function specification.)
Definition: rppdefs.h:152
@ RPP_ERROR_HIGH_SRC_DIMENSION
Src tensor / src ROI dimension too high. (Needs to adhere to function specification....
Definition: rppdefs.h:144
@ RPP_SUCCESS
No error.
Definition: rppdefs.h:134
@ RPP_ERROR_INSUFFICIENT_DST_BUFFER_LENGTH
Insufficient dst buffer length provided. (Needs to adhere to function specification....
Definition: rppdefs.h:162
@ RPP_ERROR_INVALID_DST_DIMS
Number of dst dims is invalid. (Needs to adhere to function specification.)
Definition: rppdefs.h:182
@ RPP_ERROR_LOW_OFFSET
Low tensor offsetInBytes provided for src/dst tensor.
Definition: rppdefs.h:140
@ RpptColorRange_FULL
Definition: rppdefs.h:337
@ RpptColorRange_STUDIO
Definition: rppdefs.h:336
RpptBroadcastMode
Broadcast support mode for RPP Tensor operations.
Definition: rppdefs.h:236
Base class for Mel scale conversions.
Definition: rppdefs.h:736
RPPT Tensor GenericFilter type struct.
Definition: rppdefs.h:635
Derived class for HTK Mel scale conversions.
Definition: rppdefs.h:747
RPP initialize handle.
Definition: rppdefs.h:848
RPP 24 float vector.
Definition: rppdefs.h:278
RPP 6 float vector.
Definition: rppdefs.h:254
RPP 9 float vector.
Definition: rppdefs.h:262
RPP 24 signed int vector.
Definition: rppdefs.h:270
RPP layout params.
Definition: rppdefs.h:245
RPPT Tensor 2D bilinear neighborhood 32-bit signed int 8-length-vectors type struct.
Definition: rppdefs.h:613
RPPT Tensor 2D bilinear neighborhood 32-bit float 8-length-vectors type struct.
Definition: rppdefs.h:624
RPPT Tensor Channel Offsets struct.
Definition: rppdefs.h:452
RPPT Tensor descriptor type struct.
Definition: rppdefs.h:522
RPPT Tensor 32-bit float RGB type struct.
Definition: rppdefs.h:558
RPPT Tensor 2D 32-bit float vector type struct.
Definition: rppdefs.h:577
RPPT Tensor Generic descriptor type struct.
Definition: rppdefs.h:535
RPPT Tensor 2D image patch dimensions type struct.
Definition: rppdefs.h:586
RPPT Image 2D cartesian point type struct.
Definition: rppdefs.h:424
RPPT Image 3D point type struct.
Definition: rppdefs.h:433
RPPT Tensor 8-bit uchar RGB type struct.
Definition: rppdefs.h:548
RPPT Tensor RpptResamplingWindow type struct.
Definition: rppdefs.h:692
RPPT Tensor 3D ROI LTFRBB struct.
Definition: rppdefs.h:462
RPPT Tensor 2D ROI LTRB struct.
Definition: rppdefs.h:443
RPPT Tensor 2D ROI XYWH struct.
Definition: rppdefs.h:471
RPPT Tensor 3D ROI XYZWHD struct.
Definition: rppdefs.h:481
RPPT Tensor strides type struct.
Definition: rppdefs.h:511
RPPT Tensor 2D 32-bit uint vector type struct.
Definition: rppdefs.h:568
RPPT Tensor random number generator state (xorwow box muller state) type struct.
Definition: rppdefs.h:603
RPPT Tensor random number generator state (xorwow state) type struct.
Definition: rppdefs.h:595
Derived class for Slaney Mel scale conversions.
Definition: rppdefs.h:758
RPP HIP 32-bit float memory.
Definition: rppdefs.h:810
RPP HOST memory type struct.
Definition: rppdefs.h:798
RPP HIP memory management type struct.
Definition: rppdefs.h:818
RPP HIP-HOST memory management.
Definition: rppdefs.h:827
RPPT Tensor 3D ROI union.
Definition: rppdefs.h:501
RPPT Tensor 2D ROI union.
Definition: rppdefs.h:491