33 #define ORT_API_VERSION 14
51 #define _Frees_ptr_opt_
52 #define _Ret_maybenull_
54 #define _Check_return_
55 #define _Outptr_result_maybenull_
57 #define _Inout_updates_all_(X)
58 #define _Out_writes_bytes_all_(X)
59 #define _Out_writes_all_(X)
61 #define _Outptr_result_buffer_maybenull_(X)
62 #define ORT_ALL_ARGS_NONNULL __attribute__((nonnull))
64 #include <specstrings.h>
65 #define ORT_ALL_ARGS_NONNULL
72 #define ORT_EXPORT __declspec(dllimport)
76 #define ORT_API_CALL _stdcall
77 #define ORT_MUST_USE_RESULT
78 #define ORTCHAR_T wchar_t
82 #define ORT_EXPORT __attribute__((visibility("default")))
87 #define ORT_MUST_USE_RESULT __attribute__((warn_unused_result))
88 #define ORTCHAR_T char
93 #define ORT_TSTR(X) L##X
108 #ifndef __has_feature
109 #define __has_feature(x) 0
111 #if ((__cplusplus >= 201103L) || (_MSC_VER >= 1900) || (defined(__has_feature) && __has_feature(cxx_noexcept)))
112 #define NO_EXCEPTION noexcept
114 #define NO_EXCEPTION throw()
121 #define ORT_API(RETURN_TYPE, NAME, ...) RETURN_TYPE ORT_API_CALL NAME(__VA_ARGS__) NO_EXCEPTION
123 #define ORT_API_STATUS(NAME, ...) \
124 _Success_(return == 0) _Check_return_ _Ret_maybenull_ OrtStatusPtr ORT_API_CALL NAME(__VA_ARGS__) \
125 NO_EXCEPTION ORT_MUST_USE_RESULT
128 #define ORT_API2_STATUS(NAME, ...) \
129 _Check_return_ _Ret_maybenull_ OrtStatusPtr(ORT_API_CALL* NAME)(__VA_ARGS__) NO_EXCEPTION ORT_MUST_USE_RESULT
132 #define ORT_API_STATUS_IMPL(NAME, ...) \
133 _Success_(return == 0) _Check_return_ _Ret_maybenull_ OrtStatusPtr ORT_API_CALL NAME(__VA_ARGS__) NO_EXCEPTION
135 #define ORT_CLASS_RELEASE(X) void(ORT_API_CALL * Release##X)(_Frees_ptr_opt_ Ort##X * input)
138 #undef ORT_API_STATUS
139 #define ORT_API_STATUS(NAME, ...) OrtStatus* NAME(__VA_ARGS__)
140 #undef ORT_API2_STATUS
141 #define ORT_API2_STATUS(NAME, ...) OrtStatus* NAME(__VA_ARGS__)
142 #undef ORT_CLASS_RELEASE
143 #define ORT_CLASS_RELEASE(X) void Release##X(Ort##X* input)
241 #define ORT_RUNTIME_CLASS(X) \
243 typedef struct Ort##X Ort##X;
275 typedef _Return_type_success_(
return == 0) OrtStatus*
OrtStatusPtr;
728 _In_ const OrtSessionOptions* options,
_Outptr_ OrtSession** out);
740 ORT_API2_STATUS(CreateSessionFromArray,
_In_ const OrtEnv* env,
_In_ const void* model_data,
size_t model_data_length,
741 _In_ const OrtSessionOptions* options,
_Outptr_ OrtSession** out);
762 _In_reads_(input_len)
const char*
const* input_names,
764 _In_reads_(output_names_len)
const char*
const* output_names,
size_t output_names_len,
806 _Outptr_ OrtSessionOptions** out_options);
899 ORT_API2_STATUS(SetSessionLogVerbosityLevel,
_Inout_ OrtSessionOptions* options,
int session_log_verbosity_level);
908 ORT_API2_STATUS(SetSessionLogSeverityLevel,
_Inout_ OrtSessionOptions* options,
int session_log_severity_level);
1076 ORT_API2_STATUS(SessionGetOverridableInitializerTypeInfo,
_In_ const OrtSession* session,
size_t index,
_Outptr_ OrtTypeInfo** type_info);
1109 ORT_API2_STATUS(SessionGetOverridableInitializerName,
_In_ const OrtSession* session,
size_t index,
1165 _Out_ int* log_verbosity_level);
1363 ORT_API2_STATUS(SetDimensions, OrtTensorTypeAndShapeInfo* info,
_In_ const int64_t* dim_values,
size_t dim_count);
1397 size_t dim_values_length);
1408 _Out_writes_all_(dim_params_length)
const char* dim_params[],
size_t dim_params_length);
1559 _In_ int64_t dim_value);
1678 _Out_ void* data_container,
size_t data_container_size);
1705 _Out_ int64_t* out);
1890 ORT_API2_STATUS(GetSequenceElementType,
_In_ const OrtSequenceTypeInfo* sequence_type_info,
1939 ORT_API2_STATUS(ModelMetadataGetProducerName,
_In_ const OrtModelMetadata* model_metadata,
1985 ORT_API2_STATUS(ModelMetadataLookupCustomMetadataMap,
_In_ const OrtModelMetadata* model_metadata,
2017 _In_ const OrtThreadingOptions* tp_options,
_Outptr_ OrtEnv** out);
2062 ORT_API2_STATUS(ModelMetadataGetCustomMetadataMapKeys,
_In_ const OrtModelMetadata* model_metadata,
2077 _Inout_ OrtSessionOptions* options,
_In_ const char* dim_name,
2078 _In_ int64_t dim_value);
2105 _In_ int providers_length);
2159 _In_z_ const char* config_key,
_In_z_ const char* config_value);
2390 ORT_API2_STATUS(SetGlobalIntraOpNumThreads,
_Inout_ OrtThreadingOptions* tp_options,
int intra_op_num_threads);
2403 ORT_API2_STATUS(SetGlobalInterOpNumThreads,
_Inout_ OrtThreadingOptions* tp_options,
int inter_op_num_threads);
2461 _In_ const char* logid,
_In_ const struct OrtThreadingOptions* tp_options,
_Outptr_ OrtEnv** out);
2535 ORT_API2_STATUS(CreateArenaCfg,
_In_ size_t max_mem,
int arena_extend_strategy,
int initial_chunk_size_bytes,
2555 ORT_API2_STATUS(ModelMetadataGetGraphDescription,
_In_ const OrtModelMetadata* model_metadata,
2688 _In_reads_(num_keys)
const size_t* arena_config_values,
_In_ size_t num_keys,
2708 _In_z_ const char* config_key,
_In_z_ const char* config_value);
2756 _In_ const OrtSessionOptions* options,
_Inout_ OrtPrepackedWeightsContainer* prepacked_weights_container,
2777 ORT_API2_STATUS(CreateSessionFromArrayWithPrepackedWeightsContainer,
_In_ const OrtEnv* env,
2778 _In_ const void* model_data,
size_t model_data_length,
2779 _In_ const OrtSessionOptions* options,
_Inout_ OrtPrepackedWeightsContainer* prepacked_weights_container,
2834 _In_reads_(num_keys)
const char*
const* provider_options_keys,
2835 _In_reads_(num_keys)
const char*
const* provider_options_values,
2836 _In_ size_t num_keys);
2954 _In_ const int64_t* values_shape,
size_t values_shape_len,
_In_ const void*
values,
2955 _In_ const int64_t* indices_data,
size_t indices_num);
2977 _In_ const int64_t* values_shape,
size_t values_shape_len,
_In_ const void* values,
2978 _In_ const int64_t* inner_indices_data,
size_t inner_indices_num,
2979 _In_ const int64_t* outer_indices_data,
size_t outer_indices_num);
3000 _In_ const int64_t* values_shape,
size_t values_shape_len,
_In_ const void* values,
3001 _In_ const int64_t* indices_shape_data,
size_t indices_shape_len,
3002 _In_ const int32_t* indices_data);
3029 _In_ const int64_t* dense_shape,
size_t dense_shape_len,
3030 _In_ const int64_t* values_shape,
size_t values_shape_len,
3066 _Inout_ int64_t* outer_data,
size_t outer_num);
3213 ORT_API2_STATUS(SessionOptionsSetCustomThreadCreationOptions,
_Inout_ OrtSessionOptions* options,
_In_ void* ort_custom_thread_creation_options);
3243 ORT_API2_STATUS(SetGlobalCustomThreadCreationOptions,
_Inout_ OrtThreadingOptions* tp_options,
_In_ void* ort_custom_thread_creation_options);
3332 _In_reads_(num_keys)
const char*
const* provider_options_keys,
3333 _In_reads_(num_keys)
const char*
const* provider_options_values,
3334 _In_ size_t num_keys);
3398 _In_reads_(input_len)
const char*
const* initializer_names,
3412 _In_ const char* name,
3445 _In_ const char* op_name,
3446 _In_ const char* domain,
3448 _In_opt_ const char** type_constraint_names,
3450 _In_opt_ int type_constraint_count,
3451 _In_opt_ const OrtOpAttr*
const* attr_values,
3453 _In_ int input_count,
3454 _In_ int output_count,
3471 _In_ const OrtOp* ort_op,
3473 _In_ int input_count,
3475 _In_ int output_count);
3520 _In_ const char* provider_name,
3521 _In_reads_(num_keys)
const char*
const* provider_options_keys,
3522 _In_reads_(num_keys)
const char*
const* provider_options_values,
3523 _In_ size_t num_keys);
3586 _In_reads_(num_keys)
const char*
const* provider_options_keys,
3587 _In_reads_(num_keys)
const char*
const* provider_options_values,
3588 _In_ size_t num_keys);
3648 ORT_API2_STATUS(SetGlobalIntraOpThreadAffinity,
_Inout_ OrtThreadingOptions* tp_options,
const char* affinity_string);
3695 _In_ const char* registration_func_name);
3971 ORT_API_STATUS(OrtSessionOptionsAppendExecutionProvider_CUDA,
_In_ OrtSessionOptions* options,
int device_id);
3981 ORT_API_STATUS(OrtSessionOptionsAppendExecutionProvider_MIGraphX,
_In_ OrtSessionOptions* options,
int device_id);
const struct OrtCustomHandleType * OrtCustomThreadHandle
uint32_t version
Must be initialized to ORT_API_VERSION.
GLuint GLsizei const GLchar * message
unsigned char enable_opencl_throttling
0 = disabled, nonzero = enabled
void(ORT_API_CALL *Free)(struct OrtAllocator *this_
const char * trt_engine_cache_path
OrtCustomThreadHandle(* OrtCustomCreateThreadFn)(void *ort_custom_thread_creation_options, OrtThreadWorkerFn ort_thread_worker_fn, void *ort_worker_fn_param)
Ort custom thread creation function.
void *ORT_API_CALL * CreateKernel(_In_ const struct OrtCustomOp *op, _In_ const OrtApi *api, _In_ const OrtKernelInfo *info)
GLsizei GLenum const void * indices
Fatal error messages (most severe).
#define _Outptr_result_buffer_maybenull_(X)
int has_user_compute_stream
Flag indicating if there is a user provided compute stream Defaults to 0.
const char * device_type
Device type string.
const char *ORT_API_CALL * GetErrorMessage(_In_ const OrtStatus *status) NO_EXCEPTION ORT_ALL_ARGS_NONNULL
Get error string from OrtStatus.
int arena_extend_strategy
Strategy used to grow the memory arena 0 = kNextPowerOfTwo 1 = kSameAsRequested Defaults to 0...
size_t trt_max_workspace_size
OrtMemoryInfoDeviceType
This mimics OrtDevice type constants so they can be returned in the API.
void * user_compute_stream
#define ORT_API_STATUS(NAME,...)
OrtCudnnConvAlgoSearch
Algorithm to use for cuDNN Convolution Op.
int trt_int8_use_native_calibration_table
OrtCustomOpInputOutputCharacteristic(ORT_API_CALL *GetInputCharacteristic)(_In_ const struct OrtCustomOp *op
struct OrtTrainingApi OrtTrainingApi
size_t gpu_mem_limit
ROCM memory limit (To use all possible memory pass in maximum size_t) Defaults to SIZE_MAX...
OrtMemType(ORT_API_CALL *GetInputMemoryType)(_In_ const struct OrtCustomOp *op
struct OrtAllocator OrtAllocator
Memory allocation interface.
void(ORT_API_CALL *ClearBoundInputs)(_Inout_ OrtIoBinding *binding_ptr) NO_EXCEPTION ORT_ALL_ARGS_NONNULL
Clears any previously set Inputs for an ::OrtIoBinding.
CPU accessible memory outputted by non-CPU execution provider, i.e. CUDA_PINNED.
const char * trt_int8_calibration_table_name
void(ORT_API_CALL * OrtLoggingFunction)(void *param, OrtLoggingLevel severity, const char *category, const char *logid, const char *code_location, const char *message)
size_t num_of_threads
0 = Use default number of threads
int tunable_op_enabled
Enable TunableOp. Set it to 1 to enable TunableOp. Otherwise, it is disabled by default. This option can be superseded by environment variable ORT_ROCM_TUNABLE_OP_ENABLED.
GLuint GLsizei const GLuint const GLintptr * offsets
int trt_force_sequential_engine_build
const char *ORT_API_CALL * GetVersionString(void) NO_EXCEPTION
Returns a null terminated string of the version of the Onnxruntime library (eg: "1.8.1")
OrtCustomOpInputOutputCharacteristic
void * p
Free a block of memory previously allocated with OrtAllocator::Alloc.
int do_copy_in_default_stream
Flag indicating if copying needs to take place on the same stream as the compute stream in the ROCM E...
#define _Out_writes_all_(X)
int trt_engine_cache_enable
std::vector< std::string > GetAvailableProviders()
This is a C++ wrapper for OrtApi::GetAvailableProviders() and returns a vector of strings representin...
struct OrtCUDAProviderOptions OrtCUDAProviderOptions
CUDA Provider Options.
OrtLanguageProjection
Language projection identifiers /see OrtApi::SetLanguageProjection.
The helper interface to get the right version of OrtApi.
The default allocator for execution provider.
A generic, discriminated value, whose type may be queried dynamically.
constexpr std::enable_if< I< type_count_base< T >::value, int >::type tuple_type_size(){return subtype_count< typename std::tuple_element< I, T >::type >::value+tuple_type_size< T, I+1 >);}template< typename T > struct type_count< T, typename std::enable_if< is_tuple_like< T >::value >::type >{static constexpr int value{tuple_type_size< T, 0 >)};};template< typename T > struct subtype_count{static constexpr int value{is_mutable_container< T >::value?expected_max_vector_size:type_count< T >::value};};template< typename T, typename Enable=void > struct type_count_min{static const int value{0};};template< typename T >struct type_count_min< T, typename std::enable_if<!is_mutable_container< T >::value &&!is_tuple_like< T >::value &&!is_wrapper< T >::value &&!is_complex< T >::value &&!std::is_void< T >::value >::type >{static constexpr int value{type_count< T >::value};};template< typename T > struct type_count_min< T, typename std::enable_if< is_complex< T >::value >::type >{static constexpr int value{1};};template< typename T >struct type_count_min< T, typename std::enable_if< is_wrapper< T >::value &&!is_complex< T >::value &&!is_tuple_like< T >::value >::type >{static constexpr int value{subtype_count_min< typename T::value_type >::value};};template< typename T, std::size_t I >constexpr typename std::enable_if< I==type_count_base< T >::value, int >::type tuple_type_size_min(){return 0;}template< typename T, std::size_t I > constexpr typename std::enable_if< I< type_count_base< T >::value, int >::type tuple_type_size_min(){return subtype_count_min< typename std::tuple_element< I, T >::type >::value+tuple_type_size_min< T, I+1 >);}template< typename T > struct type_count_min< T, typename std::enable_if< is_tuple_like< T >::value >::type >{static constexpr int value{tuple_type_size_min< T, 0 >)};};template< typename T > struct subtype_count_min{static constexpr int value{is_mutable_container< T >::value?((type_count< T >::value< expected_max_vector_size)?type_count< T >::value:0):type_count_min< T >::value};};template< typename T, typename Enable=void > struct expected_count{static const int value{0};};template< typename T >struct expected_count< T, typename std::enable_if<!is_mutable_container< T >::value &&!is_wrapper< T >::value &&!std::is_void< T >::value >::type >{static constexpr int value{1};};template< typename T > struct expected_count< T, typename std::enable_if< is_mutable_container< T >::value >::type >{static constexpr int value{expected_max_vector_size};};template< typename T >struct expected_count< T, typename std::enable_if<!is_mutable_container< T >::value &&is_wrapper< T >::value >::type >{static constexpr int value{expected_count< typename T::value_type >::value};};enum class object_category:int{char_value=1, integral_value=2, unsigned_integral=4, enumeration=6, boolean_value=8, floating_point=10, number_constructible=12, double_constructible=14, integer_constructible=16, string_assignable=23, string_constructible=24, other=45, wrapper_value=50, complex_number=60, tuple_value=70, container_value=80,};template< typename T, typename Enable=void > struct classify_object{static constexpr object_category value{object_category::other};};template< typename T >struct classify_object< T, typename std::enable_if< std::is_integral< T >::value &&!std::is_same< T, char >::value &&std::is_signed< T >::value &&!is_bool< T >::value &&!std::is_enum< T >::value >::type >{static constexpr object_category value{object_category::integral_value};};template< typename T >struct classify_object< T, typename std::enable_if< std::is_integral< T >::value &&std::is_unsigned< T >::value &&!std::is_same< T, char >::value &&!is_bool< T >::value >::type >{static constexpr object_category value{object_category::unsigned_integral};};template< typename T >struct classify_object< T, typename std::enable_if< std::is_same< T, char >::value &&!std::is_enum< T >::value >::type >{static constexpr object_category value{object_category::char_value};};template< typename T > struct classify_object< T, typename std::enable_if< is_bool< T >::value >::type >{static constexpr object_category value{object_category::boolean_value};};template< typename T > struct classify_object< T, typename std::enable_if< std::is_floating_point< T >::value >::type >{static constexpr object_category value{object_category::floating_point};};template< typename T >struct classify_object< T, typename std::enable_if<!std::is_floating_point< T >::value &&!std::is_integral< T >::value &&std::is_assignable< T &, std::string >::value >::type >{static constexpr object_category value{object_category::string_assignable};};template< typename T >struct classify_object< T, typename std::enable_if<!std::is_floating_point< T >::value &&!std::is_integral< T >::value &&!std::is_assignable< T &, std::string >::value &&(type_count< T >::value==1)&&std::is_constructible< T, std::string >::value >::type >{static constexpr object_category value{object_category::string_constructible};};template< typename T > struct classify_object< T, typename std::enable_if< std::is_enum< T >::value >::type >{static constexpr object_category value{object_category::enumeration};};template< typename T > struct classify_object< T, typename std::enable_if< is_complex< T >::value >::type >{static constexpr object_category value{object_category::complex_number};};template< typename T > struct uncommon_type{using type=typename std::conditional<!std::is_floating_point< T >::value &&!std::is_integral< T >::value &&!std::is_assignable< T &, std::string >::value &&!std::is_constructible< T, std::string >::value &&!is_complex< T >::value &&!is_mutable_container< T >::value &&!std::is_enum< T >::value, std::true_type, std::false_type >::type;static constexpr bool value=type::value;};template< typename T >struct classify_object< T, typename std::enable_if<(!is_mutable_container< T >::value &&is_wrapper< T >::value &&!is_tuple_like< T >::value &&uncommon_type< T >::value)>::type >{static constexpr object_category value{object_category::wrapper_value};};template< typename T >struct classify_object< T, typename std::enable_if< uncommon_type< T >::value &&type_count< T >::value==1 &&!is_wrapper< T >::value &&is_direct_constructible< T, double >::value &&is_direct_constructible< T, int >::value >::type >{static constexpr object_category value{object_category::number_constructible};};template< typename T >struct classify_object< T, typename std::enable_if< uncommon_type< T >::value &&type_count< T >::value==1 &&!is_wrapper< T >::value &&!is_direct_constructible< T, double >::value &&is_direct_constructible< T, int >::value >::type >{static constexpr object_category value{object_category::integer_constructible};};template< typename T >struct classify_object< T, typename std::enable_if< uncommon_type< T >::value &&type_count< T >::value==1 &&!is_wrapper< T >::value &&is_direct_constructible< T, double >::value &&!is_direct_constructible< T, int >::value >::type >{static constexpr object_category value{object_category::double_constructible};};template< typename T >struct classify_object< T, typename std::enable_if< is_tuple_like< T >::value &&((type_count< T >::value >=2 &&!is_wrapper< T >::value)||(uncommon_type< T >::value &&!is_direct_constructible< T, double >::value &&!is_direct_constructible< T, int >::value)||(uncommon_type< T >::value &&type_count< T >::value >=2))>::type >{static constexpr object_category value{object_category::tuple_value};};template< typename T > struct classify_object< T, typename std::enable_if< is_mutable_container< T >::value >::type >{static constexpr object_category value{object_category::container_value};};template< typename T, enable_if_t< classify_object< T >::value==object_category::char_value, detail::enabler >=detail::dummy >constexpr const char *type_name(){return"CHAR";}template< typename T, enable_if_t< classify_object< T >::value==object_category::integral_value||classify_object< T >::value==object_category::integer_constructible, detail::enabler >=detail::dummy >constexpr const char *type_name(){return"INT";}template< typename T, enable_if_t< classify_object< T >::value==object_category::unsigned_integral, detail::enabler >=detail::dummy >constexpr const char *type_name(){return"UINT";}template< typename T, enable_if_t< classify_object< T >::value==object_category::floating_point||classify_object< T >::value==object_category::number_constructible||classify_object< T >::value==object_category::double_constructible, detail::enabler >=detail::dummy >constexpr const char *type_name(){return"FLOAT";}template< typename T, enable_if_t< classify_object< T >::value==object_category::enumeration, detail::enabler >=detail::dummy >constexpr const char *type_name(){return"ENUM";}template< typename T, enable_if_t< classify_object< T >::value==object_category::boolean_value, detail::enabler >=detail::dummy >constexpr const char *type_name(){return"BOOLEAN";}template< typename T, enable_if_t< classify_object< T >::value==object_category::complex_number, detail::enabler >=detail::dummy >constexpr const char *type_name(){return"COMPLEX";}template< typename T, enable_if_t< classify_object< T >::value >=object_category::string_assignable &&classify_object< T >::value<=object_category::other, detail::enabler >=detail::dummy >constexpr const char *type_name(){return"TEXT";}template< typename T, enable_if_t< classify_object< T >::value==object_category::tuple_value &&type_count_base< T >::value >=2, detail::enabler >=detail::dummy >std::string type_name();template< typename T, enable_if_t< classify_object< T >::value==object_category::container_value||classify_object< T >::value==object_category::wrapper_value, detail::enabler >=detail::dummy >std::string type_name();template< typename T, enable_if_t< classify_object< T >::value==object_category::tuple_value &&type_count_base< T >::value==1, detail::enabler >=detail::dummy >inline std::string type_name(){return type_name< typename std::decay< typename std::tuple_element< 0, T >::type >::type >);}template< typename T, std::size_t I >inline typename std::enable_if< I==type_count_base< T >::value, std::string >::type tuple_name(){return std::string{};}template< typename T, std::size_t I >inline typename std::enable_if<(I< type_count_base< T >::value), std::string >::type tuple_name(){auto str=std::string{type_name< typename std::decay< typename std::tuple_element< I, T >::type >::type >)}+ ','+tuple_name< T, I+1 >);if(str.back()== ',') str.pop_back();return str;}template< typename T, enable_if_t< classify_object< T >::value==object_category::tuple_value &&type_count_base< T >::value >=2, detail::enabler > > std::string type_name()
Recursively generate the tuple type name.
struct OrtOpenVINOProviderOptions OrtOpenVINOProviderOptions
OpenVINO Provider Options.
GraphOptimizationLevel
Graph optimization level.
void(ORT_API_CALL *KernelCompute)(_In_ void *op_kernel
#define _Inout_updates_all_(X)
ONNXTensorElementDataType(ORT_API_CALL *GetInputType)(_In_ const struct OrtCustomOp *op
OrtArenaCfg * default_memory_arena_cfg
CUDA memory arena configuration parameters.
int device_id
ROCM device Id Defaults to 0.
OpenVINO Provider Options.
Options for the TensorRT provider that are passed to SessionOptionsAppendExecutionProvider_TensorRT_V...
Verbose informational messages (least severe).
OrtStatus *ORT_API_CALL * CreateStatus(OrtErrorCode code, _In_ const char *msg) NO_EXCEPTION ORT_ALL_ARGS_NONNULL
Create an OrtStatus from a null terminated string.
void *ORT_API_CALL * Alloc(struct OrtAllocator *this_, size_t size)
Returns a pointer to an allocated block of size bytes.
OrtArenaCfg * default_memory_arena_cfg
ROCM memory arena configuration parameters.
struct OrtROCMProviderOptions OrtROCMProviderOptions
ROCM Provider Options.
GLuint const GLchar * name
int has_user_compute_stream
int(ORT_API_CALL *GetVariadicInputMinArity)(_In_ const struct OrtCustomOp *op)
const char * trt_engine_decryption_lib_path
#define _Out_writes_bytes_all_(X)
ORT_EXPORT const OrtApiBase *ORT_API_CALL OrtGetApiBase(void) NO_EXCEPTION
The Onnxruntime library's entry point to access the C API.
int tunable_op_enabled
Enable TunableOp. Set it to 1 to enable TunableOp. Otherwise, it is disabled by default. This option can be superseded by environment variable ORT_CUDA_TUNABLE_OP_ENABLED.
_Out_ OrtMemoryInfoDeviceType * out
const OrtApi *ORT_API_CALL * GetApi(uint32_t version) NO_EXCEPTION
Get a pointer to the requested version of the OrtApi.
const char *ORT_API_CALL * GetExecutionProviderType(_In_ const struct OrtCustomOp *op)
int miopen_conv_exhaustive_search
ROCM MIOpen Convolution algorithm exaustive search option. Defaults to 0 (false). ...
GT_API const UT_StringHolder version
Any CPU memory used by non-CPU execution provider.
#define ORT_ALL_ARGS_NONNULL
TensorRT Provider Options.
_In_ OrtKernelContext * context
struct OrtKernelInfo OrtKernelInfo
const OrtTrainingApi *ORT_API_CALL * GetTrainingApi(uint32_t version) NO_EXCEPTION
size_t gpu_mem_limit
CUDA memory limit (To use all possible memory pass in maximum size_t) Defaults to SIZE_MAX...
OrtErrorCode(ORT_API_CALL *GetErrorCode)(_In_ const OrtStatus *status) NO_EXCEPTION ORT_ALL_ARGS_NONNULL
Get OrtErrorCode from OrtStatus.
#define ORT_RUNTIME_CLASS(X)
GLenum GLsizei GLsizei GLint * values
int trt_engine_decryption_enable
struct OrtTensorRTProviderOptions OrtTensorRTProviderOptions
TensorRT Provider Options.
ORT_CLASS_RELEASE(Env)
Create an OrtEnv.
#define _Outptr_result_maybenull_
Memory allocation interface.
const struct OrtMemoryInfo *ORT_API_CALL * Info(const struct OrtAllocator *this_)
Return a pointer to an OrtMemoryInfo that describes this allocator.
Temporary CPU accessible memory allocated by non-CPU execution provider, i.e. CUDA_PINNED.
struct OrtMIGraphXProviderOptions OrtMIGraphXProviderOptions
MIGraphX Provider Options.
int device_id
CUDA device Id Defaults to 0.
void * user_compute_stream
User provided compute stream. If provided, please set has_user_compute_stream to 1.
void * user_compute_stream
User provided compute stream. If provided, please set has_user_compute_stream to 1.
int trt_min_subgraph_size
int arena_extend_strategy
Strategy used to grow the memory arena 0 = kNextPowerOfTwo 1 = kSameAsRequested Defaults to 0...
ONNXTensorElementDataType
ORT_API2_STATUS(CreateEnv, OrtLoggingLevel log_severity_level, _In_ const char *logid, _Outptr_ OrtEnv **out)
Create an OrtEnv.
OrtStatus *(ORT_API_CALL * RegisterCustomOpsFn)(OrtSessionOptions *options, const OrtApiBase *api)
unsigned char enable_vpu_fast_compile
0 = disabled, nonzero = enabled
OrtCudnnConvAlgoSearch cudnn_conv_algo_search
CUDA Convolution algorithm search configuration. See enum OrtCudnnConvAlgoSearch for more details...
int do_copy_in_default_stream
Flag indicating if copying needs to take place on the same stream as the compute stream in the CUDA E...
void(* OrtCustomJoinThreadFn)(OrtCustomThreadHandle ort_custom_thread_handle)
Custom thread join function.
size_t(ORT_API_CALL *GetInputTypeCount)(_In_ const struct OrtCustomOp *op)
Options for the CUDA provider that are passed to SessionOptionsAppendExecutionProvider_CUDA_V2. Please note that this struct is similar to OrtCUDAProviderOptions but only to be used internally. Going forward, new cuda provider options are to be supported via this struct and usage of the publicly defined OrtCUDAProviderOptions will be deprecated over time. User can only get the instance of OrtCUDAProviderOptionsV2 via CreateCUDAProviderOptions.
struct OrtKernelContext OrtKernelContext
const char *ORT_API_CALL * GetName(_In_ const struct OrtCustomOp *op)
OrtLoggingLevel
Logging severity levels.
int trt_max_partition_iterations
void(* OrtThreadWorkerFn)(void *ort_worker_fn_param)
Thread work loop function.
OrtMemType
Memory types for allocated memory, execution provider specific types should be extended in each provi...
unsigned char enable_dynamic_shapes
0 = disabled, nonzero = enabled
GLsizei GLenum GLenum GLuint GLenum GLsizei * lengths
int has_user_compute_stream
Flag indicating if there is a user provided compute stream Defaults to 0.
MIGraphX Provider Options.
int device_id
CUDA device id (0 = default device)