/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_AUDIO_CHANNELS ( 16 )
64 
65 #define CHECK_RETURN_STATUS(x) do { \
66  int retval = (x); \
67  if (retval != 0) { \
68  fprintf(stderr, "Runtime error: %s returned %d at %s:%d", #x, retval, __FILE__, __LINE__); \
69  exit(-1); \
70  } \
71 } while (0)
72 
73 #ifdef RPP_BACKEND_HIP
74 #include <hip/hip_runtime.h>
75 #define RPP_HOST_DEVICE __host__ __device__
76 #else
77 #define RPP_HOST_DEVICE
78 #endif
79 
80 const float ONE_OVER_6 = 1.0f / 6;
81 const float ONE_OVER_3 = 1.0f / 3;
82 const float TWO_OVER_3 = 2.0f / 3;
83 const float ONE_OVER_255 = 1.0f / 255;
84 const uint MMS_MAX_SCRATCH_MEMORY = 115293120; // maximum scratch memory size (in number of floats) needed for MMS buffer in RNNT training
85 const uint SPECTROGRAM_MAX_SCRATCH_MEMORY = 372877312; // maximum scratch memory size (in number of floats) needed for spectrogram HIP kernel in RNNT training
86 #define DROPOUT_FIXED_SEED 42 // Constant fixed seed for reproducing the dropout output
87 
88 /******************** RPP typedefs ********************/
89 
91 typedef unsigned char Rpp8u;
93 typedef signed char Rpp8s;
95 typedef unsigned short Rpp16u;
97 typedef short Rpp16s;
99 typedef unsigned int Rpp32u;
101 typedef int Rpp32s;
103 typedef unsigned long long Rpp64u;
105 typedef long long Rpp64s;
107 typedef float Rpp32f;
109 typedef double Rpp64f;
111 typedef void* RppPtr_t;
113 typedef size_t RppSize_t;
114 
118 typedef enum
119 {
123  RPP_ERROR = -1,
177 
181 typedef enum
182 {
183  RPP_HOST_BACKEND,
184  RPP_HIP_BACKEND
185 } RppBackend;
186 
190 typedef enum
191 {
192  rppStatusSuccess = 0,
193  rppStatusBadParm = -1,
194  rppStatusUnknownError = -2,
195  rppStatusNotInitialized = -3,
196  rppStatusInvalidValue = -4,
197  rppStatusAllocFailed = -5,
198  rppStatusInternalError = -6,
199  rppStatusNotImplemented = -7,
200  rppStatusUnsupportedOp = -8,
201 } rppStatus_t;
202 
206 typedef struct
207 {
208  Rpp32u channelParam;
209  Rpp32u bufferMultiplier;
211 
215 typedef struct
216 {
217  Rpp32f data[6];
218 } Rpp32f6;
219 
223 typedef struct
224 {
225  Rpp32f data[9];
226 } Rpp32f9;
227 
231 typedef struct
232 {
233  Rpp32s data[24];
234 } Rpp32s24;
235 
239 typedef struct
240 {
241  Rpp32f data[24];
242 } Rpp32f24;
243 
244 /******************** RPPT typedefs ********************/
245 
249 typedef enum
250 {
251  U8,
252  F32,
253  F16,
254  I8,
255  I16
256 } RpptDataType;
257 
261 typedef enum
262 {
263  NCHW, // BatchSize-Channels-Height-Width
264  NHWC, // BatchSize-Height-Width-Channels
265  NCDHW, // BatchSize-Channels-Depth-Height-Width
266  NDHWC, // BatchSize-Depth-Height-Width-Channels
267  NHW, // BatchSize-Height-Width
268  NFT, // BatchSize-Frequency-Time -> Frequency Major used for Spectrogram / MelfilterBank
269  NTF // BatchSize-Time-Frequency -> Time Major used for Spectrogram / MelfilterBank
270 } RpptLayout;
271 
275 typedef enum
276 {
277  LTRB, // Left-Top-Right-Bottom
278  XYWH // X-Y-Width-Height
279 } RpptRoiType;
280 
284 typedef enum
285 {
286  LTFRBB, // Left-Top-Front-Right-Bottom-Back
287  XYZWHD // X-Y-Z-Width-Height-Depth
288 } RpptRoi3DType;
289 
293 typedef enum
294 {
295  RGBtype,
296  BGRtype
298 
302 typedef enum
303 {
304  NEAREST_NEIGHBOR = 0,
305  BILINEAR,
306  BICUBIC,
307  LANCZOS,
308  GAUSSIAN,
309  TRIANGULAR
311 
315 typedef enum
316 {
317  ZERO = 0,
318  CLAMP,
319  REFLECT
321 
325 typedef enum
326 {
327  TOP_EDGE = 0,
328  BOTTOM_EDGE,
329  LEFT_EDGE,
330  RIGHT_EDGE
332 
336 typedef enum
337 {
338  REPLICATE = 0, // Similar to Nearest Neighbors Padding
339  CONSTANT, // Unsupported Border Type
340  REFLECT_NO_EDGE // Unsupported Border Type
342 
346 typedef enum
347 {
348  SLANEY = 0, // Follows Slaney’s MATLAB Auditory Modelling Work behavior
349  HTK, // Follows O’Shaughnessy’s book formula, consistent with Hidden Markov Toolkit(HTK), m = 2595 * log10(1 + (f/700))
351 
355 typedef struct
356 {
357  int x;
358  int y;
359 } RpptPoint2D;
360 
364 typedef struct
365 {
366  int x;
367  int y;
368  int z;
369 } RpptPoint3D;
370 
374 typedef struct
375 {
376  RpptPoint2D lt, rb; // Left-Top point and Right-Bottom point
377 
378 } RpptRoiLtrb;
379 
383 typedef struct
384 {
385  RpptPoint2D r;
386  RpptPoint2D g;
387  RpptPoint2D b;
389 
393 typedef struct
394 {
395  RpptPoint3D ltf, rbb; // Left-Top-Front point and Right-Bottom-Back point
396 
397 } RpptRoiLtfrbb;
398 
402 typedef struct
403 {
404  RpptPoint2D xy;
405  int roiWidth, roiHeight;
406 
407 } RpptRoiXywh;
408 
412 typedef struct
413 {
414  RpptPoint3D xyz;
415  int roiWidth, roiHeight, roiDepth;
416 
417 } RpptRoiXyzwhd;
418 
422 typedef union
423 {
424  RpptRoiLtrb ltrbROI; // ROI defined as Left-Top-Right-Bottom
425  RpptRoiXywh xywhROI; // ROI defined as X-Y-Width-Height
426 
427 } RpptROI, *RpptROIPtr;
428 
432 typedef union
433 {
434  RpptRoiLtfrbb ltfrbbROI; // ROI defined as Left-Top-Front-Right-Bottom-Back
435  RpptRoiXyzwhd xyzwhdROI; // ROI defined as X-Y-Z-Width-Height-Depth
436 
438 
442 typedef struct
443 {
444  Rpp32u nStride;
445  Rpp32u cStride;
446  Rpp32u hStride;
447  Rpp32u wStride;
448 } RpptStrides;
449 
453 typedef struct
454 {
455  RppSize_t numDims;
456  Rpp32u offsetInBytes;
457  RpptDataType dataType;
458  Rpp32u n, c, h, w;
459  RpptStrides strides;
460  RpptLayout layout;
462 
466 typedef struct
467 {
468  RppSize_t numDims;
469  Rpp32u offsetInBytes;
470  RpptDataType dataType;
471  Rpp32u dims[RPPT_MAX_DIMS];
472  Rpp32u strides[RPPT_MAX_DIMS];
473  RpptLayout layout;
475 
479 typedef struct
480 {
481  Rpp8u R;
482  Rpp8u G;
483  Rpp8u B;
484 } RpptRGB;
485 
489 typedef struct
490 {
491  Rpp32f R;
492  Rpp32f G;
493  Rpp32f B;
494 } RpptFloatRGB;
495 
499 typedef struct
500 {
501  Rpp32u x;
502  Rpp32u y;
504 
508 typedef struct
509 {
510  Rpp32f x;
511  Rpp32f y;
513 
517 typedef struct
518 {
519  Rpp32u width;
520  Rpp32u height;
522 
526 typedef struct
527 { Rpp32u x[5];
528  Rpp32u counter;
530 
534 typedef struct
535 { Rpp32s x[5];
536  Rpp32s counter;
537  int boxMullerFlag;
538  float boxMullerExtra;
540 
544 typedef struct
545 {
546  Rpp32s24 srcLocsTL;
547  Rpp32s24 srcLocsTR;
548  Rpp32s24 srcLocsBL;
549  Rpp32s24 srcLocsBR;
551 
555 typedef struct
556 {
557  Rpp32f24 srcValsTL;
558  Rpp32f24 srcValsTR;
559  Rpp32f24 srcValsBL;
560  Rpp32f24 srcValsBR;
562 
566 typedef struct GenericFilter
567 {
568  Rpp32f scale = 1.0f;
569  Rpp32f radius = 1.0f;
570  Rpp32s size;
571  GenericFilter(RpptInterpolationType interpolationType, Rpp32s in_size, Rpp32s out_size, Rpp32f scaleRatio)
572  {
573  switch(interpolationType)
574  {
575  case RpptInterpolationType::BICUBIC:
576  {
577  this->radius = 2.0f;
578  break;
579  }
580  case RpptInterpolationType::LANCZOS:
581  {
582  if(in_size > out_size)
583  {
584  this->radius = 3.0f * scaleRatio;
585  this->scale = (1 / scaleRatio);
586  }
587  else
588  this->radius = 3.0f;
589  break;
590  }
591  case RpptInterpolationType::GAUSSIAN:
592  {
593  if(in_size > out_size)
594  {
595  this->radius = scaleRatio;
596  this->scale = (1 / scaleRatio);
597  }
598  break;
599  }
600  case RpptInterpolationType::TRIANGULAR:
601  {
602  if(in_size > out_size)
603  {
604  this->radius = scaleRatio;
605  this->scale = (1 / scaleRatio);
606  }
607  break;
608  }
609  default:
610  {
611  this->radius = 1.0f;
612  this->scale = 1.0f;
613  break;
614  }
615  }
616  this->size = std::ceil(2 * this->radius);
617  }
619 
623 typedef struct RpptResamplingWindow
624 {
625  inline RPP_HOST_DEVICE void input_range(Rpp32f x, Rpp32s *loc0, Rpp32s *loc1)
626  {
627  Rpp32s xc = std::ceil(x);
628  *loc0 = xc - lobes;
629  *loc1 = xc + lobes;
630  }
631 
632  inline Rpp32f operator()(Rpp32f x)
633  {
634  Rpp32f locRaw = x * scale + center;
635  Rpp32s locFloor = std::floor(locRaw);
636  Rpp32f weight = locRaw - locFloor;
637  locFloor = std::max(std::min(locFloor, lookupSize - 2), 0);
638  Rpp32f current = lookup[locFloor];
639  Rpp32f next = lookup[locFloor + 1];
640  return current + weight * (next - current);
641  }
642 
643  inline __m128 operator()(__m128 x)
644  {
645  __m128 pLocRaw = _mm_add_ps(_mm_mul_ps(x, pScale), pCenter);
646  __m128i pxLocFloor = _mm_cvttps_epi32(pLocRaw);
647  __m128 pLocFloor = _mm_cvtepi32_ps(pxLocFloor);
648  __m128 pWeight = _mm_sub_ps(pLocRaw, pLocFloor);
649  Rpp32s idx[4];
650  _mm_storeu_si128(reinterpret_cast<__m128i*>(idx), pxLocFloor);
651  __m128 pCurrent = _mm_setr_ps(lookup[idx[0]], lookup[idx[1]], lookup[idx[2]], lookup[idx[3]]);
652  __m128 pNext = _mm_setr_ps(lookup[idx[0] + 1], lookup[idx[1] + 1], lookup[idx[2] + 1], lookup[idx[3] + 1]);
653  return _mm_add_ps(pCurrent, _mm_mul_ps(pWeight, _mm_sub_ps(pNext, pCurrent)));
654  }
655 
656  Rpp32f scale = 1, center = 1;
657  Rpp32s lobes = 0, coeffs = 0;
658  Rpp32s lookupSize = 0;
659  Rpp32f *lookupPinned = nullptr;
660  std::vector<Rpp32f> lookup;
661  __m128 pCenter, pScale;
663 
668 {
669  public:
670  inline RPP_HOST_DEVICE virtual Rpp32f hz_to_mel(Rpp32f hz) = 0;
671  inline RPP_HOST_DEVICE virtual Rpp32f mel_to_hz(Rpp32f mel) = 0;
672  virtual ~BaseMelScale() = default;
673 };
674 
678 struct HtkMelScale : public BaseMelScale
679 {
680  inline RPP_HOST_DEVICE Rpp32f hz_to_mel(Rpp32f hz) { return 1127.0f * std::log(1.0f + (hz / 700.0f)); }
681  inline RPP_HOST_DEVICE Rpp32f mel_to_hz(Rpp32f mel) { return 700.0f * (std::exp(mel / 1127.0f) - 1.0f); }
682  public:
683  ~HtkMelScale() {};
684 };
685 
690 {
691  const Rpp32f freqLow = 0;
692  const Rpp32f fsp = 66.666667f;
693  const Rpp32f minLogHz = 1000.0;
694  const Rpp32f minLogMel = (minLogHz - freqLow) / fsp;
695  const Rpp32f stepLog = 0.068751777; // Equivalent to std::log(6.4) / 27.0;
696 
697  const Rpp32f invMinLogHz = 0.001f;
698  const Rpp32f invStepLog = 1.0f / stepLog;
699  const Rpp32f invFsp = 1.0f / fsp;
700 
701  inline RPP_HOST_DEVICE Rpp32f hz_to_mel(Rpp32f hz)
702  {
703  Rpp32f mel = 0.0f;
704  if (hz >= minLogHz)
705  mel = minLogMel + std::log(hz * invMinLogHz) * invStepLog;
706  else
707  mel = (hz - freqLow) * invFsp;
708 
709  return mel;
710  }
711 
712  inline RPP_HOST_DEVICE Rpp32f mel_to_hz(Rpp32f mel)
713  {
714  Rpp32f hz = 0.0f;
715  if (mel >= minLogMel)
716  hz = minLogHz * std::exp(stepLog * (mel - minLogMel));
717  else
718  hz = freqLow + mel * fsp;
719  return hz;
720  }
721  public:
722  ~SlaneyMelScale() {};
723 };
724 
725 /******************** HOST memory typedefs ********************/
726 
730 typedef struct {
731  Rpp32f *scratchBufferHost;
732 } memCPU;
733 
734 #ifdef RPP_BACKEND_HIP
735 
736 /******************** HIP memory typedefs ********************/
737 
741 typedef struct
742 {
743  Rpp32f* floatmem;
744 } hipMemRpp32f;
745 
749 typedef struct
750 {
751  hipMemRpp32f scratchBufferHip;
752  hipMemRpp32f scratchBufferPinned;
753 } memGPU;
754 
758 typedef struct
759 {
760  memCPU mcpu;
761  memGPU mgpu;
762 } memMgmt;
763 
764 #else
765 
769 typedef struct
770 {
771  memCPU mcpu;
772 } memMgmt;
773 
774 #endif //BACKEND
775 
779 typedef struct
780 {
781  RppPtr_t cpuHandle;
782  Rpp32u nbatchSize;
783  memMgmt mem;
784 } InitHandle;
785 
786 #endif /* RPPDEFS_H */
unsigned int Rpp32u
32 bit unsigned int
Definition: rppdefs.h:99
int Rpp32s
32 bit signed int
Definition: rppdefs.h:101
signed char Rpp8s
8 bit signed char
Definition: rppdefs.h:93
RpptMelScaleFormula
RPPT Mel Scale Formula.
Definition: rppdefs.h:347
unsigned short Rpp16u
16 bit unsigned short
Definition: rppdefs.h:95
unsigned char Rpp8u
8 bit unsigned char
Definition: rppdefs.h:91
void * RppPtr_t
void pointer
Definition: rppdefs.h:111
RpptLayout
RPPT Tensor layout type enum.
Definition: rppdefs.h:262
RpptRoiType
RPPT Tensor 2D ROI type enum.
Definition: rppdefs.h:276
RpptDataType
RPPT Tensor datatype enum.
Definition: rppdefs.h:250
RpptImageBorderType
RPPT Image Border Type.
Definition: rppdefs.h:337
struct RpptResamplingWindow RpptResamplingWindow
RPPT Tensor RpptResamplingWindow type struct.
double Rpp64f
64 bit double
Definition: rppdefs.h:109
RpptImageBorderEdge
RPPT Image Border Edge type enum.
Definition: rppdefs.h:326
RpptAudioBorderType
RPPT Audio Border Type.
Definition: rppdefs.h:316
size_t RppSize_t
size_t
Definition: rppdefs.h:113
struct GenericFilter GenericFilter
RPPT Tensor GenericFilter type struct.
RppStatus
RPP RppStatus type enums.
Definition: rppdefs.h:119
RpptRoi3DType
RPPT Tensor 3D ROI type enum.
Definition: rppdefs.h:285
unsigned long long Rpp64u
64 bit unsigned long long
Definition: rppdefs.h:103
#define RPPT_MAX_DIMS
RPP maximum dimensions in tensor .
Definition: rppdefs.h:61
RpptInterpolationType
RPPT Tensor interpolation type enum.
Definition: rppdefs.h:303
RpptSubpixelLayout
RPPT Tensor subpixel layout type enum.
Definition: rppdefs.h:294
short Rpp16s
16 bit signed short
Definition: rppdefs.h:97
float Rpp32f
32 bit float
Definition: rppdefs.h:107
RppBackend
RPP RppBackend type enums.
Definition: rppdefs.h:182
long long Rpp64s
64 bit long long
Definition: rppdefs.h:105
rppStatus_t
RPP rppStatus_t type enums.
Definition: rppdefs.h:191
@ RPP_ERROR_NOT_IMPLEMENTED
Function variant requested is not implemented / unsupported.
Definition: rppdefs.h:133
@ RPP_ERROR_INVALID_DST_DATATYPE
Invalid dst tensor datatype. (Needs to adhere to function specification.)
Definition: rppdefs.h:145
@ RPP_ERROR_INVALID_OUTPUT_TILE_LENGTH
Invalid output tile length (Needs to adhere to function specification.)
Definition: rppdefs.h:161
@ RPP_ERROR_INVALID_DIM_LENGTHS
Length in some dimensions are invalid. (Needs to adhere to function specification....
Definition: rppdefs.h:171
@ RPP_ERROR_OUT_OF_BOUND_SRC_ROI
Out of bound source ROI.
Definition: rppdefs.h:155
@ 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:163
@ RPP_ERROR_INCOMPATIBLE_BACKEND
The user specified backend is not compatible with the initialized handle.
Definition: rppdefs.h:175
@ RPP_ERROR_ZERO_DIVISION
Arguments provided will result in zero division error.
Definition: rppdefs.h:129
@ RPP_ERROR_INVALID_ARGUMENTS
One or more arguments invalid. (Needs to adhere to function specification.)
Definition: rppdefs.h:125
@ RPP_ERROR_LAYOUT_MISMATCH
src and dst layout mismatch
Definition: rppdefs.h:157
@ RPP_ERROR_INVALID_CHANNELS
Number of channels is invalid. (Needs to adhere to function specification.)
Definition: rppdefs.h:159
@ RPP_ERROR_INVALID_SRC_CHANNELS
Invalid src tensor number of channels. (Needs to adhere to function specification....
Definition: rppdefs.h:135
@ RPP_ERROR_INVALID_SRC_OR_DST_DATATYPE
Invalid src/dst tensor datatype. (Needs to adhere to function specification.)
Definition: rppdefs.h:147
@ RPP_ERROR_INVALID_PARAMETER_DATATYPE
Invalid datatype.
Definition: rppdefs.h:151
@ RPP_ERROR_NOT_ENOUGH_MEMORY
Not enough memory to write outputs, as per dim-lengths and strides set in descriptor.
Definition: rppdefs.h:153
@ RPP_ERROR
Unspecified error.
Definition: rppdefs.h:123
@ RPP_ERROR_INVALID_SRC_DIMS
Number of src dims is invalid. (Needs to adhere to function specification.)
Definition: rppdefs.h:167
@ 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:165
@ RPP_ERROR_INVALID_DST_LAYOUT
Invalid dst tensor layout. (Needs to adhere to function specification.)
Definition: rppdefs.h:141
@ RPP_ERROR_INVALID_AXIS
The specified axis is invalid or out of range. (Needs to adhere to function specification....
Definition: rppdefs.h:173
@ RPP_ERROR_INVALID_DST_CHANNELS
Invalid dst tensor number of channels. (Needs to adhere to function specification....
Definition: rppdefs.h:137
@ RPP_ERROR_INVALID_SRC_DATATYPE
Invalid src tensor datatype. (Needs to adhere to function specification.)
Definition: rppdefs.h:143
@ RPP_ERROR_INVALID_SRC_LAYOUT
Invalid src tensor layout. (Needs to adhere to function specification.)
Definition: rppdefs.h:139
@ RPP_ERROR_HIGH_SRC_DIMENSION
Src tensor / src ROI dimension too high. (Needs to adhere to function specification....
Definition: rppdefs.h:131
@ RPP_SUCCESS
No error.
Definition: rppdefs.h:121
@ RPP_ERROR_INSUFFICIENT_DST_BUFFER_LENGTH
Insufficient dst buffer length provided. (Needs to adhere to function specification....
Definition: rppdefs.h:149
@ RPP_ERROR_INVALID_DST_DIMS
Number of dst dims is invalid. (Needs to adhere to function specification.)
Definition: rppdefs.h:169
@ RPP_ERROR_LOW_OFFSET
Low tensor offsetInBytes provided for src/dst tensor.
Definition: rppdefs.h:127
Base class for Mel scale conversions.
Definition: rppdefs.h:668
RPPT Tensor GenericFilter type struct.
Definition: rppdefs.h:567
Derived class for HTK Mel scale conversions.
Definition: rppdefs.h:679
RPP initialize handle.
Definition: rppdefs.h:780
RPP 24 float vector.
Definition: rppdefs.h:240
RPP 6 float vector.
Definition: rppdefs.h:216
RPP 9 float vector.
Definition: rppdefs.h:224
RPP 24 signed int vector.
Definition: rppdefs.h:232
RPP layout params.
Definition: rppdefs.h:207
RPPT Tensor 2D bilinear neighborhood 32-bit signed int 8-length-vectors type struct.
Definition: rppdefs.h:545
RPPT Tensor 2D bilinear neighborhood 32-bit float 8-length-vectors type struct.
Definition: rppdefs.h:556
RPPT Tensor Channel Offsets struct.
Definition: rppdefs.h:384
RPPT Tensor descriptor type struct.
Definition: rppdefs.h:454
RPPT Tensor 32-bit float RGB type struct.
Definition: rppdefs.h:490
RPPT Tensor 2D 32-bit float vector type struct.
Definition: rppdefs.h:509
RPPT Tensor Generic descriptor type struct.
Definition: rppdefs.h:467
RPPT Tensor 2D image patch dimensions type struct.
Definition: rppdefs.h:518
RPPT Image 2D cartesian point type struct.
Definition: rppdefs.h:356
RPPT Image 3D point type struct.
Definition: rppdefs.h:365
RPPT Tensor 8-bit uchar RGB type struct.
Definition: rppdefs.h:480
RPPT Tensor RpptResamplingWindow type struct.
Definition: rppdefs.h:624
RPPT Tensor 3D ROI LTFRBB struct.
Definition: rppdefs.h:394
RPPT Tensor 2D ROI LTRB struct.
Definition: rppdefs.h:375
RPPT Tensor 2D ROI XYWH struct.
Definition: rppdefs.h:403
RPPT Tensor 3D ROI XYZWHD struct.
Definition: rppdefs.h:413
RPPT Tensor strides type struct.
Definition: rppdefs.h:443
RPPT Tensor 2D 32-bit uint vector type struct.
Definition: rppdefs.h:500
RPPT Tensor random number generator state (xorwow box muller state) type struct.
Definition: rppdefs.h:535
RPPT Tensor random number generator state (xorwow state) type struct.
Definition: rppdefs.h:527
Derived class for Slaney Mel scale conversions.
Definition: rppdefs.h:690
RPP HIP 32-bit float memory.
Definition: rppdefs.h:742
RPP HOST memory type struct.
Definition: rppdefs.h:730
RPP HIP memory management type struct.
Definition: rppdefs.h:750
RPP HIP-HOST memory management.
Definition: rppdefs.h:759
RPPT Tensor 3D ROI union.
Definition: rppdefs.h:433
RPPT Tensor 2D ROI union.
Definition: rppdefs.h:423