mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-07-23 19:32:23 +00:00
Add NonMaxSuppression and RoiAlign to ROCm EP (#9394)
This commit is contained in:
parent
c33391329a
commit
f8acc6d0e8
3 changed files with 14 additions and 13 deletions
|
|
@ -10,6 +10,11 @@
|
|||
#define ORT_DEVICE __device__
|
||||
#define HelperMin(a, b) _Min(a, b)
|
||||
#define HelperMax(a, b) _Max(a, b)
|
||||
#elif defined(__HIPCC__)
|
||||
#include "core/providers/rocm/cu_inc/common.cuh"
|
||||
#define ORT_DEVICE __host__ __device__
|
||||
#define HelperMin(a, b) _Min(a, b)
|
||||
#define HelperMax(a, b) _Max(a, b)
|
||||
#else
|
||||
#include <algorithm>
|
||||
#define ORT_DEVICE
|
||||
|
|
@ -45,6 +50,8 @@ struct SelectedIndex {
|
|||
|
||||
#ifdef __NVCC__
|
||||
namespace cuda {
|
||||
#elif defined(__HIPCC__)
|
||||
namespace rocm {
|
||||
#endif
|
||||
namespace nms_helpers {
|
||||
|
||||
|
|
@ -141,8 +148,10 @@ inline bool SuppressByIOU(const float* boxes_data, int64_t box_index1, int64_t b
|
|||
|
||||
return intersection_over_union > iou_threshold;
|
||||
}
|
||||
} // namespace nms_helpers
|
||||
#ifdef __NVCC__
|
||||
} // namespace cuda
|
||||
#elif defined(__HIPCC__)
|
||||
} // namespace rocm
|
||||
#endif
|
||||
} // namespace nms_helpers
|
||||
} // namespace onnxruntime
|
||||
|
|
|
|||
|
|
@ -1566,15 +1566,15 @@ static Status RegisterRocmKernels(KernelRegistry& kernel_registry) {
|
|||
// BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 10, 10, float, MaxPool)>,
|
||||
// BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 10, 10, double, MaxPool)>,
|
||||
// BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 10, 10, MLFloat16, MaxPool)>,
|
||||
// BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 10, 10, NonMaxSuppression)>,
|
||||
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 10, 10, NonMaxSuppression)>,
|
||||
// BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 10, 10, float, Resize)>,
|
||||
// BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 10, 10, double, Resize)>,
|
||||
// BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 10, 10, MLFloat16, Resize)>,
|
||||
// BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 10, 10, int32_t, Resize)>,
|
||||
// BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 10, 10, uint8_t, Resize)>,
|
||||
BuildKernelCreateInfo<ONNX_OPERATOR_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 10, ReverseSequence)>,
|
||||
// BuildKernelCreateInfo<ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 10, float, RoiAlign)>,
|
||||
// BuildKernelCreateInfo<ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 10, double, RoiAlign)>,
|
||||
BuildKernelCreateInfo<ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 10, float, RoiAlign)>,
|
||||
BuildKernelCreateInfo<ONNX_OPERATOR_TYPED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 10, double, RoiAlign)>,
|
||||
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 10, 10, int32_t, Slice)>,
|
||||
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 10, 10, int64_t, Slice)>,
|
||||
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 10, 10, float, Slice)>,
|
||||
|
|
@ -1605,7 +1605,7 @@ static Status RegisterRocmKernels(KernelRegistry& kernel_registry) {
|
|||
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 11, 12, double, Gemm)>,
|
||||
// BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 11, 12, If)>,
|
||||
// BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 11, 12, Loop)>,
|
||||
// BuildKernelCreateInfo<ONNX_OPERATOR_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 11, NonMaxSuppression)>,
|
||||
BuildKernelCreateInfo<ONNX_OPERATOR_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 11, NonMaxSuppression)>,
|
||||
BuildKernelCreateInfo<ONNX_OPERATOR_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 11, Range)>,
|
||||
BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 11, 12, float, ReduceL1)>,
|
||||
// BuildKernelCreateInfo<ONNX_OPERATOR_VERSIONED_TYPED_KERNEL_CLASS_NAME(kRocmExecutionProvider, kOnnxDomain, 11, 12, double, ReduceL1)>,
|
||||
|
|
|
|||
|
|
@ -110,14 +110,6 @@ provider_excluded_files = [
|
|||
'nn/max_pool_with_index.h',
|
||||
'nn/pool.cc',
|
||||
'nn/pool.h',
|
||||
'object_detection/non_max_suppression.cc',
|
||||
'object_detection/non_max_suppression.h',
|
||||
'object_detection/non_max_suppression_impl.cu',
|
||||
'object_detection/non_max_suppression_impl.h',
|
||||
'object_detection/roialign.cc',
|
||||
'object_detection/roialign.h',
|
||||
'object_detection/roialign_impl.cu',
|
||||
'object_detection/roialign_impl.h',
|
||||
'reduction/reduction_ops.cc',
|
||||
'reduction/reduction_ops.h',
|
||||
'rnn/cudnn_rnn_base.cc',
|
||||
|
|
|
|||
Loading…
Reference in a new issue