pub const MIOPEN_BACKEND_OPENCL: u32 = 0;
pub const MIOPEN_BACKEND_HIP: u32 = 1;
pub const MIOPEN_MODE_NOGPU: u32 = 0;
pub const MIOPEN_USE_ROCBLAS: u32 = 1;
pub const MIOPEN_USE_HIPBLASLT: u32 = 0;
pub const MIOPEN_USE_ROCTRACER: u32 = 1;
pub const MIOPEN_BUILD_DEV: u32 = 0;
pub const MIOPEN_GPU_SYNC: u32 = 0;
pub const MIOPEN_ENABLE_SQLITE: u32 = 1;
pub const MIOPEN_ENABLE_SQLITE_KERN_CACHE: u32 = 1;
pub const MIOPEN_DEBUG_FIND_DB_CACHING: u32 = 1;
pub const MIOPEN_USE_COMGR: u32 = 1;
pub const MIOPEN_USE_HIPRTC: u32 = 1;
pub const MIOPEN_USE_HIP_KERNELS: u32 = 1;
pub const MIOPEN_DISABLE_USERDB: u32 = 0;
pub const MIOPEN_EMBED_DB: u32 = 0;
pub const MIOPEN_DISABLE_SYSDB: u32 = 0;
pub const MIOPEN_LOG_FUNC_TIME_ENABLE: u32 = 0;
pub const MIOPEN_ENABLE_SQLITE_BACKOFF: u32 = 1;
pub const MIOPEN_USE_MLIR: u32 = 0;
pub const MIOPEN_USE_COMPOSABLEKERNEL: u32 = 0;
pub const MIOPEN_BUILD_DRIVER: u32 = 0;
pub const MIOPEN_ENABLE_AI_IMMED_MODE_FALLBACK: u32 = 0;
pub const MIOPEN_ENABLE_AI_KERNEL_TUNING: u32 = 0;
pub const MIOPEN_HIP_COMPILER_HAS_OPTION_OFFLOAD_UNIFORM_BLOCK: u32 = 1;
pub const MIOPEN_WORKAROUND_USE_BOOST_FILESYSTEM: u32 = 0;
pub const MIOPEN_ENABLE_FIN_INTERFACE: u32 = 0;
pub const MIOPEN_AMD_COMGR_VERSION_MAJOR: u32 = 3;
pub const MIOPEN_AMD_COMGR_VERSION_MINOR: u32 = 0;
pub const MIOPEN_AMD_COMGR_VERSION_PATCH: u32 = 0;
pub const MIOPEN_USE_RNE_BFLOAT16: u32 = 1;
pub const MIOPEN_FP8_IEEE_EXPONENT_BIAS: u32 = 0;
pub const MIOPEN_FP8_CLIPPING: u32 = 1;
pub const MIOPEN_OFFLINE_COMPILER_PATHS_V2: u32 = 0;
pub const MIOPEN_HIP_COMPILER: &[u8; 36] = b"/usr/lib64/rocm/llvm/bin/amdclang++\0";
pub const MIOPEN_CACHE_DIR: &[u8; 17] = b"~/.cache/miopen/\0";
pub const MIOPEN_USE_SQLITE_PERFDB: u32 = 0;
pub const MIOPEN_NDEBUG: u32 = 0;
pub const MIOPEN_ALLOC_BUFFERS: u32 = 0;
pub const MIOPEN_ROCBLAS_VERSION_MAJOR: u32 = 5;
pub const MIOPEN_ROCBLAS_VERSION_MINOR: u32 = 1;
pub const MIOPEN_ROCBLAS_VERSION_PATCH: u32 = 1;
pub const MIOPEN_ROCBLAS_VERSION_FLAT: u32 = 5001001;
pub const MIOPEN_GOLDEN_DB_VERSION: u32 = 21;
pub const MIOPEN_API_VERSION_REDUCE_TENSOR: u32 = 1;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ihipStream_t {
_unused: [u8; 0],
}
pub type hipStream_t = *mut ihipStream_t;
pub type miopenAcceleratorQueue_t = hipStream_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenHandle {
pub _address: u8,
}
pub type miopenHandle_t = *mut miopenHandle;
pub const miopenStatus_t_miopenStatusSuccess: miopenStatus_t = 0;
pub const miopenStatus_t_miopenStatusNotInitialized: miopenStatus_t = 1;
pub const miopenStatus_t_miopenStatusInvalidValue: miopenStatus_t = 2;
pub const miopenStatus_t_miopenStatusBadParm: miopenStatus_t = 3;
pub const miopenStatus_t_miopenStatusAllocFailed: miopenStatus_t = 4;
pub const miopenStatus_t_miopenStatusInternalError: miopenStatus_t = 5;
pub const miopenStatus_t_miopenStatusNotImplemented: miopenStatus_t = 6;
pub const miopenStatus_t_miopenStatusUnknownError: miopenStatus_t = 7;
pub const miopenStatus_t_miopenStatusUnsupportedOp: miopenStatus_t = 8;
pub const miopenStatus_t_miopenStatusGpuOperationsSkipped: miopenStatus_t = 9;
pub const miopenStatus_t_miopenStatusVersionMismatch: miopenStatus_t = 10;
pub type miopenStatus_t = ::std::os::raw::c_uint;
unsafe extern "C" {
pub fn miopenGetErrorString(error: miopenStatus_t) -> *const ::std::os::raw::c_char;
}
pub type miopenAllocatorFunction = ::std::option::Option<
unsafe extern "C" fn(
context: *mut ::std::os::raw::c_void,
sizeBytes: usize,
) -> *mut ::std::os::raw::c_void,
>;
pub type miopenDeallocatorFunction = ::std::option::Option<
unsafe extern "C" fn(context: *mut ::std::os::raw::c_void, memory: *mut ::std::os::raw::c_void),
>;
unsafe extern "C" {
pub fn miopenGetVersion(
major: *mut usize,
minor: *mut usize,
patch: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCreate(handle: *mut miopenHandle_t) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCreateWithStream(
handle: *mut miopenHandle_t,
stream: miopenAcceleratorQueue_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDestroy(handle: miopenHandle_t) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetStream(
handle: miopenHandle_t,
streamID: miopenAcceleratorQueue_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetStream(
handle: miopenHandle_t,
streamID: *mut miopenAcceleratorQueue_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetAllocator(
handle: miopenHandle_t,
allocator: miopenAllocatorFunction,
deallocator: miopenDeallocatorFunction,
allocatorContext: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetKernelTime(handle: miopenHandle_t, time: *mut f32) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenEnableProfiling(handle: miopenHandle_t, enable: bool) -> miopenStatus_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenFusionOpDescriptor {
pub _address: u8,
}
pub type miopenFusionOpDescriptor_t = *mut miopenFusionOpDescriptor;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenTensorDescriptor {
pub _address: u8,
}
pub type miopenTensorDescriptor_t = *mut miopenTensorDescriptor;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenSeqTensorDescriptor {
pub _address: u8,
}
pub type miopenSeqTensorDescriptor_t = *mut miopenSeqTensorDescriptor;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenConvolutionDescriptor {
pub _address: u8,
}
pub type miopenConvolutionDescriptor_t = *mut miopenConvolutionDescriptor;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenPoolingDescriptor {
pub _address: u8,
}
pub type miopenPoolingDescriptor_t = *mut miopenPoolingDescriptor;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenLRNDescriptor {
pub _address: u8,
}
pub type miopenLRNDescriptor_t = *mut miopenLRNDescriptor;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenActivationDescriptor {
pub _address: u8,
}
pub type miopenActivationDescriptor_t = *mut miopenActivationDescriptor;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenRNNDescriptor {
pub _address: u8,
}
pub type miopenRNNDescriptor_t = *mut miopenRNNDescriptor;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenCTCLossDescriptor {
pub _address: u8,
}
pub type miopenCTCLossDescriptor_t = *mut miopenCTCLossDescriptor;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenDropoutDescriptor {
pub _address: u8,
}
pub type miopenDropoutDescriptor_t = *mut miopenDropoutDescriptor;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenReduceTensorDescriptor {
pub _address: u8,
}
pub type miopenReduceTensorDescriptor_t = *mut miopenReduceTensorDescriptor;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenMhaDescriptor {
pub _address: u8,
}
pub type miopenMhaDescriptor_t = *mut miopenMhaDescriptor;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenSoftmaxDescriptor {
pub _address: u8,
}
pub type miopenSoftmaxDescriptor_t = *mut miopenSoftmaxDescriptor;
pub const miopenDataType_t_miopenHalf: miopenDataType_t = 0;
pub const miopenDataType_t_miopenFloat: miopenDataType_t = 1;
pub const miopenDataType_t_miopenInt32: miopenDataType_t = 2;
pub const miopenDataType_t_miopenInt8: miopenDataType_t = 3;
pub const miopenDataType_t_miopenBFloat16: miopenDataType_t = 5;
pub const miopenDataType_t_miopenDouble: miopenDataType_t = 6;
pub const miopenDataType_t_miopenFloat8_fnuz: miopenDataType_t = 7;
pub const miopenDataType_t_miopenBFloat8_fnuz: miopenDataType_t = 8;
pub const miopenDataType_t_miopenInt64: miopenDataType_t = 9;
pub type miopenDataType_t = ::std::os::raw::c_uint;
pub const miopenTensorLayout_t_miopenTensorNCHW: miopenTensorLayout_t = 0;
pub const miopenTensorLayout_t_miopenTensorNHWC: miopenTensorLayout_t = 1;
pub const miopenTensorLayout_t_miopenTensorCHWN: miopenTensorLayout_t = 2;
pub const miopenTensorLayout_t_miopenTensorNCHWc4: miopenTensorLayout_t = 3;
pub const miopenTensorLayout_t_miopenTensorNCHWc8: miopenTensorLayout_t = 4;
pub const miopenTensorLayout_t_miopenTensorCHWNc4: miopenTensorLayout_t = 5;
pub const miopenTensorLayout_t_miopenTensorCHWNc8: miopenTensorLayout_t = 6;
pub const miopenTensorLayout_t_miopenTensorNCDHW: miopenTensorLayout_t = 7;
pub const miopenTensorLayout_t_miopenTensorNDHWC: miopenTensorLayout_t = 8;
pub type miopenTensorLayout_t = ::std::os::raw::c_uint;
pub const miopenIndexType_t_miopenIndexUint8: miopenIndexType_t = 0;
pub const miopenIndexType_t_miopenIndexUint16: miopenIndexType_t = 1;
pub const miopenIndexType_t_miopenIndexUint32: miopenIndexType_t = 2;
pub const miopenIndexType_t_miopenIndexUint64: miopenIndexType_t = 3;
pub type miopenIndexType_t = ::std::os::raw::c_uint;
pub const miopenTensorOp_t_miopenTensorOpAdd: miopenTensorOp_t = 0;
pub const miopenTensorOp_t_miopenTensorOpMul: miopenTensorOp_t = 1;
pub const miopenTensorOp_t_miopenTensorOpMin: miopenTensorOp_t = 2;
pub const miopenTensorOp_t_miopenTensorOpMax: miopenTensorOp_t = 3;
pub type miopenTensorOp_t = ::std::os::raw::c_uint;
pub const miopenConvolutionMode_t_miopenConvolution: miopenConvolutionMode_t = 0;
pub const miopenConvolutionMode_t_miopenTranspose: miopenConvolutionMode_t = 1;
pub const miopenConvolutionMode_t_miopenGroupConv: miopenConvolutionMode_t = 2;
pub const miopenConvolutionMode_t_miopenDepthwise: miopenConvolutionMode_t = 3;
pub type miopenConvolutionMode_t = ::std::os::raw::c_uint;
pub const miopenPaddingMode_t_miopenPaddingDefault: miopenPaddingMode_t = 0;
pub const miopenPaddingMode_t_miopenPaddingSame: miopenPaddingMode_t = 1;
pub const miopenPaddingMode_t_miopenPaddingValid: miopenPaddingMode_t = 2;
pub type miopenPaddingMode_t = ::std::os::raw::c_uint;
pub const miopenPoolingMode_t_miopenPoolingMax: miopenPoolingMode_t = 0;
pub const miopenPoolingMode_t_miopenPoolingAverage: miopenPoolingMode_t = 1;
pub const miopenPoolingMode_t_miopenPoolingAverageInclusive: miopenPoolingMode_t = 2;
pub type miopenPoolingMode_t = ::std::os::raw::c_uint;
pub const miopenPoolingWorkspaceIndexMode_t_miopenPoolingWorkspaceIndexMask:
miopenPoolingWorkspaceIndexMode_t = 0;
pub const miopenPoolingWorkspaceIndexMode_t_miopenPoolingWorkspaceIndexImage:
miopenPoolingWorkspaceIndexMode_t = 1;
pub type miopenPoolingWorkspaceIndexMode_t = ::std::os::raw::c_uint;
pub const miopenLRNMode_t_miopenLRNWithinChannel: miopenLRNMode_t = 0;
pub const miopenLRNMode_t_miopenLRNCrossChannel: miopenLRNMode_t = 1;
pub type miopenLRNMode_t = ::std::os::raw::c_uint;
pub const miopenBatchNormMode_t_miopenBNPerActivation: miopenBatchNormMode_t = 0;
pub const miopenBatchNormMode_t_miopenBNSpatial: miopenBatchNormMode_t = 1;
pub type miopenBatchNormMode_t = ::std::os::raw::c_uint;
pub const miopenActivationMode_t_miopenActivationPASTHRU: miopenActivationMode_t = 0;
pub const miopenActivationMode_t_miopenActivationLOGISTIC: miopenActivationMode_t = 1;
pub const miopenActivationMode_t_miopenActivationTANH: miopenActivationMode_t = 2;
pub const miopenActivationMode_t_miopenActivationRELU: miopenActivationMode_t = 3;
pub const miopenActivationMode_t_miopenActivationSOFTRELU: miopenActivationMode_t = 4;
pub const miopenActivationMode_t_miopenActivationABS: miopenActivationMode_t = 5;
pub const miopenActivationMode_t_miopenActivationPOWER: miopenActivationMode_t = 6;
pub const miopenActivationMode_t_miopenActivationCLIPPEDRELU: miopenActivationMode_t = 7;
pub const miopenActivationMode_t_miopenActivationLEAKYRELU: miopenActivationMode_t = 8;
pub const miopenActivationMode_t_miopenActivationELU: miopenActivationMode_t = 9;
pub const miopenActivationMode_t_miopenActivationCLAMP: miopenActivationMode_t = 10;
pub type miopenActivationMode_t = ::std::os::raw::c_uint;
pub const miopenSoftmaxAlgorithm_t_MIOPEN_SOFTMAX_FAST: miopenSoftmaxAlgorithm_t = 0;
pub const miopenSoftmaxAlgorithm_t_MIOPEN_SOFTMAX_ACCURATE: miopenSoftmaxAlgorithm_t = 1;
pub const miopenSoftmaxAlgorithm_t_MIOPEN_SOFTMAX_LOG: miopenSoftmaxAlgorithm_t = 2;
pub type miopenSoftmaxAlgorithm_t = ::std::os::raw::c_uint;
pub const miopenSoftmaxMode_t_MIOPEN_SOFTMAX_MODE_INSTANCE: miopenSoftmaxMode_t = 0;
pub const miopenSoftmaxMode_t_MIOPEN_SOFTMAX_MODE_CHANNEL: miopenSoftmaxMode_t = 1;
pub type miopenSoftmaxMode_t = ::std::os::raw::c_uint;
pub const miopenReduceTensorOp_t_MIOPEN_REDUCE_TENSOR_ADD: miopenReduceTensorOp_t = 0;
pub const miopenReduceTensorOp_t_MIOPEN_REDUCE_TENSOR_MUL: miopenReduceTensorOp_t = 1;
pub const miopenReduceTensorOp_t_MIOPEN_REDUCE_TENSOR_MIN: miopenReduceTensorOp_t = 2;
pub const miopenReduceTensorOp_t_MIOPEN_REDUCE_TENSOR_MAX: miopenReduceTensorOp_t = 3;
pub const miopenReduceTensorOp_t_MIOPEN_REDUCE_TENSOR_AMAX: miopenReduceTensorOp_t = 4;
pub const miopenReduceTensorOp_t_MIOPEN_REDUCE_TENSOR_AVG: miopenReduceTensorOp_t = 5;
pub const miopenReduceTensorOp_t_MIOPEN_REDUCE_TENSOR_NORM1: miopenReduceTensorOp_t = 6;
pub const miopenReduceTensorOp_t_MIOPEN_REDUCE_TENSOR_NORM2: miopenReduceTensorOp_t = 7;
pub type miopenReduceTensorOp_t = ::std::os::raw::c_uint;
pub const miopenNanPropagation_t_MIOPEN_NOT_PROPAGATE_NAN: miopenNanPropagation_t = 0;
pub const miopenNanPropagation_t_MIOPEN_PROPAGATE_NAN: miopenNanPropagation_t = 1;
pub type miopenNanPropagation_t = ::std::os::raw::c_uint;
pub const miopenReduceTensorIndices_t_MIOPEN_REDUCE_TENSOR_NO_INDICES: miopenReduceTensorIndices_t =
0;
pub const miopenReduceTensorIndices_t_MIOPEN_REDUCE_TENSOR_FLATTENED_INDICES:
miopenReduceTensorIndices_t = 1;
pub type miopenReduceTensorIndices_t = ::std::os::raw::c_uint;
pub const miopenIndicesType_t_MIOPEN_32BIT_INDICES: miopenIndicesType_t = 0;
pub const miopenIndicesType_t_MIOPEN_64BIT_INDICES: miopenIndicesType_t = 1;
pub const miopenIndicesType_t_MIOPEN_16BIT_INDICES: miopenIndicesType_t = 2;
pub const miopenIndicesType_t_MIOPEN_8BIT_INDICES: miopenIndicesType_t = 3;
pub type miopenIndicesType_t = ::std::os::raw::c_uint;
pub const miopenConvolutionAttrib_t_MIOPEN_CONVOLUTION_ATTRIB_FP16_ALT_IMPL:
miopenConvolutionAttrib_t = 0;
pub const miopenConvolutionAttrib_t_MIOPEN_CONVOLUTION_ATTRIB_DETERMINISTIC:
miopenConvolutionAttrib_t = 1;
pub type miopenConvolutionAttrib_t = ::std::os::raw::c_uint;
pub const miopenConvolutionFindMode_t_miopenConvolutionFindModeNormal: miopenConvolutionFindMode_t =
1;
pub const miopenConvolutionFindMode_t_miopenConvolutionFindModeFast: miopenConvolutionFindMode_t =
2;
pub const miopenConvolutionFindMode_t_miopenConvolutionFindModeHybrid: miopenConvolutionFindMode_t =
3;
pub const miopenConvolutionFindMode_t_miopenConvolutionFindModeDynamicHybrid:
miopenConvolutionFindMode_t = 5;
pub const miopenConvolutionFindMode_t_miopenConvolutionFindModeTrustVerify:
miopenConvolutionFindMode_t = 6;
pub const miopenConvolutionFindMode_t_miopenConvolutionFindModeTrustVerifyFull:
miopenConvolutionFindMode_t = 7;
pub const miopenConvolutionFindMode_t_miopenConvolutionFindModeDefault:
miopenConvolutionFindMode_t = 5;
pub type miopenConvolutionFindMode_t = ::std::os::raw::c_uint;
unsafe extern "C" {
pub fn miopenCreateTensorDescriptor(
tensorDesc: *mut miopenTensorDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSet4dTensorDescriptor(
tensorDesc: miopenTensorDescriptor_t,
dataType: miopenDataType_t,
n: ::std::os::raw::c_int,
c: ::std::os::raw::c_int,
h: ::std::os::raw::c_int,
w: ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetNdTensorDescriptorWithLayout(
tensorDesc: miopenTensorDescriptor_t,
dataType: miopenDataType_t,
tensorLayout: miopenTensorLayout_t,
lens: *const ::std::os::raw::c_int,
num_lens: ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSet4dTensorDescriptorEx(
tensorDesc: miopenTensorDescriptor_t,
dataType: miopenDataType_t,
n: ::std::os::raw::c_int,
c: ::std::os::raw::c_int,
h: ::std::os::raw::c_int,
w: ::std::os::raw::c_int,
nStride: ::std::os::raw::c_int,
cStride: ::std::os::raw::c_int,
hStride: ::std::os::raw::c_int,
wStride: ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGet4dTensorDescriptor(
tensorDesc: miopenTensorDescriptor_t,
dataType: *mut miopenDataType_t,
n: *mut ::std::os::raw::c_int,
c: *mut ::std::os::raw::c_int,
h: *mut ::std::os::raw::c_int,
w: *mut ::std::os::raw::c_int,
nStride: *mut ::std::os::raw::c_int,
cStride: *mut ::std::os::raw::c_int,
hStride: *mut ::std::os::raw::c_int,
wStride: *mut ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetTensorDescriptor(
tensorDesc: miopenTensorDescriptor_t,
dataType: miopenDataType_t,
nbDims: ::std::os::raw::c_int,
dimsA: *const ::std::os::raw::c_int,
stridesA: *const ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetTensorDescriptorSize(
tensorDesc: miopenTensorDescriptor_t,
size: *mut ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetTensorDescriptor(
tensorDesc: miopenTensorDescriptor_t,
dataType: *mut miopenDataType_t,
dimsA: *mut ::std::os::raw::c_int,
stridesA: *mut ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDestroyTensorDescriptor(tensorDesc: miopenTensorDescriptor_t) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCreateSeqTensorDescriptor(
tensorDesc: *mut miopenSeqTensorDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDestroySeqTensorDescriptor(
tensorDesc: miopenSeqTensorDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenOpTensor(
handle: miopenHandle_t,
tensorOp: miopenTensorOp_t,
alpha1: *const ::std::os::raw::c_void,
aDesc: miopenTensorDescriptor_t,
A: *const ::std::os::raw::c_void,
alpha2: *const ::std::os::raw::c_void,
bDesc: miopenTensorDescriptor_t,
B: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
cDesc: miopenTensorDescriptor_t,
C: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetTensor(
handle: miopenHandle_t,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
alpha: *const ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenScaleTensor(
handle: miopenHandle_t,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
alpha: *const ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetTensorNumBytes(
tensorDesc: miopenTensorDescriptor_t,
numBytes: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenTransformTensor(
handle: miopenHandle_t,
alpha: *const ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCreateConvolutionDescriptor(
convDesc: *mut miopenConvolutionDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenInitConvolutionDescriptor(
convDesc: miopenConvolutionDescriptor_t,
c_mode: miopenConvolutionMode_t,
pad_h: ::std::os::raw::c_int,
pad_w: ::std::os::raw::c_int,
stride_h: ::std::os::raw::c_int,
stride_w: ::std::os::raw::c_int,
dilation_h: ::std::os::raw::c_int,
dilation_w: ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenInitConvolutionNdDescriptor(
convDesc: miopenConvolutionDescriptor_t,
spatialDim: ::std::os::raw::c_int,
padA: *const ::std::os::raw::c_int,
strideA: *const ::std::os::raw::c_int,
dilationA: *const ::std::os::raw::c_int,
c_mode: miopenConvolutionMode_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetConvolutionSpatialDim(
convDesc: miopenConvolutionDescriptor_t,
spatialDim: *mut ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetConvolutionDescriptor(
convDesc: miopenConvolutionDescriptor_t,
c_mode: *mut miopenConvolutionMode_t,
pad_h: *mut ::std::os::raw::c_int,
pad_w: *mut ::std::os::raw::c_int,
stride_h: *mut ::std::os::raw::c_int,
stride_w: *mut ::std::os::raw::c_int,
dilation_h: *mut ::std::os::raw::c_int,
dilation_w: *mut ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetConvolutionNdDescriptor(
convDesc: miopenConvolutionDescriptor_t,
requestedSpatialDim: ::std::os::raw::c_int,
spatialDim: *mut ::std::os::raw::c_int,
padA: *mut ::std::os::raw::c_int,
strideA: *mut ::std::os::raw::c_int,
dilationA: *mut ::std::os::raw::c_int,
c_mode: *mut miopenConvolutionMode_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetConvolutionGroupCount(
convDesc: miopenConvolutionDescriptor_t,
groupCount: *mut ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetConvolutionGroupCount(
convDesc: miopenConvolutionDescriptor_t,
groupCount: ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetTransposeConvOutputPadding(
convDesc: miopenConvolutionDescriptor_t,
adj_h: ::std::os::raw::c_int,
adj_w: ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetTransposeConvNdOutputPadding(
convDesc: miopenConvolutionDescriptor_t,
spatialDim: ::std::os::raw::c_int,
adjA: *const ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetConvolutionForwardOutputDim(
convDesc: miopenConvolutionDescriptor_t,
inputTensorDesc: miopenTensorDescriptor_t,
filterDesc: miopenTensorDescriptor_t,
n: *mut ::std::os::raw::c_int,
c: *mut ::std::os::raw::c_int,
h: *mut ::std::os::raw::c_int,
w: *mut ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetConvolutionNdForwardOutputDim(
convDesc: miopenConvolutionDescriptor_t,
inputTensorDesc: miopenTensorDescriptor_t,
filterDesc: miopenTensorDescriptor_t,
nDim: *mut ::std::os::raw::c_int,
outputTensorDimA: *mut ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDestroyConvolutionDescriptor(
convDesc: miopenConvolutionDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetConvolutionAttribute(
convDesc: miopenConvolutionDescriptor_t,
attr: miopenConvolutionAttrib_t,
value: ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetConvolutionAttribute(
convDesc: miopenConvolutionDescriptor_t,
attr: miopenConvolutionAttrib_t,
value: *mut ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetConvolutionFindMode(
convDesc: miopenConvolutionDescriptor_t,
findMode: miopenConvolutionFindMode_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetConvolutionFindMode(
convDesc: miopenConvolutionDescriptor_t,
findMode: *mut miopenConvolutionFindMode_t,
) -> miopenStatus_t;
}
pub const miopenConvFwdAlgorithm_t_miopenConvolutionFwdAlgoGEMM: miopenConvFwdAlgorithm_t = 0;
pub const miopenConvFwdAlgorithm_t_miopenConvolutionFwdAlgoDirect: miopenConvFwdAlgorithm_t = 1;
pub const miopenConvFwdAlgorithm_t_miopenConvolutionFwdAlgoFFT: miopenConvFwdAlgorithm_t = 2;
pub const miopenConvFwdAlgorithm_t_miopenConvolutionFwdAlgoWinograd: miopenConvFwdAlgorithm_t = 3;
pub const miopenConvFwdAlgorithm_t_miopenConvolutionFwdAlgoImplicitGEMM: miopenConvFwdAlgorithm_t =
5;
pub type miopenConvFwdAlgorithm_t = ::std::os::raw::c_uint;
pub const miopenConvBwdWeightsAlgorithm_t_miopenConvolutionBwdWeightsAlgoGEMM:
miopenConvBwdWeightsAlgorithm_t = 0;
pub const miopenConvBwdWeightsAlgorithm_t_miopenConvolutionBwdWeightsAlgoDirect:
miopenConvBwdWeightsAlgorithm_t = 1;
pub const miopenConvBwdWeightsAlgorithm_t_miopenConvolutionBwdWeightsAlgoWinograd:
miopenConvBwdWeightsAlgorithm_t = 3;
pub const miopenConvBwdWeightsAlgorithm_t_miopenConvolutionBwdWeightsAlgoImplicitGEMM:
miopenConvBwdWeightsAlgorithm_t = 5;
pub type miopenConvBwdWeightsAlgorithm_t = ::std::os::raw::c_uint;
pub const miopenConvBwdDataAlgorithm_t_miopenConvolutionBwdDataAlgoGEMM:
miopenConvBwdDataAlgorithm_t = 0;
pub const miopenConvBwdDataAlgorithm_t_miopenConvolutionBwdDataAlgoDirect:
miopenConvBwdDataAlgorithm_t = 1;
pub const miopenConvBwdDataAlgorithm_t_miopenConvolutionBwdDataAlgoFFT:
miopenConvBwdDataAlgorithm_t = 2;
pub const miopenConvBwdDataAlgorithm_t_miopenConvolutionBwdDataAlgoWinograd:
miopenConvBwdDataAlgorithm_t = 3;
pub const miopenConvBwdDataAlgorithm_t_miopenTransposeBwdDataAlgoGEMM:
miopenConvBwdDataAlgorithm_t = 4;
pub const miopenConvBwdDataAlgorithm_t_miopenConvolutionBwdDataAlgoImplicitGEMM:
miopenConvBwdDataAlgorithm_t = 5;
pub type miopenConvBwdDataAlgorithm_t = ::std::os::raw::c_uint;
pub const miopenConvAlgorithm_t_miopenConvolutionAlgoGEMM: miopenConvAlgorithm_t = 0;
pub const miopenConvAlgorithm_t_miopenConvolutionAlgoDirect: miopenConvAlgorithm_t = 1;
pub const miopenConvAlgorithm_t_miopenConvolutionAlgoFFT: miopenConvAlgorithm_t = 2;
pub const miopenConvAlgorithm_t_miopenConvolutionAlgoWinograd: miopenConvAlgorithm_t = 3;
pub const miopenConvAlgorithm_t_miopenConvolutionAlgoImplicitGEMM: miopenConvAlgorithm_t = 5;
pub type miopenConvAlgorithm_t = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct miopenConvAlgoPerf_t {
pub __bindgen_anon_1: miopenConvAlgoPerf_t__bindgen_ty_1,
pub time: f32,
pub memory: usize,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union miopenConvAlgoPerf_t__bindgen_ty_1 {
pub fwd_algo: miopenConvFwdAlgorithm_t,
pub bwd_weights_algo: miopenConvBwdWeightsAlgorithm_t,
pub bwd_data_algo: miopenConvBwdDataAlgorithm_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenConvSolution_t {
pub time: f32,
pub workspace_size: usize,
pub solution_id: u64,
pub algorithm: miopenConvAlgorithm_t,
}
unsafe extern "C" {
pub fn miopenConvolutionForwardGetSolutionCount(
handle: miopenHandle_t,
wDesc: miopenTensorDescriptor_t,
xDesc: miopenTensorDescriptor_t,
convDesc: miopenConvolutionDescriptor_t,
yDesc: miopenTensorDescriptor_t,
solutionCount: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionForwardGetSolution(
handle: miopenHandle_t,
wDesc: miopenTensorDescriptor_t,
xDesc: miopenTensorDescriptor_t,
convDesc: miopenConvolutionDescriptor_t,
yDesc: miopenTensorDescriptor_t,
maxSolutionCount: usize,
solutionCount: *mut usize,
solutions: *mut miopenConvSolution_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionForwardGetSolutionWorkspaceSize(
handle: miopenHandle_t,
wDesc: miopenTensorDescriptor_t,
xDesc: miopenTensorDescriptor_t,
convDesc: miopenConvolutionDescriptor_t,
yDesc: miopenTensorDescriptor_t,
solution_id: u64,
workSpaceSize: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionForwardCompileSolution(
handle: miopenHandle_t,
wDesc: miopenTensorDescriptor_t,
xDesc: miopenTensorDescriptor_t,
convDesc: miopenConvolutionDescriptor_t,
yDesc: miopenTensorDescriptor_t,
solution_id: u64,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionForwardImmediate(
handle: miopenHandle_t,
wDesc: miopenTensorDescriptor_t,
w: *const ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
convDesc: miopenConvolutionDescriptor_t,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
workSpace: *mut ::std::os::raw::c_void,
workSpaceSize: usize,
solution_id: u64,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionBackwardDataGetSolutionCount(
handle: miopenHandle_t,
dyDesc: miopenTensorDescriptor_t,
wDesc: miopenTensorDescriptor_t,
convDesc: miopenConvolutionDescriptor_t,
dxDesc: miopenTensorDescriptor_t,
solutionCount: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionBackwardDataGetSolution(
handle: miopenHandle_t,
dyDesc: miopenTensorDescriptor_t,
wDesc: miopenTensorDescriptor_t,
convDesc: miopenConvolutionDescriptor_t,
dxDesc: miopenTensorDescriptor_t,
maxSolutionCount: usize,
solutionCount: *mut usize,
solutions: *mut miopenConvSolution_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionBackwardDataGetSolutionWorkspaceSize(
handle: miopenHandle_t,
dyDesc: miopenTensorDescriptor_t,
wDesc: miopenTensorDescriptor_t,
convDesc: miopenConvolutionDescriptor_t,
dxDesc: miopenTensorDescriptor_t,
solution_id: u64,
workSpaceSize: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionBackwardDataCompileSolution(
handle: miopenHandle_t,
dyDesc: miopenTensorDescriptor_t,
wDesc: miopenTensorDescriptor_t,
convDesc: miopenConvolutionDescriptor_t,
dxDesc: miopenTensorDescriptor_t,
solution_id: u64,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionBackwardDataImmediate(
handle: miopenHandle_t,
dyDesc: miopenTensorDescriptor_t,
dy: *const ::std::os::raw::c_void,
wDesc: miopenTensorDescriptor_t,
w: *const ::std::os::raw::c_void,
convDesc: miopenConvolutionDescriptor_t,
dxDesc: miopenTensorDescriptor_t,
dx: *mut ::std::os::raw::c_void,
workSpace: *mut ::std::os::raw::c_void,
workSpaceSize: usize,
solution_id: u64,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionBackwardWeightsGetSolutionCount(
handle: miopenHandle_t,
dyDesc: miopenTensorDescriptor_t,
xDesc: miopenTensorDescriptor_t,
convDesc: miopenConvolutionDescriptor_t,
dwDesc: miopenTensorDescriptor_t,
solutionCount: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionBackwardWeightsGetSolution(
handle: miopenHandle_t,
dyDesc: miopenTensorDescriptor_t,
xDesc: miopenTensorDescriptor_t,
convDesc: miopenConvolutionDescriptor_t,
dwDesc: miopenTensorDescriptor_t,
maxSolutionCount: usize,
solutionCount: *mut usize,
solutions: *mut miopenConvSolution_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionBackwardWeightsGetSolutionWorkspaceSize(
handle: miopenHandle_t,
dyDesc: miopenTensorDescriptor_t,
xDesc: miopenTensorDescriptor_t,
convDesc: miopenConvolutionDescriptor_t,
dwDesc: miopenTensorDescriptor_t,
solution_id: u64,
workSpaceSize: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionBackwardWeightsCompileSolution(
handle: miopenHandle_t,
dyDesc: miopenTensorDescriptor_t,
xDesc: miopenTensorDescriptor_t,
convDesc: miopenConvolutionDescriptor_t,
dwDesc: miopenTensorDescriptor_t,
solution_id: u64,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionBackwardWeightsImmediate(
handle: miopenHandle_t,
dyDesc: miopenTensorDescriptor_t,
dy: *const ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
convDesc: miopenConvolutionDescriptor_t,
dwDesc: miopenTensorDescriptor_t,
dw: *mut ::std::os::raw::c_void,
workSpace: *mut ::std::os::raw::c_void,
workSpaceSize: usize,
solution_id: u64,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionForwardGetWorkSpaceSize(
handle: miopenHandle_t,
wDesc: miopenTensorDescriptor_t,
xDesc: miopenTensorDescriptor_t,
convDesc: miopenConvolutionDescriptor_t,
yDesc: miopenTensorDescriptor_t,
workSpaceSize: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenFindConvolutionForwardAlgorithm(
handle: miopenHandle_t,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
wDesc: miopenTensorDescriptor_t,
w: *const ::std::os::raw::c_void,
convDesc: miopenConvolutionDescriptor_t,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
requestAlgoCount: ::std::os::raw::c_int,
returnedAlgoCount: *mut ::std::os::raw::c_int,
perfResults: *mut miopenConvAlgoPerf_t,
workSpace: *mut ::std::os::raw::c_void,
workSpaceSize: usize,
exhaustiveSearch: bool,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionForward(
handle: miopenHandle_t,
alpha: *const ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
wDesc: miopenTensorDescriptor_t,
w: *const ::std::os::raw::c_void,
convDesc: miopenConvolutionDescriptor_t,
algo: miopenConvFwdAlgorithm_t,
beta: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
workSpace: *mut ::std::os::raw::c_void,
workSpaceSize: usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionForwardBias(
handle: miopenHandle_t,
alpha: *const ::std::os::raw::c_void,
bDesc: miopenTensorDescriptor_t,
b: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionBackwardDataGetWorkSpaceSize(
handle: miopenHandle_t,
dyDesc: miopenTensorDescriptor_t,
wDesc: miopenTensorDescriptor_t,
convDesc: miopenConvolutionDescriptor_t,
dxDesc: miopenTensorDescriptor_t,
workSpaceSize: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenFindConvolutionBackwardDataAlgorithm(
handle: miopenHandle_t,
dyDesc: miopenTensorDescriptor_t,
dy: *const ::std::os::raw::c_void,
wDesc: miopenTensorDescriptor_t,
w: *const ::std::os::raw::c_void,
convDesc: miopenConvolutionDescriptor_t,
dxDesc: miopenTensorDescriptor_t,
dx: *mut ::std::os::raw::c_void,
requestAlgoCount: ::std::os::raw::c_int,
returnedAlgoCount: *mut ::std::os::raw::c_int,
perfResults: *mut miopenConvAlgoPerf_t,
workSpace: *mut ::std::os::raw::c_void,
workSpaceSize: usize,
exhaustiveSearch: bool,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionBackwardData(
handle: miopenHandle_t,
alpha: *const ::std::os::raw::c_void,
dyDesc: miopenTensorDescriptor_t,
dy: *const ::std::os::raw::c_void,
wDesc: miopenTensorDescriptor_t,
w: *const ::std::os::raw::c_void,
convDesc: miopenConvolutionDescriptor_t,
algo: miopenConvBwdDataAlgorithm_t,
beta: *const ::std::os::raw::c_void,
dxDesc: miopenTensorDescriptor_t,
dx: *mut ::std::os::raw::c_void,
workSpace: *mut ::std::os::raw::c_void,
workSpaceSize: usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionBackwardWeightsGetWorkSpaceSize(
handle: miopenHandle_t,
dyDesc: miopenTensorDescriptor_t,
xDesc: miopenTensorDescriptor_t,
convDesc: miopenConvolutionDescriptor_t,
dwDesc: miopenTensorDescriptor_t,
workSpaceSize: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenFindConvolutionBackwardWeightsAlgorithm(
handle: miopenHandle_t,
dyDesc: miopenTensorDescriptor_t,
dy: *const ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
convDesc: miopenConvolutionDescriptor_t,
dwDesc: miopenTensorDescriptor_t,
dw: *mut ::std::os::raw::c_void,
requestAlgoCount: ::std::os::raw::c_int,
returnedAlgoCount: *mut ::std::os::raw::c_int,
perfResults: *mut miopenConvAlgoPerf_t,
workSpace: *mut ::std::os::raw::c_void,
workSpaceSize: usize,
exhaustiveSearch: bool,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionBackwardWeights(
handle: miopenHandle_t,
alpha: *const ::std::os::raw::c_void,
dyDesc: miopenTensorDescriptor_t,
dy: *const ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
convDesc: miopenConvolutionDescriptor_t,
algo: miopenConvBwdWeightsAlgorithm_t,
beta: *const ::std::os::raw::c_void,
dwDesc: miopenTensorDescriptor_t,
dw: *mut ::std::os::raw::c_void,
workSpace: *mut ::std::os::raw::c_void,
workSpaceSize: usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionBackwardBias(
handle: miopenHandle_t,
alpha: *const ::std::os::raw::c_void,
dyDesc: miopenTensorDescriptor_t,
dy: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
dbDesc: miopenTensorDescriptor_t,
db: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCreatePoolingDescriptor(
poolDesc: *mut miopenPoolingDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetPoolingIndexType(
poolDesc: miopenPoolingDescriptor_t,
index_type: miopenIndexType_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetPoolingIndexType(
poolDesc: miopenPoolingDescriptor_t,
index_type: *mut miopenIndexType_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetPoolingWorkSpaceIndexMode(
poolDesc: miopenPoolingDescriptor_t,
workspace_index: miopenPoolingWorkspaceIndexMode_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetPoolingWorkSpaceIndexMode(
poolDesc: miopenPoolingDescriptor_t,
workspace_index: *mut miopenPoolingWorkspaceIndexMode_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSet2dPoolingDescriptor(
poolDesc: miopenPoolingDescriptor_t,
mode: miopenPoolingMode_t,
windowHeight: ::std::os::raw::c_int,
windowWidth: ::std::os::raw::c_int,
pad_h: ::std::os::raw::c_int,
pad_w: ::std::os::raw::c_int,
stride_h: ::std::os::raw::c_int,
stride_w: ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGet2dPoolingDescriptor(
poolDesc: miopenPoolingDescriptor_t,
mode: *mut miopenPoolingMode_t,
windowHeight: *mut ::std::os::raw::c_int,
windowWidth: *mut ::std::os::raw::c_int,
pad_h: *mut ::std::os::raw::c_int,
pad_w: *mut ::std::os::raw::c_int,
stride_h: *mut ::std::os::raw::c_int,
stride_w: *mut ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetPoolingForwardOutputDim(
poolDesc: miopenPoolingDescriptor_t,
tensorDesc: miopenTensorDescriptor_t,
n: *mut ::std::os::raw::c_int,
c: *mut ::std::os::raw::c_int,
h: *mut ::std::os::raw::c_int,
w: *mut ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetNdPoolingDescriptor(
poolDesc: miopenPoolingDescriptor_t,
mode: miopenPoolingMode_t,
nbDims: ::std::os::raw::c_int,
windowDimA: *const ::std::os::raw::c_int,
padA: *const ::std::os::raw::c_int,
stridesA: *const ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetNdPoolingDescriptor(
poolDesc: miopenPoolingDescriptor_t,
nbDimsRequested: ::std::os::raw::c_int,
mode: *mut miopenPoolingMode_t,
nbDims: *mut ::std::os::raw::c_int,
windowDimA: *mut ::std::os::raw::c_int,
padA: *mut ::std::os::raw::c_int,
stridesA: *mut ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetPoolingNdForwardOutputDim(
poolDesc: miopenPoolingDescriptor_t,
tensorDesc: miopenTensorDescriptor_t,
dims: ::std::os::raw::c_int,
tensorDimArr: *mut ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenPoolingGetWorkSpaceSize(
yDesc: miopenTensorDescriptor_t,
workSpaceSize: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenPoolingGetWorkSpaceSizeV2(
poolDesc: miopenPoolingDescriptor_t,
yDesc: miopenTensorDescriptor_t,
workSpaceSize: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenPoolingForward(
handle: miopenHandle_t,
poolDesc: miopenPoolingDescriptor_t,
alpha: *const ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
do_backward: bool,
workSpace: *mut ::std::os::raw::c_void,
workSpaceSize: usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenPoolingBackward(
handle: miopenHandle_t,
poolDesc: miopenPoolingDescriptor_t,
alpha: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *const ::std::os::raw::c_void,
dyDesc: miopenTensorDescriptor_t,
dy: *const ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
dxDesc: miopenTensorDescriptor_t,
dx: *mut ::std::os::raw::c_void,
workSpace: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDestroyPoolingDescriptor(poolDesc: miopenPoolingDescriptor_t) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCreateLRNDescriptor(lrnDesc: *mut miopenLRNDescriptor_t) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetLRNDescriptor(
lrnDesc: miopenLRNDescriptor_t,
mode: miopenLRNMode_t,
lrnN: ::std::os::raw::c_uint,
lrnAlpha: f64,
lrnBeta: f64,
lrnK: f64,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetLRNDescriptor(
lrnDesc: miopenLRNDescriptor_t,
mode: *mut miopenLRNMode_t,
lrnN: *mut ::std::os::raw::c_uint,
lrnAlpha: *mut f64,
lrnBeta: *mut f64,
lrnK: *mut f64,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenLRNGetWorkSpaceSize(
yDesc: miopenTensorDescriptor_t,
workSpaceSize: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenLRNForward(
handle: miopenHandle_t,
lrnDesc: miopenLRNDescriptor_t,
alpha: *const ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
do_backward: bool,
workSpace: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenLRNBackward(
handle: miopenHandle_t,
lrnDesc: miopenLRNDescriptor_t,
alpha: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *const ::std::os::raw::c_void,
dyDesc: miopenTensorDescriptor_t,
dy: *const ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
dxDesc: miopenTensorDescriptor_t,
dx: *mut ::std::os::raw::c_void,
workSpace: *const ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDestroyLRNDescriptor(lrnDesc: miopenLRNDescriptor_t) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDeriveBNTensorDescriptor(
derivedBnDesc: miopenTensorDescriptor_t,
xDesc: miopenTensorDescriptor_t,
bn_mode: miopenBatchNormMode_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenBatchNormalizationForwardTraining(
handle: miopenHandle_t,
bn_mode: miopenBatchNormMode_t,
alpha: *mut ::std::os::raw::c_void,
beta: *mut ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
bnScaleBiasMeanVarDesc: miopenTensorDescriptor_t,
bnScale: *mut ::std::os::raw::c_void,
bnBias: *mut ::std::os::raw::c_void,
expAvgFactor: f64,
resultRunningMean: *mut ::std::os::raw::c_void,
resultRunningVariance: *mut ::std::os::raw::c_void,
epsilon: f64,
resultSaveMean: *mut ::std::os::raw::c_void,
resultSaveInvVariance: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenBatchNormalizationForwardTraining_V2(
handle: miopenHandle_t,
bn_mode: miopenBatchNormMode_t,
alpha: *mut ::std::os::raw::c_void,
beta: *mut ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
scaleDesc: miopenTensorDescriptor_t,
biasVarDesc: miopenTensorDescriptor_t,
savedMeanDesc: miopenTensorDescriptor_t,
savedVarDesc: miopenTensorDescriptor_t,
bnScale: *mut ::std::os::raw::c_void,
bnBias: *mut ::std::os::raw::c_void,
expAvgFactor: f64,
resultRunningMean: *mut ::std::os::raw::c_void,
resultRunningVariance: *mut ::std::os::raw::c_void,
epsilon: f64,
resultSaveMean: *mut ::std::os::raw::c_void,
resultSaveInvVariance: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenBatchNormForwardTrainingActivation(
handle: miopenHandle_t,
bn_mode: miopenBatchNormMode_t,
alpha: *mut ::std::os::raw::c_void,
beta: *mut ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
scaleDesc: miopenTensorDescriptor_t,
biasVarDesc: miopenTensorDescriptor_t,
savedMeanDesc: miopenTensorDescriptor_t,
savedVarDesc: miopenTensorDescriptor_t,
bnScale: *mut ::std::os::raw::c_void,
bnBias: *mut ::std::os::raw::c_void,
expAvgFactor: f64,
resultRunningMean: *mut ::std::os::raw::c_void,
resultRunningVariance: *mut ::std::os::raw::c_void,
epsilon: f64,
resultSaveMean: *mut ::std::os::raw::c_void,
resultSaveInvVariance: *mut ::std::os::raw::c_void,
activDesc: miopenActivationDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenBatchNormalizationForwardInference(
handle: miopenHandle_t,
bn_mode: miopenBatchNormMode_t,
alpha: *mut ::std::os::raw::c_void,
beta: *mut ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
bnScaleBiasMeanVarDesc: miopenTensorDescriptor_t,
bnScale: *mut ::std::os::raw::c_void,
bnBias: *mut ::std::os::raw::c_void,
estimatedMean: *mut ::std::os::raw::c_void,
estimatedVariance: *mut ::std::os::raw::c_void,
epsilon: f64,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenBatchNormalizationForwardInference_V2(
handle: miopenHandle_t,
bn_mode: miopenBatchNormMode_t,
alpha: *mut ::std::os::raw::c_void,
beta: *mut ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
scaleDesc: miopenTensorDescriptor_t,
biasDesc: miopenTensorDescriptor_t,
estMeanDesc: miopenTensorDescriptor_t,
estVarianceDesc: miopenTensorDescriptor_t,
bnScale: *mut ::std::os::raw::c_void,
bnBias: *mut ::std::os::raw::c_void,
estimatedMean: *mut ::std::os::raw::c_void,
estimatedVariance: *mut ::std::os::raw::c_void,
epsilon: f64,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenBatchNormForwardInferenceActivation(
handle: miopenHandle_t,
bn_mode: miopenBatchNormMode_t,
alpha: *mut ::std::os::raw::c_void,
beta: *mut ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
scaleDesc: miopenTensorDescriptor_t,
biasDesc: miopenTensorDescriptor_t,
estMeanDesc: miopenTensorDescriptor_t,
estVarianceDesc: miopenTensorDescriptor_t,
bnScale: *mut ::std::os::raw::c_void,
bnBias: *mut ::std::os::raw::c_void,
estimatedMean: *mut ::std::os::raw::c_void,
estimatedVariance: *mut ::std::os::raw::c_void,
epsilon: f64,
activDesc: miopenActivationDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenBatchNormalizationBackward(
handle: miopenHandle_t,
bn_mode: miopenBatchNormMode_t,
alphaDataDiff: *const ::std::os::raw::c_void,
betaDataDiff: *const ::std::os::raw::c_void,
alphaParamDiff: *const ::std::os::raw::c_void,
betaParamDiff: *const ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
dyDesc: miopenTensorDescriptor_t,
dy: *const ::std::os::raw::c_void,
dxDesc: miopenTensorDescriptor_t,
dx: *mut ::std::os::raw::c_void,
bnScaleBiasDiffDesc: miopenTensorDescriptor_t,
bnScale: *const ::std::os::raw::c_void,
resultBnScaleDiff: *mut ::std::os::raw::c_void,
resultBnBiasDiff: *mut ::std::os::raw::c_void,
epsilon: f64,
savedMean: *const ::std::os::raw::c_void,
savedInvVariance: *const ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenBatchNormalizationBackward_V2(
handle: miopenHandle_t,
bn_mode: miopenBatchNormMode_t,
alphaDataDiff: *const ::std::os::raw::c_void,
betaDataDiff: *const ::std::os::raw::c_void,
alphaParamDiff: *const ::std::os::raw::c_void,
betaParamDiff: *const ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
dyDesc: miopenTensorDescriptor_t,
dy: *const ::std::os::raw::c_void,
dxDesc: miopenTensorDescriptor_t,
dx: *mut ::std::os::raw::c_void,
scaleDesc: miopenTensorDescriptor_t,
biasDesc: miopenTensorDescriptor_t,
savedMeanDesc: miopenTensorDescriptor_t,
savedVarDesc: miopenTensorDescriptor_t,
bnScale: *const ::std::os::raw::c_void,
resultBnScaleDiff: *mut ::std::os::raw::c_void,
resultBnBiasDiff: *mut ::std::os::raw::c_void,
epsilon: f64,
savedMean: *const ::std::os::raw::c_void,
savedInvVariance: *const ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenBatchNormBackwardActivation(
handle: miopenHandle_t,
bn_mode: miopenBatchNormMode_t,
alphaDataDiff: *const ::std::os::raw::c_void,
betaDataDiff: *const ::std::os::raw::c_void,
alphaParamDiff: *const ::std::os::raw::c_void,
betaParamDiff: *const ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
dyDesc: miopenTensorDescriptor_t,
dy: *const ::std::os::raw::c_void,
dxDesc: miopenTensorDescriptor_t,
dx: *mut ::std::os::raw::c_void,
scaleDesc: miopenTensorDescriptor_t,
biasDesc: miopenTensorDescriptor_t,
savedMeanDesc: miopenTensorDescriptor_t,
savedVarianceDesc: miopenTensorDescriptor_t,
bnScale: *const ::std::os::raw::c_void,
bnBias: *const ::std::os::raw::c_void,
resultBnScaleDiff: *mut ::std::os::raw::c_void,
resultBnBiasDiff: *mut ::std::os::raw::c_void,
epsilon: f64,
savedMean: *const ::std::os::raw::c_void,
savedInvVariance: *const ::std::os::raw::c_void,
activDesc: miopenActivationDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCreateActivationDescriptor(
activDesc: *mut miopenActivationDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetActivationDescriptor(
activDesc: miopenActivationDescriptor_t,
mode: miopenActivationMode_t,
activAlpha: f64,
activBeta: f64,
activGamma: f64,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetActivationDescriptor(
activDesc: miopenActivationDescriptor_t,
mode: *mut miopenActivationMode_t,
activAlpha: *mut f64,
activBeta: *mut f64,
activGamma: *mut f64,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenActivationForward(
handle: miopenHandle_t,
activDesc: miopenActivationDescriptor_t,
alpha: *const ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenActivationBackward(
handle: miopenHandle_t,
activDesc: miopenActivationDescriptor_t,
alpha: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *const ::std::os::raw::c_void,
dyDesc: miopenTensorDescriptor_t,
dy: *const ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
dxDesc: miopenTensorDescriptor_t,
dx: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDestroyActivationDescriptor(
activDesc: miopenActivationDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSoftmaxForward(
handle: miopenHandle_t,
alpha: *const ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSoftmaxBackward(
handle: miopenHandle_t,
alpha: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *const ::std::os::raw::c_void,
dyDesc: miopenTensorDescriptor_t,
dy: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
dxDesc: miopenTensorDescriptor_t,
dx: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSoftmaxForward_V2(
handle: miopenHandle_t,
alpha: *const ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
algorithm: miopenSoftmaxAlgorithm_t,
mode: miopenSoftmaxMode_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSoftmaxBackward_V2(
handle: miopenHandle_t,
alpha: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *const ::std::os::raw::c_void,
dyDesc: miopenTensorDescriptor_t,
dy: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
dxDesc: miopenTensorDescriptor_t,
dx: *mut ::std::os::raw::c_void,
algorithm: miopenSoftmaxAlgorithm_t,
mode: miopenSoftmaxMode_t,
) -> miopenStatus_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenFusionPlanDescriptor {
pub _address: u8,
}
pub type miopenFusionPlanDescriptor_t = *mut miopenFusionPlanDescriptor;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenOperatorDescriptor {
pub _address: u8,
}
pub type miopenOperatorDescriptor_t = *mut miopenOperatorDescriptor;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenOperatorArgs {
pub _address: u8,
}
pub type miopenOperatorArgs_t = *mut miopenOperatorArgs;
pub const miopenFusionDirection_t_miopenVerticalFusion: miopenFusionDirection_t = 0;
pub const miopenFusionDirection_t_miopenHorizontalFusion: miopenFusionDirection_t = 1;
pub type miopenFusionDirection_t = ::std::os::raw::c_uint;
unsafe extern "C" {
pub fn miopenCreateFusionPlan(
fusePlanDesc: *mut miopenFusionPlanDescriptor_t,
fuseDirection: miopenFusionDirection_t,
inputDesc: miopenTensorDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDestroyFusionPlan(fusePlanDesc: miopenFusionPlanDescriptor_t) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCompileFusionPlan(
handle: miopenHandle_t,
fusePlanDesc: miopenFusionPlanDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenFusionPlanGetOp(
fusePlanDesc: miopenFusionPlanDescriptor_t,
op_idx: ::std::os::raw::c_int,
op: *mut miopenFusionOpDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenFusionPlanGetWorkSpaceSize(
handle: miopenHandle_t,
fusePlanDesc: miopenFusionPlanDescriptor_t,
workSpaceSize: *mut usize,
algo: miopenConvFwdAlgorithm_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenFusionPlanConvolutionGetAlgo(
fusePlanDesc: miopenFusionPlanDescriptor_t,
requestAlgoCount: ::std::os::raw::c_int,
returnedAlgoCount: *mut ::std::os::raw::c_int,
returnedAlgos: *mut miopenConvFwdAlgorithm_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenFusionPlanConvolutionSetAlgo(
fusePlanDesc: miopenFusionPlanDescriptor_t,
algo: miopenConvFwdAlgorithm_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCreateOpConvForward(
fusePlanDesc: miopenFusionPlanDescriptor_t,
convOp: *mut miopenFusionOpDescriptor_t,
convDesc: miopenConvolutionDescriptor_t,
wDesc: miopenTensorDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCreateOpActivationForward(
fusePlanDesc: miopenFusionPlanDescriptor_t,
activFwdOp: *mut miopenFusionOpDescriptor_t,
mode: miopenActivationMode_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCreateOpActivationBackward(
fusePlanDesc: miopenFusionPlanDescriptor_t,
activBwdOp: *mut miopenFusionOpDescriptor_t,
mode: miopenActivationMode_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCreateOpBiasForward(
fusePlanDesc: miopenFusionPlanDescriptor_t,
biasOp: *mut miopenFusionOpDescriptor_t,
bDesc: miopenTensorDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCreateOpBatchNormInference(
fusePlanDesc: miopenFusionPlanDescriptor_t,
bnOp: *mut miopenFusionOpDescriptor_t,
bn_mode: miopenBatchNormMode_t,
bnScaleBiasMeanVarDesc: miopenTensorDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCreateOpBatchNormForward(
fusePlanDesc: miopenFusionPlanDescriptor_t,
bnFwdOp: *mut miopenFusionOpDescriptor_t,
bn_mode: miopenBatchNormMode_t,
runningMeanVariance: bool,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCreateOpBatchNormBackward(
fusePlanDesc: miopenFusionPlanDescriptor_t,
bnBwdOp: *mut miopenFusionOpDescriptor_t,
bn_mode: miopenBatchNormMode_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCreateOperatorArgs(args: *mut miopenOperatorArgs_t) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDestroyOperatorArgs(args: miopenOperatorArgs_t) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetOpArgsConvForward(
args: miopenOperatorArgs_t,
convOp: miopenFusionOpDescriptor_t,
alpha: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
w: *const ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetOpArgsActivForward(
args: miopenOperatorArgs_t,
activFwdOp: miopenFusionOpDescriptor_t,
alpha: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
activAlpha: f64,
activBeta: f64,
activGamma: f64,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetOpArgsActivBackward(
args: miopenOperatorArgs_t,
activBwdOp: miopenFusionOpDescriptor_t,
alpha: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
y: *const ::std::os::raw::c_void,
reserved: *const ::std::os::raw::c_void,
activAlpha: f64,
activBeta: f64,
activGamma: f64,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetOpArgsBatchNormInference(
args: miopenOperatorArgs_t,
bnOp: miopenFusionOpDescriptor_t,
alpha: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
bnScale: *const ::std::os::raw::c_void,
bnBias: *const ::std::os::raw::c_void,
estimatedMean: *const ::std::os::raw::c_void,
estimatedVariance: *const ::std::os::raw::c_void,
epsilon: f64,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetOpArgsBatchNormForward(
args: miopenOperatorArgs_t,
bnOp: miopenFusionOpDescriptor_t,
alpha: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
bnScale: *const ::std::os::raw::c_void,
bnBias: *const ::std::os::raw::c_void,
savedMean: *mut ::std::os::raw::c_void,
savedInvVariance: *mut ::std::os::raw::c_void,
runningMean: *mut ::std::os::raw::c_void,
runningVariance: *mut ::std::os::raw::c_void,
expAvgFactor: f64,
epsilon: f64,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetOpArgsBatchNormBackward(
args: miopenOperatorArgs_t,
bnOp: miopenFusionOpDescriptor_t,
alpha: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
x: *const ::std::os::raw::c_void,
bnScale: *const ::std::os::raw::c_void,
bnBias: *const ::std::os::raw::c_void,
resultBnScaleDiff: *mut ::std::os::raw::c_void,
resultBnBiasDiff: *mut ::std::os::raw::c_void,
savedMean: *const ::std::os::raw::c_void,
savedInvVariance: *const ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetOpArgsBiasForward(
args: miopenOperatorArgs_t,
biasOp: miopenFusionOpDescriptor_t,
alpha: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
bias: *const ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenExecuteFusionPlan(
handle: miopenHandle_t,
fusePlanDesc: miopenFusionPlanDescriptor_t,
inputDesc: miopenTensorDescriptor_t,
input: *const ::std::os::raw::c_void,
outputDesc: miopenTensorDescriptor_t,
output: *mut ::std::os::raw::c_void,
args: miopenOperatorArgs_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenExecuteFusionPlan_v2(
handle: miopenHandle_t,
fusePlanDesc: miopenFusionPlanDescriptor_t,
inputDesc: miopenTensorDescriptor_t,
input: *const ::std::os::raw::c_void,
outputDesc: miopenTensorDescriptor_t,
output: *mut ::std::os::raw::c_void,
args: miopenOperatorArgs_t,
workspace: *mut ::std::os::raw::c_void,
workspaceSize: usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenConvolutionBiasActivationForward(
handle: miopenHandle_t,
alpha1: *const ::std::os::raw::c_void,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
wDesc: miopenTensorDescriptor_t,
w: *const ::std::os::raw::c_void,
convDesc: miopenConvolutionDescriptor_t,
algo: miopenConvFwdAlgorithm_t,
workspace: *mut ::std::os::raw::c_void,
workspaceSizeInBytes: usize,
alpha2: *const ::std::os::raw::c_void,
zDesc: miopenTensorDescriptor_t,
z: *const ::std::os::raw::c_void,
biasDesc: miopenTensorDescriptor_t,
bias: *const ::std::os::raw::c_void,
activationDesc: miopenActivationDescriptor_t,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
pub const miopenRNNMode_t_miopenRNNRELU: miopenRNNMode_t = 0;
pub const miopenRNNMode_t_miopenRNNTANH: miopenRNNMode_t = 1;
pub const miopenRNNMode_t_miopenLSTM: miopenRNNMode_t = 2;
pub const miopenRNNMode_t_miopenGRU: miopenRNNMode_t = 3;
pub type miopenRNNMode_t = ::std::os::raw::c_uint;
pub const miopenRNNInputMode_t_miopenRNNlinear: miopenRNNInputMode_t = 0;
pub const miopenRNNInputMode_t_miopenRNNskip: miopenRNNInputMode_t = 1;
pub type miopenRNNInputMode_t = ::std::os::raw::c_uint;
pub const miopenRNNAlgo_t_miopenRNNdefault: miopenRNNAlgo_t = 0;
pub const miopenRNNAlgo_t_miopenRNNfundamental: miopenRNNAlgo_t = 1;
pub const miopenRNNAlgo_t_miopenRNNroundedDynamic: miopenRNNAlgo_t = 2;
pub type miopenRNNAlgo_t = ::std::os::raw::c_uint;
pub const miopenRNNDirectionMode_t_miopenRNNunidirection: miopenRNNDirectionMode_t = 0;
pub const miopenRNNDirectionMode_t_miopenRNNbidirection: miopenRNNDirectionMode_t = 1;
pub type miopenRNNDirectionMode_t = ::std::os::raw::c_uint;
pub const miopenRNNBiasMode_t_miopenRNNNoBias: miopenRNNBiasMode_t = 0;
pub const miopenRNNBiasMode_t_miopenRNNwithBias: miopenRNNBiasMode_t = 1;
pub type miopenRNNBiasMode_t = ::std::os::raw::c_uint;
pub const miopenRNNGEMMalgoMode_t_miopenRNNAlgoGEMM: miopenRNNGEMMalgoMode_t = 0;
pub type miopenRNNGEMMalgoMode_t = ::std::os::raw::c_uint;
pub const miopenRNNPaddingMode_t_miopenRNNIONotPadded: miopenRNNPaddingMode_t = 0;
pub const miopenRNNPaddingMode_t_miopenRNNIOWithPadding: miopenRNNPaddingMode_t = 1;
pub type miopenRNNPaddingMode_t = ::std::os::raw::c_uint;
pub const miopenRNNFWDMode_t_miopenRNNTraining: miopenRNNFWDMode_t = 0;
pub const miopenRNNFWDMode_t_miopenRNNInference: miopenRNNFWDMode_t = 1;
pub type miopenRNNFWDMode_t = ::std::os::raw::c_uint;
pub const miopenRNNBaseLayout_t_miopenRNNDataUnknownLayout: miopenRNNBaseLayout_t = 0;
pub const miopenRNNBaseLayout_t_miopenRNNDataSeqMajorNotPadded: miopenRNNBaseLayout_t = 1;
pub const miopenRNNBaseLayout_t_miopenRNNDataSeqMajorPadded: miopenRNNBaseLayout_t = 2;
pub const miopenRNNBaseLayout_t_miopenRNNDataBatchMajorPadded: miopenRNNBaseLayout_t = 3;
pub type miopenRNNBaseLayout_t = ::std::os::raw::c_uint;
unsafe extern "C" {
pub fn miopenCreateRNNDescriptor(rnnDesc: *mut miopenRNNDescriptor_t) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetRNNDescriptor(
rnnDesc: miopenRNNDescriptor_t,
rnnMode: *mut miopenRNNMode_t,
algoMode: *mut miopenRNNAlgo_t,
inputMode: *mut miopenRNNInputMode_t,
dirMode: *mut miopenRNNDirectionMode_t,
biasMode: *mut miopenRNNBiasMode_t,
hiddenSize: *mut ::std::os::raw::c_int,
layer: *mut ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetRNNDescriptor_V2(
rnnDesc: miopenRNNDescriptor_t,
hiddenSize: *mut ::std::os::raw::c_int,
layer: *mut ::std::os::raw::c_int,
dropoutDesc: *mut miopenDropoutDescriptor_t,
inputMode: *mut miopenRNNInputMode_t,
dirMode: *mut miopenRNNDirectionMode_t,
rnnMode: *mut miopenRNNMode_t,
biasMode: *mut miopenRNNBiasMode_t,
algoMode: *mut miopenRNNAlgo_t,
dataType: *mut miopenDataType_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDestroyRNNDescriptor(rnnDesc: miopenRNNDescriptor_t) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetRNNDescriptor(
rnnDesc: miopenRNNDescriptor_t,
hsize: ::std::os::raw::c_int,
nlayers: ::std::os::raw::c_int,
inMode: miopenRNNInputMode_t,
direction: miopenRNNDirectionMode_t,
rnnMode: miopenRNNMode_t,
biasMode: miopenRNNBiasMode_t,
algo: miopenRNNAlgo_t,
dataType: miopenDataType_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetRNNDescriptor_V2(
rnnDesc: miopenRNNDescriptor_t,
hsize: ::std::os::raw::c_int,
nlayers: ::std::os::raw::c_int,
dropoutDesc: miopenDropoutDescriptor_t,
inMode: miopenRNNInputMode_t,
direction: miopenRNNDirectionMode_t,
rnnMode: miopenRNNMode_t,
biasMode: miopenRNNBiasMode_t,
algo: miopenRNNAlgo_t,
dataType: miopenDataType_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetRNNDataSeqTensorDescriptor(
seqTensorDesc: miopenSeqTensorDescriptor_t,
dataType: miopenDataType_t,
layout: miopenRNNBaseLayout_t,
maxSequenceLen: ::std::os::raw::c_int,
batchSize: ::std::os::raw::c_int,
vectorSize: ::std::os::raw::c_int,
sequenceLenArray: *const ::std::os::raw::c_int,
paddingMarker: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetRNNDataSeqTensorDescriptor(
seqTensorDesc: miopenSeqTensorDescriptor_t,
dataType: *mut miopenDataType_t,
layout: *mut miopenRNNBaseLayout_t,
maxSequenceLen: *mut ::std::os::raw::c_int,
batchSize: *mut ::std::os::raw::c_int,
vectorSize: *mut ::std::os::raw::c_int,
sequenceLenArrayLimit: ::std::os::raw::c_int,
sequenceLenArray: *mut ::std::os::raw::c_int,
paddingMarker: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetRNNWorkspaceSize(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
sequenceLen: ::std::os::raw::c_int,
xDesc: *const miopenTensorDescriptor_t,
numBytes: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetRNNTrainingReserveSize(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
sequenceLen: ::std::os::raw::c_int,
xDesc: *const miopenTensorDescriptor_t,
numBytes: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetRNNTempSpaceSizes(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
xDesc: miopenSeqTensorDescriptor_t,
fwdMode: miopenRNNFWDMode_t,
workSpaceSize: *mut usize,
reserveSpaceSize: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetRNNParamsSize(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
xDesc: miopenTensorDescriptor_t,
numBytes: *mut usize,
dtype: miopenDataType_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetRNNParamsDescriptor(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
xDesc: miopenTensorDescriptor_t,
wDesc: miopenTensorDescriptor_t,
dtype: miopenDataType_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetRNNInputTensorSize(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
seqLen: ::std::os::raw::c_int,
xDesc: *mut miopenTensorDescriptor_t,
numBytes: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetRNNHiddenTensorSize(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
seqLen: ::std::os::raw::c_int,
xDesc: *mut miopenTensorDescriptor_t,
numBytes: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetRNNLayerParamSize(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
layer: ::std::os::raw::c_int,
xDesc: miopenTensorDescriptor_t,
paramID: ::std::os::raw::c_int,
numBytes: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetRNNLayerBiasSize(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
layer: ::std::os::raw::c_int,
biasID: ::std::os::raw::c_int,
numBytes: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetRNNLayerParam(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
layer: ::std::os::raw::c_int,
xDesc: miopenTensorDescriptor_t,
wDesc: miopenTensorDescriptor_t,
w: *const ::std::os::raw::c_void,
paramID: ::std::os::raw::c_int,
paramDesc: miopenTensorDescriptor_t,
layerParam: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetRNNLayerBias(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
layer: ::std::os::raw::c_int,
xDesc: miopenTensorDescriptor_t,
wDesc: miopenTensorDescriptor_t,
w: *const ::std::os::raw::c_void,
biasID: ::std::os::raw::c_int,
biasDesc: miopenTensorDescriptor_t,
layerBias: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetRNNLayerParamOffset(
rnnDesc: miopenRNNDescriptor_t,
layer: ::std::os::raw::c_int,
xDesc: miopenTensorDescriptor_t,
paramID: ::std::os::raw::c_int,
paramDesc: miopenTensorDescriptor_t,
layerParamOffset: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetRNNLayerBiasOffset(
rnnDesc: miopenRNNDescriptor_t,
layer: ::std::os::raw::c_int,
xDesc: miopenTensorDescriptor_t,
biasID: ::std::os::raw::c_int,
biasDesc: miopenTensorDescriptor_t,
layerBiasOffset: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetRNNLayerParam(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
layer: ::std::os::raw::c_int,
xDesc: miopenTensorDescriptor_t,
wDesc: miopenTensorDescriptor_t,
w: *mut ::std::os::raw::c_void,
paramID: ::std::os::raw::c_int,
paramDesc: miopenTensorDescriptor_t,
layerParam: *const ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetRNNLayerBias(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
layer: ::std::os::raw::c_int,
xDesc: miopenTensorDescriptor_t,
wDesc: miopenTensorDescriptor_t,
w: *mut ::std::os::raw::c_void,
biasID: ::std::os::raw::c_int,
biasDesc: miopenTensorDescriptor_t,
layerBias: *const ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetRNNPaddingMode(
rnnDesc: miopenRNNDescriptor_t,
paddingMode: miopenRNNPaddingMode_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetRNNPaddingMode(
rnnDesc: miopenRNNDescriptor_t,
paddingMode: *mut miopenRNNPaddingMode_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenRNNForward(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
fwdMode: miopenRNNFWDMode_t,
xDesc: miopenSeqTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
hDesc: miopenTensorDescriptor_t,
hx: *const ::std::os::raw::c_void,
hy: *mut ::std::os::raw::c_void,
cDesc: miopenTensorDescriptor_t,
cx: *const ::std::os::raw::c_void,
cy: *mut ::std::os::raw::c_void,
yDesc: miopenSeqTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
w: *const ::std::os::raw::c_void,
weightSpaceSize: usize,
workSpace: *mut ::std::os::raw::c_void,
workSpaceNumBytes: usize,
reserveSpace: *mut ::std::os::raw::c_void,
reserveSpaceNumBytes: usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenRNNBackwardSeqData(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
yDesc: miopenSeqTensorDescriptor_t,
y: *const ::std::os::raw::c_void,
dy: *const ::std::os::raw::c_void,
hDesc: miopenTensorDescriptor_t,
hx: *const ::std::os::raw::c_void,
dhy: *const ::std::os::raw::c_void,
dhx: *mut ::std::os::raw::c_void,
cDesc: miopenTensorDescriptor_t,
cx: *const ::std::os::raw::c_void,
dcy: *const ::std::os::raw::c_void,
dcx: *mut ::std::os::raw::c_void,
xDesc: miopenSeqTensorDescriptor_t,
dx: *mut ::std::os::raw::c_void,
w: *const ::std::os::raw::c_void,
weightSpaceSize: usize,
workSpace: *mut ::std::os::raw::c_void,
workSpaceNumBytes: usize,
reserveSpace: *mut ::std::os::raw::c_void,
reserveSpaceNumBytes: usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenRNNBackwardWeightsSeqTensor(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
xDesc: miopenSeqTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
hDesc: miopenTensorDescriptor_t,
hx: *const ::std::os::raw::c_void,
yDesc: miopenSeqTensorDescriptor_t,
y: *const ::std::os::raw::c_void,
dw: *mut ::std::os::raw::c_void,
weightSpaceSize: usize,
workSpace: *mut ::std::os::raw::c_void,
workSpaceNumBytes: usize,
reserveSpace: *const ::std::os::raw::c_void,
reserveSpaceNumBytes: usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenRNNForwardTraining(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
sequenceLen: ::std::os::raw::c_int,
xDesc: *const miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
hxDesc: miopenTensorDescriptor_t,
hx: *const ::std::os::raw::c_void,
cxDesc: miopenTensorDescriptor_t,
cx: *const ::std::os::raw::c_void,
wDesc: miopenTensorDescriptor_t,
w: *const ::std::os::raw::c_void,
yDesc: *const miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
hyDesc: miopenTensorDescriptor_t,
hy: *mut ::std::os::raw::c_void,
cyDesc: miopenTensorDescriptor_t,
cy: *mut ::std::os::raw::c_void,
workSpace: *mut ::std::os::raw::c_void,
workSpaceNumBytes: usize,
reserveSpace: *mut ::std::os::raw::c_void,
reserveSpaceNumBytes: usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenRNNBackwardData(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
sequenceLen: ::std::os::raw::c_int,
yDesc: *const miopenTensorDescriptor_t,
y: *const ::std::os::raw::c_void,
dyDesc: *const miopenTensorDescriptor_t,
dy: *const ::std::os::raw::c_void,
dhyDesc: miopenTensorDescriptor_t,
dhy: *const ::std::os::raw::c_void,
dcyDesc: miopenTensorDescriptor_t,
dcy: *const ::std::os::raw::c_void,
wDesc: miopenTensorDescriptor_t,
w: *const ::std::os::raw::c_void,
hxDesc: miopenTensorDescriptor_t,
hx: *const ::std::os::raw::c_void,
cxDesc: miopenTensorDescriptor_t,
cx: *const ::std::os::raw::c_void,
dxDesc: *const miopenTensorDescriptor_t,
dx: *mut ::std::os::raw::c_void,
dhxDesc: miopenTensorDescriptor_t,
dhx: *mut ::std::os::raw::c_void,
dcxDesc: miopenTensorDescriptor_t,
dcx: *mut ::std::os::raw::c_void,
workSpace: *mut ::std::os::raw::c_void,
workSpaceNumBytes: usize,
reserveSpace: *mut ::std::os::raw::c_void,
reserveSpaceNumBytes: usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenRNNBackwardWeights(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
sequenceLen: ::std::os::raw::c_int,
xDesc: *const miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
hxDesc: miopenTensorDescriptor_t,
hx: *const ::std::os::raw::c_void,
yDesc: *const miopenTensorDescriptor_t,
y: *const ::std::os::raw::c_void,
dwDesc: miopenTensorDescriptor_t,
dw: *mut ::std::os::raw::c_void,
workSpace: *mut ::std::os::raw::c_void,
workSpaceNumBytes: usize,
reserveSpace: *const ::std::os::raw::c_void,
reserveSpaceNumBytes: usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenRNNForwardInference(
handle: miopenHandle_t,
rnnDesc: miopenRNNDescriptor_t,
sequenceLen: ::std::os::raw::c_int,
xDesc: *const miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
hxDesc: miopenTensorDescriptor_t,
hx: *const ::std::os::raw::c_void,
cxDesc: miopenTensorDescriptor_t,
cx: *const ::std::os::raw::c_void,
wDesc: miopenTensorDescriptor_t,
w: *const ::std::os::raw::c_void,
yDesc: *const miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
hyDesc: miopenTensorDescriptor_t,
hy: *mut ::std::os::raw::c_void,
cyDesc: miopenTensorDescriptor_t,
cy: *mut ::std::os::raw::c_void,
workSpace: *mut ::std::os::raw::c_void,
workSpaceNumBytes: usize,
) -> miopenStatus_t;
}
pub const miopenCTCLossAlgo_t_MIOPEN_CTC_LOSS_ALGO_DETERMINISTIC: miopenCTCLossAlgo_t = 0;
pub type miopenCTCLossAlgo_t = ::std::os::raw::c_uint;
unsafe extern "C" {
pub fn miopenCreateCTCLossDescriptor(
ctcLossDesc: *mut miopenCTCLossDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetCTCLossDescriptor(
ctcLossDesc: miopenCTCLossDescriptor_t,
dataType: *mut miopenDataType_t,
blank_label_id: *mut ::std::os::raw::c_int,
apply_softmax_layer: *mut bool,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDestroyCTCLossDescriptor(ctcLossDesc: miopenCTCLossDescriptor_t)
-> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetCTCLossDescriptor(
ctcLossDesc: miopenCTCLossDescriptor_t,
dataType: miopenDataType_t,
blank_label_id: ::std::os::raw::c_int,
apply_softmax_layer: bool,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetCTCLossWorkspaceSize(
handle: miopenHandle_t,
probsDesc: miopenTensorDescriptor_t,
gradientsDesc: miopenTensorDescriptor_t,
labels: *const ::std::os::raw::c_int,
labelLengths: *const ::std::os::raw::c_int,
inputLengths: *const ::std::os::raw::c_int,
algo: miopenCTCLossAlgo_t,
ctcLossDesc: miopenCTCLossDescriptor_t,
workSpaceSize: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCTCLoss(
handle: miopenHandle_t,
probsDesc: miopenTensorDescriptor_t,
probs: *const ::std::os::raw::c_void,
labels: *const ::std::os::raw::c_int,
labelLengths: *const ::std::os::raw::c_int,
inputLengths: *const ::std::os::raw::c_int,
losses: *mut ::std::os::raw::c_void,
gradientsDesc: miopenTensorDescriptor_t,
gradients: *mut ::std::os::raw::c_void,
algo: miopenCTCLossAlgo_t,
ctcLossDesc: miopenCTCLossDescriptor_t,
workSpace: *mut ::std::os::raw::c_void,
workSpaceSize: usize,
) -> miopenStatus_t;
}
pub const miopenRNGType_t_MIOPEN_RNG_PSEUDO_XORWOW: miopenRNGType_t = 0;
pub type miopenRNGType_t = ::std::os::raw::c_uint;
unsafe extern "C" {
pub fn miopenCreateDropoutDescriptor(
dropoutDesc: *mut miopenDropoutDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDestroyDropoutDescriptor(dropoutDesc: miopenDropoutDescriptor_t)
-> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDropoutGetReserveSpaceSize(
xDesc: miopenTensorDescriptor_t,
reserveSpaceSizeInBytes: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDropoutGetStatesSize(
handle: miopenHandle_t,
stateSizeInBytes: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetDropoutDescriptor(
dropoutDesc: miopenDropoutDescriptor_t,
handle: miopenHandle_t,
dropout: *mut f32,
states: *mut *mut ::std::os::raw::c_void,
seed: *mut ::std::os::raw::c_ulonglong,
use_mask: *mut bool,
state_evo: *mut bool,
rng_mode: *mut miopenRNGType_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenRestoreDropoutDescriptor(
dropoutDesc: miopenDropoutDescriptor_t,
handle: miopenHandle_t,
dropout: f32,
states: *mut ::std::os::raw::c_void,
stateSizeInBytes: usize,
seed: ::std::os::raw::c_ulonglong,
use_mask: bool,
state_evo: bool,
rng_mode: miopenRNGType_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetDropoutDescriptor(
dropoutDesc: miopenDropoutDescriptor_t,
handle: miopenHandle_t,
dropout: f32,
states: *mut ::std::os::raw::c_void,
stateSizeInBytes: usize,
seed: ::std::os::raw::c_ulonglong,
use_mask: bool,
state_evo: bool,
rng_mode: miopenRNGType_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDropoutForward(
handle: miopenHandle_t,
dropoutDesc: miopenDropoutDescriptor_t,
noise_shape: miopenTensorDescriptor_t,
xDesc: miopenTensorDescriptor_t,
x: *const ::std::os::raw::c_void,
yDesc: miopenTensorDescriptor_t,
y: *mut ::std::os::raw::c_void,
reserveSpace: *mut ::std::os::raw::c_void,
reserveSpaceSizeInBytes: usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDropoutBackward(
handle: miopenHandle_t,
dropoutDesc: miopenDropoutDescriptor_t,
noise_shape: miopenTensorDescriptor_t,
dyDesc: miopenTensorDescriptor_t,
dy: *const ::std::os::raw::c_void,
dxDesc: miopenTensorDescriptor_t,
dx: *mut ::std::os::raw::c_void,
reserveSpace: *mut ::std::os::raw::c_void,
reserveSpaceSizeInBytes: usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCreateReduceTensorDescriptor(
reduceTensorDesc: *mut miopenReduceTensorDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDestroyReduceTensorDescriptor(
reduceTensorDesc: miopenReduceTensorDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetReduceTensorDescriptor(
reduceTensorDesc: miopenReduceTensorDescriptor_t,
reduceTensorOp: miopenReduceTensorOp_t,
reduceTensorCompType: miopenDataType_t,
reduceTensorNanOpt: miopenNanPropagation_t,
reduceTensorIndices: miopenReduceTensorIndices_t,
reduceTensorIndicesType: miopenIndicesType_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetReduceTensorDescriptor(
reduceTensorDesc: miopenReduceTensorDescriptor_t,
reduceTensorOp: *mut miopenReduceTensorOp_t,
reduceTensorCompType: *mut miopenDataType_t,
reduceTensorNanOpt: *mut miopenNanPropagation_t,
reduceTensorIndices: *mut miopenReduceTensorIndices_t,
reduceTensorIndicesType: *mut miopenIndicesType_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetReductionIndicesSize(
handle: miopenHandle_t,
reduceTensorDesc: miopenReduceTensorDescriptor_t,
aDesc: miopenTensorDescriptor_t,
cDesc: miopenTensorDescriptor_t,
sizeInBytes: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetReductionWorkspaceSize(
handle: miopenHandle_t,
reduceTensorDesc: miopenReduceTensorDescriptor_t,
aDesc: miopenTensorDescriptor_t,
cDesc: miopenTensorDescriptor_t,
sizeInBytes: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenReduceTensor(
handle: miopenHandle_t,
reduceTensorDesc: miopenReduceTensorDescriptor_t,
indices: *mut ::std::os::raw::c_void,
indicesSizeInBytes: usize,
workspace: *mut ::std::os::raw::c_void,
workspaceSizeInBytes: usize,
alpha: *const ::std::os::raw::c_void,
aDesc: miopenTensorDescriptor_t,
A: *const ::std::os::raw::c_void,
beta: *const ::std::os::raw::c_void,
cDesc: miopenTensorDescriptor_t,
C: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenProblem {
pub _address: u8,
}
pub type miopenProblem_t = *mut miopenProblem;
pub const miopenProblemDirection_t_miopenProblemDirectionForward: miopenProblemDirection_t = 0;
pub const miopenProblemDirection_t_miopenProblemDirectionBackward: miopenProblemDirection_t = 1;
pub const miopenProblemDirection_t_miopenProblemDirectionBackwardWeights: miopenProblemDirection_t =
2;
pub type miopenProblemDirection_t = ::std::os::raw::c_uint;
pub const miopenTensorArgumentId_t_miopenTensorArgumentIdInvalid: miopenTensorArgumentId_t = 0;
pub const miopenTensorArgumentId_t_miopenTensorConvolutionX: miopenTensorArgumentId_t = 1;
pub const miopenTensorArgumentId_t_miopenTensorConvolutionW: miopenTensorArgumentId_t = 2;
pub const miopenTensorArgumentId_t_miopenTensorConvolutionY: miopenTensorArgumentId_t = 3;
pub const miopenTensorArgumentId_t_miopenTensorMhaK: miopenTensorArgumentId_t = 4;
pub const miopenTensorArgumentId_t_miopenTensorMhaQ: miopenTensorArgumentId_t = 5;
pub const miopenTensorArgumentId_t_miopenTensorMhaV: miopenTensorArgumentId_t = 6;
pub const miopenTensorArgumentId_t_miopenTensorMhaDescaleK: miopenTensorArgumentId_t = 7;
pub const miopenTensorArgumentId_t_miopenTensorMhaDescaleQ: miopenTensorArgumentId_t = 8;
pub const miopenTensorArgumentId_t_miopenTensorMhaDescaleV: miopenTensorArgumentId_t = 9;
pub const miopenTensorArgumentId_t_miopenTensorMhaDescaleS: miopenTensorArgumentId_t = 10;
pub const miopenTensorArgumentId_t_miopenTensorMhaScaleS: miopenTensorArgumentId_t = 11;
pub const miopenTensorArgumentId_t_miopenTensorMhaScaleO: miopenTensorArgumentId_t = 12;
pub const miopenTensorArgumentId_t_miopenTensorMhaDropoutProbability: miopenTensorArgumentId_t = 13;
pub const miopenTensorArgumentId_t_miopenTensorMhaDropoutSeed: miopenTensorArgumentId_t = 14;
pub const miopenTensorArgumentId_t_miopenTensorMhaDropoutOffset: miopenTensorArgumentId_t = 15;
pub const miopenTensorArgumentId_t_miopenTensorMhaO: miopenTensorArgumentId_t = 16;
pub const miopenTensorArgumentId_t_miopenTensorMhaAmaxO: miopenTensorArgumentId_t = 17;
pub const miopenTensorArgumentId_t_miopenTensorMhaAmaxS: miopenTensorArgumentId_t = 18;
pub const miopenTensorArgumentId_t_miopenTensorMhaM: miopenTensorArgumentId_t = 19;
pub const miopenTensorArgumentId_t_miopenTensorMhaZInv: miopenTensorArgumentId_t = 20;
pub const miopenTensorArgumentId_t_miopenTensorMhaDO: miopenTensorArgumentId_t = 21;
pub const miopenTensorArgumentId_t_miopenTensorMhaDescaleO: miopenTensorArgumentId_t = 22;
pub const miopenTensorArgumentId_t_miopenTensorMhaDescaleDO: miopenTensorArgumentId_t = 23;
pub const miopenTensorArgumentId_t_miopenTensorMhaDescaleDS: miopenTensorArgumentId_t = 24;
pub const miopenTensorArgumentId_t_miopenTensorMhaScaleDS: miopenTensorArgumentId_t = 25;
pub const miopenTensorArgumentId_t_miopenTensorMhaScaleDQ: miopenTensorArgumentId_t = 26;
pub const miopenTensorArgumentId_t_miopenTensorMhaScaleDK: miopenTensorArgumentId_t = 27;
pub const miopenTensorArgumentId_t_miopenTensorMhaScaleDV: miopenTensorArgumentId_t = 28;
pub const miopenTensorArgumentId_t_miopenTensorMhaDQ: miopenTensorArgumentId_t = 29;
pub const miopenTensorArgumentId_t_miopenTensorMhaDK: miopenTensorArgumentId_t = 30;
pub const miopenTensorArgumentId_t_miopenTensorMhaDV: miopenTensorArgumentId_t = 31;
pub const miopenTensorArgumentId_t_miopenTensorMhaAmaxDQ: miopenTensorArgumentId_t = 32;
pub const miopenTensorArgumentId_t_miopenTensorMhaAmaxDK: miopenTensorArgumentId_t = 33;
pub const miopenTensorArgumentId_t_miopenTensorMhaAmaxDV: miopenTensorArgumentId_t = 34;
pub const miopenTensorArgumentId_t_miopenTensorMhaAmaxDS: miopenTensorArgumentId_t = 35;
pub const miopenTensorArgumentId_t_miopenTensorMhaBias: miopenTensorArgumentId_t = 36;
pub const miopenTensorArgumentId_t_miopenTensorArgumentIsScalar: miopenTensorArgumentId_t =
2147483648;
pub const miopenTensorArgumentId_t_miopenTensorMhaMask: miopenTensorArgumentId_t = 2147483649;
pub type miopenTensorArgumentId_t = ::std::os::raw::c_uint;
pub const miopenFindResultsOrder_t_miopenFindResultsOrderByTime: miopenFindResultsOrder_t = 0;
pub const miopenFindResultsOrder_t_miopenFindResultsOrderByWorkspaceSize: miopenFindResultsOrder_t =
1;
pub type miopenFindResultsOrder_t = ::std::os::raw::c_uint;
unsafe extern "C" {
pub fn miopenCreateConvProblem(
problem: *mut miopenProblem_t,
operatorDesc: miopenConvolutionDescriptor_t,
direction: miopenProblemDirection_t,
) -> miopenStatus_t;
}
pub const miopenMhaMask_t_miopenMhaMaskNone: miopenMhaMask_t = 0;
pub const miopenMhaMask_t_miopenMhaMaskCausal: miopenMhaMask_t = 1;
pub type miopenMhaMask_t = ::std::os::raw::c_uint;
unsafe extern "C" {
pub fn miopenCreateMhaProblem(
problem: *mut miopenProblem_t,
operatorDesc: miopenMhaDescriptor_t,
direction: miopenProblemDirection_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCreateMhaDescriptor(mhaDesc: *mut miopenMhaDescriptor_t) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetMhaDescriptor(mhaDesc: miopenMhaDescriptor_t, scale: f32) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetMhaDescriptor(
mhaDesc: miopenMhaDescriptor_t,
scale: *mut f32,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenCreateSoftmaxDescriptor(
softmaxDesc: *mut miopenSoftmaxDescriptor_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetSoftmaxDescriptor(
softmaxDesc: miopenSoftmaxDescriptor_t,
alpha: f32,
beta: f32,
algorithm: miopenSoftmaxAlgorithm_t,
mode: miopenSoftmaxMode_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetSoftmaxDescriptor(
softmaxDesc: miopenSoftmaxDescriptor_t,
alpha: *mut f32,
beta: *mut f32,
algorithm: *mut miopenSoftmaxAlgorithm_t,
mode: *mut miopenSoftmaxMode_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDestroyProblem(problem: miopenProblem_t) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetProblemTensorDescriptor(
problem: miopenProblem_t,
id: miopenTensorArgumentId_t,
descriptor: miopenTensorDescriptor_t,
) -> miopenStatus_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenFindOptions {
pub _address: u8,
}
pub type miopenFindOptions_t = *mut miopenFindOptions;
unsafe extern "C" {
pub fn miopenCreateFindOptions(options: *mut miopenFindOptions_t) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDestroyFindOptions(options: miopenFindOptions_t) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetFindOptionTuning(
options: miopenFindOptions_t,
value: ::std::os::raw::c_int,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetFindOptionResultsOrder(
options: miopenFindOptions_t,
value: miopenFindResultsOrder_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetFindOptionWorkspaceLimit(
options: miopenFindOptions_t,
value: usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetFindOptionPreallocatedWorkspace(
options: miopenFindOptions_t,
buffer: *mut ::std::os::raw::c_void,
size: usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetFindOptionPreallocatedTensor(
options: miopenFindOptions_t,
id: miopenTensorArgumentId_t,
buffer: *mut ::std::os::raw::c_void,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSetFindOptionAttachBinaries(
options: miopenFindOptions_t,
attach: ::std::os::raw::c_uint,
) -> miopenStatus_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenSolution {
pub _address: u8,
}
pub type miopenSolution_t = *mut miopenSolution;
unsafe extern "C" {
pub fn miopenFindSolutions(
handle: miopenHandle_t,
problem: miopenProblem_t,
options: miopenFindOptions_t,
solutions: *mut miopenSolution_t,
numSolutions: *mut usize,
maxSolutions: usize,
) -> miopenStatus_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct miopenTensorArgument_t {
pub id: miopenTensorArgumentId_t,
pub descriptor: *mut miopenTensorDescriptor_t,
pub buffer: *mut ::std::os::raw::c_void,
}
unsafe extern "C" {
pub fn miopenRunSolution(
handle: miopenHandle_t,
solution: miopenSolution_t,
nInputs: usize,
tensors: *const miopenTensorArgument_t,
workspace: *mut ::std::os::raw::c_void,
workspaceSize: usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenDestroySolution(solution: miopenSolution_t) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenLoadSolution(
solution: *mut miopenSolution_t,
data: *const ::std::os::raw::c_char,
size: usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenSaveSolution(
solution: miopenSolution_t,
data: *mut ::std::os::raw::c_char,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetSolutionSize(solution: miopenSolution_t, size: *mut usize) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetSolutionWorkspaceSize(
solution: miopenSolution_t,
workspaceSize: *mut usize,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetSolutionTime(solution: miopenSolution_t, time: *mut f32) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetSolutionSolverId(
solution: miopenSolution_t,
solverId: *mut u64,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetSolverIdConvAlgorithm(
solverId: u64,
result: *mut miopenConvAlgorithm_t,
) -> miopenStatus_t;
}
pub const miopenTuningPolicy_t_miopenTuningPolicyNone: miopenTuningPolicy_t = 1;
pub const miopenTuningPolicy_t_miopenTuningPolicyDbUpdate: miopenTuningPolicy_t = 2;
pub const miopenTuningPolicy_t_miopenTuningPolicySearch: miopenTuningPolicy_t = 3;
pub const miopenTuningPolicy_t_miopenTuningPolicySearchDbUpdate: miopenTuningPolicy_t = 4;
pub const miopenTuningPolicy_t_miopenTuningPolicyDbClean: miopenTuningPolicy_t = 5;
pub type miopenTuningPolicy_t = ::std::os::raw::c_uint;
unsafe extern "C" {
pub fn miopenSetTuningPolicy(
handle: miopenHandle_t,
newValue: miopenTuningPolicy_t,
) -> miopenStatus_t;
}
unsafe extern "C" {
pub fn miopenGetTuningPolicy(
handle: miopenHandle_t,
value: *mut miopenTuningPolicy_t,
) -> miopenStatus_t;
}