/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 #ifdef RPP_BACKEND_HIP
68 #include <hip/hip_runtime.h>
69 #define RPP_HOST_DEVICE __host__ __device__
70 
72 #define RPP_HIP_RETURN_IF_ERROR(expr) \
73  do { \
74  hipError_t _rpp_hip_err = (expr); \
75  if (_rpp_hip_err != hipSuccess) \
76  { \
77  fprintf(stderr, "HIP runtime error: %s returned %d at %s:%d", #expr, _rpp_hip_err, __FILE__, __LINE__); \
78  return RPP_ERROR_HIP_RUNTIME; \
79  } \
80  } while (0)
81 
83 #define HIP_CHECK_LAUNCH_RETURN() \
84  do { \
85  hipError_t status = hipGetLastError(); \
86  if (status != hipSuccess) { \
87  fprintf(stderr, "HIP kernel launch error: returned %d at %s:%d", status, __FILE__, __LINE__); \
88  return RPP_ERROR_HIP_LAUNCH; \
89  } \
90  } while (0)
91 #else
92 #define RPP_HOST_DEVICE
93 #endif
94 
95 const float ONE_OVER_6 = 1.0f / 6;
96 const float ONE_OVER_3 = 1.0f / 3;
97 const float TWO_OVER_3 = 2.0f / 3;
98 const float ONE_OVER_255 = 1.0f / 255;
99 const uint MMS_MAX_SCRATCH_MEMORY = 115293120; // maximum scratch memory size (in number of floats) needed for MMS buffer in RNNT training
100 const uint SPECTROGRAM_MAX_SCRATCH_MEMORY = 372877312; // maximum scratch memory size (in number of floats) needed for spectrogram HIP kernel in RNNT training
101 #define DROPOUT_FIXED_SEED 42 // Constant fixed seed for reproducing the dropout output
102 #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
103 
104 /******************** RPP typedefs ********************/
105 
107 typedef unsigned char Rpp8u;
109 typedef signed char Rpp8s;
111 typedef unsigned short Rpp16u;
113 typedef short Rpp16s;
115 typedef unsigned int Rpp32u;
117 typedef int Rpp32s;
119 typedef unsigned long long Rpp64u;
121 typedef long long Rpp64s;
123 typedef float Rpp32f;
125 typedef double Rpp64f;
127 typedef void* RppPtr_t;
129 typedef size_t RppSize_t;
130 
134 typedef enum
135 {
139  RPP_ERROR = -1,
196 } RppStatus;
197 
201 typedef enum
202 {
203  RPP_HOST_BACKEND,
204  RPP_HIP_BACKEND
205 } RppBackend;
206 
210 typedef enum
211 {
212  rppStatusSuccess = 0,
213  rppStatusBadParm = -1,
214  rppStatusUnknownError = -2,
215  rppStatusNotInitialized = -3,
216  rppStatusInvalidValue = -4,
217  rppStatusAllocFailed = -5,
218  rppStatusInternalError = -6,
219  rppStatusNotImplemented = -7,
220  rppStatusUnsupportedOp = -8,
221 } rppStatus_t;
222 
226 typedef enum
227 {
228  RPP_TENSOR_OP_ADD,
229  RPP_TENSOR_OP_SUBTRACT,
230  RPP_TENSOR_OP_MULTIPLY,
231  RPP_TENSOR_OP_DIVIDE
232 } RpptOp;
233 
237 typedef enum
238 {
239  RPP_TENSOR_OP_AND,
240  RPP_TENSOR_OP_OR,
241  RPP_TENSOR_OP_XOR
242 } RpptBitwiseOp;
243 
251 typedef enum
252 {
253  RPP_BROADCAST_ENABLE,
254  RPP_BROADCAST_DISABLE // Broadcasting is disabled; Requires input tensors to be of the same shape
256 
260 typedef struct
261 {
262  Rpp32u channelParam;
263  Rpp32u bufferMultiplier;
265 
269 typedef struct
270 {
271  Rpp32f data[6];
272 } Rpp32f6;
273 
277 typedef struct
278 {
279  Rpp32f data[9];
280 } Rpp32f9;
281 
285 typedef struct
286 {
287  Rpp32s data[24];
288 } Rpp32s24;
289 
293 typedef struct
294 {
295  Rpp32f data[24];
296 } Rpp32f24;
297 
298 /******************** RPPT typedefs ********************/
299 
303 typedef enum
304 {
305  U8,
306  F32,
307  F16,
308  I8,
309  I16,
310  U16,
311  I32,
312  U32
313 } RpptDataType;
314 
318 typedef enum
319 {
320  NCHW, // BatchSize-Channels-Height-Width
321  NHWC, // BatchSize-Height-Width-Channels
322  NCDHW, // BatchSize-Channels-Depth-Height-Width
323  NDHWC, // BatchSize-Depth-Height-Width-Channels
324  NHW, // BatchSize-Height-Width
325  NFT, // BatchSize-Frequency-Time -> Frequency Major used for Spectrogram / MelfilterBank
326  NTF // BatchSize-Time-Frequency -> Time Major used for Spectrogram / MelfilterBank
327 } RpptLayout;
328 
333 typedef enum
334 {
343 
350 typedef enum
351 {
355 
359 typedef enum
360 {
361  LTRB, // Left-Top-Right-Bottom
362  XYWH // X-Y-Width-Height
363 } RpptRoiType;
364 
368 typedef enum
369 {
370  LTFRBB, // Left-Top-Front-Right-Bottom-Back
371  XYZWHD // X-Y-Z-Width-Height-Depth
372 } RpptRoi3DType;
373 
377 typedef enum
378 {
379  RGBtype,
380  BGRtype
382 
386 typedef enum
387 {
388  NEAREST_NEIGHBOR = 0,
389  BILINEAR,
390  BICUBIC,
391  LANCZOS,
392  GAUSSIAN,
393  TRIANGULAR
395 
399 typedef enum
400 {
401  ZERO = 0,
402  CLAMP,
403  REFLECT
405 
409 typedef enum
410 {
411  TOP_EDGE = 0,
412  BOTTOM_EDGE,
413  LEFT_EDGE,
414  RIGHT_EDGE
416 
420 typedef enum
421 {
422  REPLICATE = 0, // Similar to Nearest Neighbors Padding
423  CONSTANT, // Unsupported Border Type
424  REFLECT_NO_EDGE // Unsupported Border Type
426 
430 typedef enum
431 {
432  SLANEY = 0, // Follows Slaney’s MATLAB Auditory Modelling Work behavior
433  HTK, // Follows O’Shaughnessy’s book formula, consistent with Hidden Markov Toolkit(HTK), m = 2595 * log10(1 + (f/700))
435 
439 typedef struct
440 {
441  int x;
442  int y;
443 } RpptPoint2D;
444 
448 typedef struct
449 {
450  int x;
451  int y;
452  int z;
453 } RpptPoint3D;
454 
458 typedef struct
459 {
460  RpptPoint2D lt, rb; // Left-Top point and Right-Bottom point
461 
462 } RpptRoiLtrb;
463 
467 typedef struct
468 {
469  RpptPoint2D r;
470  RpptPoint2D g;
471  RpptPoint2D b;
473 
477 typedef struct
478 {
479  RpptPoint3D ltf, rbb; // Left-Top-Front point and Right-Bottom-Back point
480 
481 } RpptRoiLtfrbb;
482 
486 typedef struct
487 {
488  RpptPoint2D xy;
489  int roiWidth, roiHeight;
490 
491 } RpptRoiXywh;
492 
496 typedef struct
497 {
498  RpptPoint3D xyz;
499  int roiWidth, roiHeight, roiDepth;
500 
501 } RpptRoiXyzwhd;
502 
506 typedef union
507 {
508  RpptRoiLtrb ltrbROI; // ROI defined as Left-Top-Right-Bottom
509  RpptRoiXywh xywhROI; // ROI defined as X-Y-Width-Height
510 
511 } RpptROI, *RpptROIPtr;
512 
516 typedef union
517 {
518  RpptRoiLtfrbb ltfrbbROI; // ROI defined as Left-Top-Front-Right-Bottom-Back
519  RpptRoiXyzwhd xyzwhdROI; // ROI defined as X-Y-Z-Width-Height-Depth
520 
522 
526 typedef struct
527 {
528  Rpp32u nStride;
529  Rpp32u cStride;
530  Rpp32u hStride;
531  Rpp32u wStride;
532 } RpptStrides;
533 
537 typedef struct
538 {
539  RppSize_t numDims;
540  Rpp32u offsetInBytes;
541  RpptDataType dataType;
542  Rpp32u n, c, h, w;
543  RpptStrides strides;
544  RpptLayout layout;
546 
550 typedef struct
551 {
552  RppSize_t numDims;
553  Rpp32u offsetInBytes;
554  RpptDataType dataType;
555  Rpp32u dims[RPPT_MAX_DIMS];
556  Rpp32u strides[RPPT_MAX_DIMS];
557  RpptLayout layout;
559 
563 typedef struct
564 {
565  Rpp8u R;
566  Rpp8u G;
567  Rpp8u B;
568 } RpptRGB;
569 
573 typedef struct
574 {
575  Rpp32f R;
576  Rpp32f G;
577  Rpp32f B;
578 } RpptFloatRGB;
579 
583 typedef struct
584 {
585  Rpp32u x;
586  Rpp32u y;
588 
592 typedef struct
593 {
594  Rpp32f x;
595  Rpp32f y;
597 
601 typedef struct
602 {
603  Rpp32u width;
604  Rpp32u height;
606 
610 typedef struct
611 { Rpp32u x[5];
612  Rpp32u counter;
614 
618 typedef struct
619 { Rpp32s x[5];
620  Rpp32s counter;
621  int boxMullerFlag;
622  float boxMullerExtra;
624 
628 typedef struct
629 {
630  Rpp32s24 srcLocsTL;
631  Rpp32s24 srcLocsTR;
632  Rpp32s24 srcLocsBL;
633  Rpp32s24 srcLocsBR;
635 
639 typedef struct
640 {
641  Rpp32f24 srcValsTL;
642  Rpp32f24 srcValsTR;
643  Rpp32f24 srcValsBL;
644  Rpp32f24 srcValsBR;
646 
650 typedef struct GenericFilter
651 {
652  Rpp32f scale = 1.0f;
653  Rpp32f radius = 1.0f;
654  Rpp32s size;
655  GenericFilter(RpptInterpolationType interpolationType, Rpp32s in_size, Rpp32s out_size, Rpp32f scaleRatio)
656  {
657  switch(interpolationType)
658  {
659  case RpptInterpolationType::BICUBIC:
660  {
661  this->radius = 2.0f;
662  break;
663  }
664  case RpptInterpolationType::LANCZOS:
665  {
666  if(in_size > out_size)
667  {
668  this->radius = 3.0f * scaleRatio;
669  this->scale = (1 / scaleRatio);
670  }
671  else
672  this->radius = 3.0f;
673  break;
674  }
675  case RpptInterpolationType::GAUSSIAN:
676  {
677  if(in_size > out_size)
678  {
679  this->radius = scaleRatio;
680  this->scale = (1 / scaleRatio);
681  }
682  break;
683  }
684  case RpptInterpolationType::TRIANGULAR:
685  {
686  if(in_size > out_size)
687  {
688  this->radius = scaleRatio;
689  this->scale = (1 / scaleRatio);
690  }
691  break;
692  }
693  default:
694  {
695  this->radius = 1.0f;
696  this->scale = 1.0f;
697  break;
698  }
699  }
700  this->size = std::ceil(2 * this->radius);
701  }
703 
707 typedef struct RpptResamplingWindow
708 {
709  inline RPP_HOST_DEVICE void input_range(Rpp32f x, Rpp32s *loc0, Rpp32s *loc1)
710  {
711  Rpp32s xc = std::ceil(x);
712  *loc0 = xc - lobes;
713  *loc1 = xc + lobes;
714  }
715 
716  inline Rpp32f operator()(Rpp32f x)
717  {
718  Rpp32f locRaw = x * scale + center;
719  Rpp32s locFloor = std::floor(locRaw);
720  Rpp32f weight = locRaw - locFloor;
721  locFloor = std::max(std::min(locFloor, lookupSize - 2), 0);
722  Rpp32f current = lookup[locFloor];
723  Rpp32f next = lookup[locFloor + 1];
724  return current + weight * (next - current);
725  }
726 
727  inline __m128 operator()(__m128 x)
728  {
729  __m128 pLocRaw = _mm_add_ps(_mm_mul_ps(x, pScale), pCenter);
730  __m128i pxLocFloor = _mm_cvttps_epi32(pLocRaw);
731  __m128 pLocFloor = _mm_cvtepi32_ps(pxLocFloor);
732  __m128 pWeight = _mm_sub_ps(pLocRaw, pLocFloor);
733  Rpp32s idx[4];
734  _mm_storeu_si128(reinterpret_cast<__m128i*>(idx), pxLocFloor);
735  __m128 pCurrent = _mm_setr_ps(lookup[idx[0]], lookup[idx[1]], lookup[idx[2]], lookup[idx[3]]);
736  __m128 pNext = _mm_setr_ps(lookup[idx[0] + 1], lookup[idx[1] + 1], lookup[idx[2] + 1], lookup[idx[3] + 1]);
737  return _mm_add_ps(pCurrent, _mm_mul_ps(pWeight, _mm_sub_ps(pNext, pCurrent)));
738  }
739 
740  Rpp32f scale = 1, center = 1;
741  Rpp32s lobes = 0, coeffs = 0;
742  Rpp32s lookupSize = 0;
743  Rpp32f *lookupPinned = nullptr;
744  std::vector<Rpp32f> lookup;
745  __m128 pCenter, pScale;
747 
752 {
753  public:
754  inline RPP_HOST_DEVICE virtual Rpp32f hz_to_mel(Rpp32f hz) = 0;
755  inline RPP_HOST_DEVICE virtual Rpp32f mel_to_hz(Rpp32f mel) = 0;
756  virtual ~BaseMelScale() = default;
757 };
758 
762 struct HtkMelScale : public BaseMelScale
763 {
764  inline RPP_HOST_DEVICE Rpp32f hz_to_mel(Rpp32f hz) { return 1127.0f * std::log(1.0f + (hz / 700.0f)); }
765  inline RPP_HOST_DEVICE Rpp32f mel_to_hz(Rpp32f mel) { return 700.0f * (std::exp(mel / 1127.0f) - 1.0f); }
766  public:
767  ~HtkMelScale() {};
768 };
769 
774 {
775  const Rpp32f freqLow = 0;
776  const Rpp32f fsp = 66.666667f;
777  const Rpp32f minLogHz = 1000.0;
778  const Rpp32f minLogMel = (minLogHz - freqLow) / fsp;
779  const Rpp32f stepLog = 0.068751777; // Equivalent to std::log(6.4) / 27.0;
780 
781  const Rpp32f invMinLogHz = 0.001f;
782  const Rpp32f invStepLog = 1.0f / stepLog;
783  const Rpp32f invFsp = 1.0f / fsp;
784 
785  inline RPP_HOST_DEVICE Rpp32f hz_to_mel(Rpp32f hz)
786  {
787  Rpp32f mel = 0.0f;
788  if (hz >= minLogHz)
789  mel = minLogMel + std::log(hz * invMinLogHz) * invStepLog;
790  else
791  mel = (hz - freqLow) * invFsp;
792 
793  return mel;
794  }
795 
796  inline RPP_HOST_DEVICE Rpp32f mel_to_hz(Rpp32f mel)
797  {
798  Rpp32f hz = 0.0f;
799  if (mel >= minLogMel)
800  hz = minLogHz * std::exp(stepLog * (mel - minLogMel));
801  else
802  hz = freqLow + mel * fsp;
803  return hz;
804  }
805  public:
806  ~SlaneyMelScale() {};
807 };
808 
809 /******************** HOST memory typedefs ********************/
810 
814 typedef struct {
815  Rpp32f *scratchBufferHost;
816 } memCPU;
817 
818 #ifdef RPP_BACKEND_HIP
819 
820 /******************** HIP memory typedefs ********************/
821 
825 typedef struct
826 {
827  Rpp32f* floatmem;
828 } hipMemRpp32f;
829 
833 typedef struct
834 {
835  hipMemRpp32f scratchBufferHip;
836  hipMemRpp32f scratchBufferPinned;
837 } memGPU;
838 
842 typedef struct
843 {
844  memCPU mcpu;
845  memGPU mgpu;
846 } memMgmt;
847 
848 #else
849 
853 typedef struct
854 {
855  memCPU mcpu;
856 } memMgmt;
857 
858 #endif //BACKEND
859 
863 typedef struct
864 {
865  RppPtr_t cpuHandle;
866  Rpp32u nbatchSize;
867  memMgmt mem;
868 } InitHandle;
869 
870 #endif /* RPPDEFS_H */
unsigned int Rpp32u
32 bit unsigned int
Definition: rppdefs.h:115
int Rpp32s
32 bit signed int
Definition: rppdefs.h:117
signed char Rpp8s
8 bit signed char
Definition: rppdefs.h:109
RpptMelScaleFormula
RPPT Mel Scale Formula.
Definition: rppdefs.h:431
unsigned short Rpp16u
16 bit unsigned short
Definition: rppdefs.h:111
unsigned char Rpp8u
8 bit unsigned char
Definition: rppdefs.h:107
void * RppPtr_t
void pointer
Definition: rppdefs.h:127
RpptLayout
RPPT Tensor layout type enum.
Definition: rppdefs.h:319
RpptRoiType
RPPT Tensor 2D ROI type enum.
Definition: rppdefs.h:360
RpptDataType
RPPT Tensor datatype enum.
Definition: rppdefs.h:304
RpptImageBorderType
RPPT Image Border Type.
Definition: rppdefs.h:421
struct RpptResamplingWindow RpptResamplingWindow
RPPT Tensor RpptResamplingWindow type struct.
double Rpp64f
64 bit double
Definition: rppdefs.h:125
RpptImageBorderEdge
RPPT Image Border Edge type enum.
Definition: rppdefs.h:410
RpptAudioBorderType
RPPT Audio Border Type.
Definition: rppdefs.h:400
size_t RppSize_t
size_t
Definition: rppdefs.h:129
RpptBitwiseOp
RPPT Broadcast Mode type enum.
Definition: rppdefs.h:238
RpptColorStandard
Color space standard for NV12 to RGB (YUV/YCbCr to RGB matrix).
Definition: rppdefs.h:334
struct GenericFilter GenericFilter
RPPT Tensor GenericFilter type struct.
RppStatus
RPP RppStatus type enums.
Definition: rppdefs.h:135
RpptColorRange
Color range (luma/chroma legal levels) for NV12 to RGB.
Definition: rppdefs.h:351
RpptRoi3DType
RPPT Tensor 3D ROI type enum.
Definition: rppdefs.h:369
unsigned long long Rpp64u
64 bit unsigned long long
Definition: rppdefs.h:119
#define RPPT_MAX_DIMS
RPP maximum dimensions in tensor .
Definition: rppdefs.h:61
RpptInterpolationType
RPPT Tensor interpolation type enum.
Definition: rppdefs.h:387
RpptSubpixelLayout
RPPT Tensor subpixel layout type enum.
Definition: rppdefs.h:378
RpptOp
RPP Tensor Operations type enum.
Definition: rppdefs.h:227
short Rpp16s
16 bit signed short
Definition: rppdefs.h:113
float Rpp32f
32 bit float
Definition: rppdefs.h:123
RppBackend
RPP RppBackend type enums.
Definition: rppdefs.h:202
long long Rpp64s
64 bit long long
Definition: rppdefs.h:121
rppStatus_t
RPP rppStatus_t type enums.
Definition: rppdefs.h:211
@ RpptColorStandard_FCC
Definition: rppdefs.h:336
@ RpptColorStandard_SMPTE240M
Definition: rppdefs.h:339
@ RpptColorStandard_BT601
Definition: rppdefs.h:338
@ RpptColorStandard_BT470BG
Definition: rppdefs.h:337
@ RpptColorStandard_BT709
Definition: rppdefs.h:335
@ RpptColorStandard_BT2020_NCL
Definition: rppdefs.h:340
@ RpptColorStandard_BT2020_CL
Definition: rppdefs.h:341
@ RPP_ERROR_NOT_IMPLEMENTED
Function variant requested is not implemented / unsupported.
Definition: rppdefs.h:149
@ RPP_ERROR_INVALID_DST_DATATYPE
Invalid dst tensor datatype. (Needs to adhere to function specification.)
Definition: rppdefs.h:161
@ RPP_ERROR_INVALID_OUTPUT_TILE_LENGTH
Invalid output tile length (Needs to adhere to function specification.)
Definition: rppdefs.h:177
@ RPP_ERROR_INVALID_DIM_LENGTHS
Length in some dimensions are invalid. (Needs to adhere to function specification....
Definition: rppdefs.h:187
@ RPP_ERROR_OUT_OF_BOUND_SRC_ROI
Out of bound source ROI.
Definition: rppdefs.h:171
@ 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:179
@ RPP_ERROR_INCOMPATIBLE_BACKEND
The user specified backend is not compatible with the initialized handle.
Definition: rppdefs.h:191
@ RPP_ERROR_HIP_LAUNCH
HIP/GPU runtime or kernel launch error.
Definition: rppdefs.h:193
@ RPP_ERROR_ZERO_DIVISION
Arguments provided will result in zero division error.
Definition: rppdefs.h:145
@ RPP_ERROR_INVALID_ARGUMENTS
One or more arguments invalid. (Needs to adhere to function specification.)
Definition: rppdefs.h:141
@ RPP_ERROR_LAYOUT_MISMATCH
src and dst layout mismatch
Definition: rppdefs.h:173
@ RPP_ERROR_INVALID_CHANNELS
Number of channels is invalid. (Needs to adhere to function specification.)
Definition: rppdefs.h:175
@ RPP_ERROR_INVALID_SRC_CHANNELS
Invalid src tensor number of channels. (Needs to adhere to function specification....
Definition: rppdefs.h:151
@ RPP_ERROR_INVALID_SRC_OR_DST_DATATYPE
Invalid src/dst tensor datatype. (Needs to adhere to function specification.)
Definition: rppdefs.h:163
@ RPP_ERROR_INVALID_PARAMETER_DATATYPE
Invalid datatype.
Definition: rppdefs.h:167
@ RPP_ERROR_NOT_ENOUGH_MEMORY
Not enough memory to write outputs, as per dim-lengths and strides set in descriptor.
Definition: rppdefs.h:169
@ RPP_ERROR
Unspecified error.
Definition: rppdefs.h:139
@ RPP_ERROR_INVALID_SRC_DIMS
Number of src dims is invalid. (Needs to adhere to function specification.)
Definition: rppdefs.h:183
@ 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:181
@ RPP_ERROR_INVALID_DST_LAYOUT
Invalid dst tensor layout. (Needs to adhere to function specification.)
Definition: rppdefs.h:157
@ RPP_ERROR_INVALID_AXIS
The specified axis is invalid or out of range. (Needs to adhere to function specification....
Definition: rppdefs.h:189
@ RPP_ERROR_INVALID_DST_CHANNELS
Invalid dst tensor number of channels. (Needs to adhere to function specification....
Definition: rppdefs.h:153
@ RPP_ERROR_HIP_RUNTIME
Internal HIP/GPU runtime error.
Definition: rppdefs.h:195
@ RPP_ERROR_INVALID_SRC_DATATYPE
Invalid src tensor datatype. (Needs to adhere to function specification.)
Definition: rppdefs.h:159
@ RPP_ERROR_INVALID_SRC_LAYOUT
Invalid src tensor layout. (Needs to adhere to function specification.)
Definition: rppdefs.h:155
@ RPP_ERROR_HIGH_SRC_DIMENSION
Src tensor / src ROI dimension too high. (Needs to adhere to function specification....
Definition: rppdefs.h:147
@ RPP_SUCCESS
No error.
Definition: rppdefs.h:137
@ RPP_ERROR_INSUFFICIENT_DST_BUFFER_LENGTH
Insufficient dst buffer length provided. (Needs to adhere to function specification....
Definition: rppdefs.h:165
@ RPP_ERROR_INVALID_DST_DIMS
Number of dst dims is invalid. (Needs to adhere to function specification.)
Definition: rppdefs.h:185
@ RPP_ERROR_LOW_OFFSET
Low tensor offsetInBytes provided for src/dst tensor.
Definition: rppdefs.h:143
@ RpptColorRange_FULL
Definition: rppdefs.h:353
@ RpptColorRange_STUDIO
Definition: rppdefs.h:352
RpptBroadcastMode
Broadcast support mode for RPP Tensor operations.
Definition: rppdefs.h:252
Base class for Mel scale conversions.
Definition: rppdefs.h:752
RPPT Tensor GenericFilter type struct.
Definition: rppdefs.h:651
Derived class for HTK Mel scale conversions.
Definition: rppdefs.h:763
RPP initialize handle.
Definition: rppdefs.h:864
RPP 24 float vector.
Definition: rppdefs.h:294
RPP 6 float vector.
Definition: rppdefs.h:270
RPP 9 float vector.
Definition: rppdefs.h:278
RPP 24 signed int vector.
Definition: rppdefs.h:286
RPP layout params.
Definition: rppdefs.h:261
RPPT Tensor 2D bilinear neighborhood 32-bit signed int 8-length-vectors type struct.
Definition: rppdefs.h:629
RPPT Tensor 2D bilinear neighborhood 32-bit float 8-length-vectors type struct.
Definition: rppdefs.h:640
RPPT Tensor Channel Offsets struct.
Definition: rppdefs.h:468
RPPT Tensor descriptor type struct.
Definition: rppdefs.h:538
RPPT Tensor 32-bit float RGB type struct.
Definition: rppdefs.h:574
RPPT Tensor 2D 32-bit float vector type struct.
Definition: rppdefs.h:593
RPPT Tensor Generic descriptor type struct.
Definition: rppdefs.h:551
RPPT Tensor 2D image patch dimensions type struct.
Definition: rppdefs.h:602
RPPT Image 2D cartesian point type struct.
Definition: rppdefs.h:440
RPPT Image 3D point type struct.
Definition: rppdefs.h:449
RPPT Tensor 8-bit uchar RGB type struct.
Definition: rppdefs.h:564
RPPT Tensor RpptResamplingWindow type struct.
Definition: rppdefs.h:708
RPPT Tensor 3D ROI LTFRBB struct.
Definition: rppdefs.h:478
RPPT Tensor 2D ROI LTRB struct.
Definition: rppdefs.h:459
RPPT Tensor 2D ROI XYWH struct.
Definition: rppdefs.h:487
RPPT Tensor 3D ROI XYZWHD struct.
Definition: rppdefs.h:497
RPPT Tensor strides type struct.
Definition: rppdefs.h:527
RPPT Tensor 2D 32-bit uint vector type struct.
Definition: rppdefs.h:584
RPPT Tensor random number generator state (xorwow box muller state) type struct.
Definition: rppdefs.h:619
RPPT Tensor random number generator state (xorwow state) type struct.
Definition: rppdefs.h:611
Derived class for Slaney Mel scale conversions.
Definition: rppdefs.h:774
RPP HIP 32-bit float memory.
Definition: rppdefs.h:826
RPP HOST memory type struct.
Definition: rppdefs.h:814
RPP HIP memory management type struct.
Definition: rppdefs.h:834
RPP HIP-HOST memory management.
Definition: rppdefs.h:843
RPPT Tensor 3D ROI union.
Definition: rppdefs.h:517
RPPT Tensor 2D ROI union.
Definition: rppdefs.h:507