1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636

/* automatically generated by rust-bindgen */

pub const CLDNN_SUCCESS: u32 = 0;
pub const CLDNN_ERROR: i32 = -1;
pub const CLDNN_INVALID_ARG: i32 = -2;
pub const CLDNN_OUT_OF_RESOURCES: i32 = -3;
pub const CLDNN_DEVICE_ERROR: i32 = -4;
pub const CLDNN_UNSUPPORTED_SIZE: i32 = -5;
pub const CLDNN_UNSUPPORTED_FORMAT: i32 = -6;
pub const CLDNN_DIMENSION_MISMATCH: i32 = -7;
pub const CLDNN_ALLOC_SIZE_EXCEEDED: i32 = -8;
pub const CLDNN_GLOBAL_SIZE_EXCEEDED: i32 = -9;
pub const CLDNN_FLOAT_TYPE_MASK: u32 = 128;
pub const CLDNN_UINT_TYPE_MASK: u32 = 64;
pub const CLDNN_TENSOR_BATCH_DIM_MAX: u32 = 1;
pub const CLDNN_TENSOR_FEATURE_DIM_MAX: u32 = 1;
pub const CLDNN_TENSOR_SPATIAL_DIM_MAX: u32 = 2;
pub const CLDNN_TENSOR_LOCAL_DIM_MAX: u32 = 2;
pub const CLDNN_TENSOR_DIM_MAX: u32 = 8;


pub type __uint8_t = ::std::os::raw::c_uchar;
pub type __int16_t = ::std::os::raw::c_short;
pub type __uint16_t = ::std::os::raw::c_ushort;
pub type __int32_t = ::std::os::raw::c_int;
pub type __uint32_t = ::std::os::raw::c_uint;
pub type __int64_t = ::std::os::raw::c_long;
pub type __uint64_t = ::std::os::raw::c_ulong;
pub type cldnn_status = i32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_version {
    pub major: i32,
    pub minor: i32,
    pub build: i32,
    pub revision: i32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_engine_impl {
    _unused: [u8; 0],
}
pub type cldnn_engine = *mut cldnn_engine_impl;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_event_impl {
    _unused: [u8; 0],
}
pub type cldnn_event = *mut cldnn_event_impl;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_topology_impl {
    _unused: [u8; 0],
}
pub type cldnn_topology = *mut cldnn_topology_impl;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_program_impl {
    _unused: [u8; 0],
}
pub type cldnn_program = *mut cldnn_program_impl;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_network_impl {
    _unused: [u8; 0],
}
pub type cldnn_network = *mut cldnn_network_impl;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_memory_impl {
    _unused: [u8; 0],
}
pub type cldnn_memory = *mut cldnn_memory_impl;
pub const cldnn_engine_type_cldnn_engine_ocl: cldnn_engine_type = 0;
pub type cldnn_engine_type = u32;
pub const cldnn_priority_mode_type_cldnn_priority_disabled: cldnn_priority_mode_type = 0;
pub const cldnn_priority_mode_type_cldnn_priority_low: cldnn_priority_mode_type = 1;
pub const cldnn_priority_mode_type_cldnn_priority_med: cldnn_priority_mode_type = 2;
pub const cldnn_priority_mode_type_cldnn_priority_high: cldnn_priority_mode_type = 3;
pub type cldnn_priority_mode_type = u32;
pub const cldnn_throttle_mode_type_cldnn_throttle_disabled: cldnn_throttle_mode_type = 0;
pub const cldnn_throttle_mode_type_cldnn_throttle_low: cldnn_throttle_mode_type = 1;
pub const cldnn_throttle_mode_type_cldnn_throttle_med: cldnn_throttle_mode_type = 2;
pub const cldnn_throttle_mode_type_cldnn_throttle_high: cldnn_throttle_mode_type = 3;
pub type cldnn_throttle_mode_type = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_engine_configuration {
    pub enable_profiling: u32,
    pub meaningful_kernels_names: u32,
    pub dump_custom_program: u32,
    pub compiler_options: *const ::std::os::raw::c_char,
    pub single_kernel_name: *const ::std::os::raw::c_char,
    pub enable_parallelisation: u32,
    pub engine_log: *const ::std::os::raw::c_char,
    pub sources_dumps_dir: *const ::std::os::raw::c_char,
    pub priority_mode: i16,
    pub throttle_mode: i16,
    pub enable_memory_pool: u32,
    pub context: *mut ::std::os::raw::c_void,
    pub tuning_cache_path: *const ::std::os::raw::c_char,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_engine_info {
    pub cores_count: u32,
    pub core_frequency: u32,
    pub max_work_group_size: u64,
    pub max_local_mem_size: u64,
    pub max_global_mem_size: u64,
    pub max_alloc_mem_size: u64,
    pub max_image2d_width: u64,
    pub max_image2d_height: u64,
    pub supports_fp16: u8,
    pub supports_fp16_denorms: u8,
    pub supports_subgroups_short: u8,
    pub supports_image: u8,
    pub supports_imad: u8,
    pub supports_immad: u8,
}
pub type cldnn_event_handler =
    ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_profiling_interval {
    pub name: *const ::std::os::raw::c_char,
    pub nanoseconds: u64,
}
pub const cldnn_build_option_type_cldnn_build_option_fusing: cldnn_build_option_type = 0;
pub const cldnn_build_option_type_cldnn_build_option_optimize_data: cldnn_build_option_type = 1;
pub const cldnn_build_option_type_cldnn_build_option_debug: cldnn_build_option_type = 2;
pub const cldnn_build_option_type_cldnn_build_option_outputs: cldnn_build_option_type = 3;
pub const cldnn_build_option_type_cldnn_build_option_tuning_config: cldnn_build_option_type = 4;
pub const cldnn_build_option_type_cldnn_build_option_graph_dumps_dir: cldnn_build_option_type = 5;
pub const cldnn_build_option_type_cldnn_build_option_serialization: cldnn_build_option_type = 6;
pub const cldnn_build_option_type_cldnn_build_option_load_program: cldnn_build_option_type = 7;
pub const cldnn_build_option_type_cldnn_build_option_learning_config: cldnn_build_option_type = 8;
pub const cldnn_build_option_type_cldnn_build_option_detection_output_gpu: cldnn_build_option_type =
    9;
pub type cldnn_build_option_type = u32;
pub const cldnn_tuning_mode_type_cldnn_tuning_disabled: cldnn_tuning_mode_type = 0;
pub const cldnn_tuning_mode_type_cldnn_tuning_use_cache: cldnn_tuning_mode_type = 1;
pub const cldnn_tuning_mode_type_cldnn_tuning_tune_and_cache: cldnn_tuning_mode_type = 2;
pub type cldnn_tuning_mode_type = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_tuning_config {
    pub mode: i32,
    pub cache_file_path: *const ::std::os::raw::c_char,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_learning_params {
    pub momentum: f32,
    pub weights_decay: f32,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_build_option {
    pub type_: i32,
    pub data: *const ::std::os::raw::c_void,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_network_output {
    pub event: cldnn_event,
    pub memory: cldnn_memory,
}
pub const cldnn_format_type_cldnn_format_yxfb: cldnn_format_type = 0;
pub const cldnn_format_type_cldnn_format_byxf: cldnn_format_type = 1;
pub const cldnn_format_type_cldnn_format_bfyx: cldnn_format_type = 2;
pub const cldnn_format_type_cldnn_format_fyxb: cldnn_format_type = 3;
pub const cldnn_format_type_cldnn_format_os_iyx_osv16: cldnn_format_type = 4;
pub const cldnn_format_type_cldnn_format_os_iyx_osv32: cldnn_format_type = 5;
pub const cldnn_format_type_cldnn_format_os_iyx_osv64: cldnn_format_type = 6;
pub const cldnn_format_type_cldnn_format_bs_xs_xsv8_bsv8: cldnn_format_type = 7;
pub const cldnn_format_type_cldnn_format_bs_xs_xsv8_bsv16: cldnn_format_type = 8;
pub const cldnn_format_type_cldnn_format_bs_x_bsv16: cldnn_format_type = 9;
pub const cldnn_format_type_cldnn_format_bf8_xy16: cldnn_format_type = 10;
pub const cldnn_format_type_cldnn_format_image_2d_weights_c4_fyx_b: cldnn_format_type = 11;
pub const cldnn_format_type_cldnn_format_image_2d_weights_c1_b_fyx: cldnn_format_type = 12;
pub const cldnn_format_type_cldnn_format_winograd_2x3_s1_data: cldnn_format_type = 13;
pub const cldnn_format_type_cldnn_format_winograd_2x3_s1_weights: cldnn_format_type = 14;
pub const cldnn_format_type_cldnn_format_winograd_2x3_s1_fused_weights: cldnn_format_type = 15;
pub const cldnn_format_type_cldnn_format_winograd_6x3_s1_fused_weights: cldnn_format_type = 16;
pub const cldnn_format_type_cldnn_format_image_2d_weights_winograd_6x3_s1_fbxyb: cldnn_format_type =
    17;
pub const cldnn_format_type_cldnn_format_image_2d_weights_winograd_6x3_s1_xfbyb: cldnn_format_type =
    18;
pub const cldnn_format_type_cldnn_format_byxf_af32: cldnn_format_type = 19;
pub const cldnn_format_type_cldnn_format_byx8_f4: cldnn_format_type = 20;
pub const cldnn_format_type_cldnn_format_fs_bs_yx_bs4_fs32: cldnn_format_type = 21;
pub const cldnn_format_type_cldnn_format_os_is_yx_isa8_osv8_isv4: cldnn_format_type = 22;
pub const cldnn_format_type_cldnn_format_is_o_yx_isv32: cldnn_format_type = 23;
pub const cldnn_format_type_cldnn_format_os_is_y_x8_osv8_isv4: cldnn_format_type = 24;
pub const cldnn_format_type_cldnn_bf_lyx_yx: cldnn_format_type = 25;
pub const cldnn_format_type_cldnn_format_b_fs_yx_fsv4: cldnn_format_type = 26;
pub const cldnn_format_type_cldnn_format_os_is_yx_osv16_isv4: cldnn_format_type = 27;
pub const cldnn_format_type_cldnn_format_format_num: cldnn_format_type = 28;
pub const cldnn_format_type_cldnn_format_any: cldnn_format_type = -1;
pub type cldnn_format_type = i32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_tensor {
    pub batch_num: usize,
    pub feature_num: usize,
    pub spatial_num: usize,
    pub local_num: usize,
    pub sizes: [i32; 8usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_padding {
    pub lower_size: cldnn_tensor,
    pub upper_size: cldnn_tensor,
    pub filling_value: f32,
}
pub const cldnn_data_type_cldnn_i8: cldnn_data_type = 1;
pub const cldnn_data_type_cldnn_f16: cldnn_data_type = 130;
pub const cldnn_data_type_cldnn_f32: cldnn_data_type = 132;
pub const cldnn_data_type_cldnn_u8: cldnn_data_type = 65;
pub const cldnn_data_type_cldnn_i32: cldnn_data_type = 4;
pub const cldnn_data_type_cldnn_i64: cldnn_data_type = 8;
pub type cldnn_data_type = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_layout {
    pub data_type: usize,
    pub format: i32,
    pub size: cldnn_tensor,
    pub padding: cldnn_padding,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_float_arr {
    pub data: *const f32,
    pub size: usize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_uint16_t_arr {
    pub data: *const u16,
    pub size: usize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_tensor_arr {
    pub data: *const cldnn_tensor,
    pub size: usize,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_primitive_type {
    _unused: [u8; 0],
}
pub type cldnn_primitive_type_id = *const cldnn_primitive_type;
pub type cldnn_primitive_id = *const ::std::os::raw::c_char;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_primitive_id_arr {
    pub data: *const cldnn_primitive_id,
    pub size: usize,
}
pub type cldnn_kernel_code = *const ::std::os::raw::c_char;
pub type cldnn_kernels_code = *mut cldnn_kernel_code;
pub type cldnn_kernel_entry_point = *const ::std::os::raw::c_char;
pub type cldnn_kernel_build_options = *const ::std::os::raw::c_char;
pub type cldnn_work_group_sizes = *const usize;
pub const cldnn_arg_type_t_arg_input: cldnn_arg_type_t = 0;
pub const cldnn_arg_type_t_arg_output: cldnn_arg_type_t = 1;
pub type cldnn_arg_type_t = u32;
pub use self::cldnn_arg_type_t as cldnn_arg_type;
pub type cldnn_arg_index = u32;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_arg_t {
    pub arg_type: cldnn_arg_type,
    pub index: cldnn_arg_index,
}
pub type cldnn_arg = cldnn_arg_t;
pub type cldnn_kernel_arguments = *const cldnn_arg;
pub const cldnn_activation_func_t_activation_none: cldnn_activation_func_t = 0;
pub const cldnn_activation_func_t_activation_logistic: cldnn_activation_func_t = 1;
pub const cldnn_activation_func_t_activation_hyperbolic_tan: cldnn_activation_func_t = 2;
pub const cldnn_activation_func_t_activation_relu: cldnn_activation_func_t = 3;
pub const cldnn_activation_func_t_activation_relu_negative_slope: cldnn_activation_func_t = 4;
pub const cldnn_activation_func_t_activation_clamp: cldnn_activation_func_t = 5;
pub const cldnn_activation_func_t_activation_softrelu: cldnn_activation_func_t = 6;
pub const cldnn_activation_func_t_activation_abs: cldnn_activation_func_t = 7;
pub const cldnn_activation_func_t_activation_linear: cldnn_activation_func_t = 8;
pub const cldnn_activation_func_t_activation_square: cldnn_activation_func_t = 9;
pub const cldnn_activation_func_t_activation_sqrt: cldnn_activation_func_t = 10;
pub const cldnn_activation_func_t_activation_elu: cldnn_activation_func_t = 11;
pub const cldnn_activation_func_t_activation_sin: cldnn_activation_func_t = 12;
pub const cldnn_activation_func_t_activation_asin: cldnn_activation_func_t = 13;
pub const cldnn_activation_func_t_activation_sinh: cldnn_activation_func_t = 14;
pub const cldnn_activation_func_t_activation_cos: cldnn_activation_func_t = 15;
pub const cldnn_activation_func_t_activation_acos: cldnn_activation_func_t = 16;
pub const cldnn_activation_func_t_activation_cosh: cldnn_activation_func_t = 17;
pub const cldnn_activation_func_t_activation_log: cldnn_activation_func_t = 18;
pub const cldnn_activation_func_t_activation_log2: cldnn_activation_func_t = 19;
pub const cldnn_activation_func_t_activation_exp: cldnn_activation_func_t = 20;
pub type cldnn_activation_func_t = u32;
pub use self::cldnn_activation_func_t as cldnn_activation_func;
pub const cldnn_activation_grad_func_t_activation_grad_none: cldnn_activation_grad_func_t = 0;
pub const cldnn_activation_grad_func_t_activation_grad_relu: cldnn_activation_grad_func_t = 1;
pub const cldnn_activation_grad_func_t_activation_grad_relu_negative_slope:
    cldnn_activation_grad_func_t = 2;
pub type cldnn_activation_grad_func_t = u32;
pub use self::cldnn_activation_grad_func_t as cldnn_activation_grad_func;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_activation_additional_params_t {
    pub a: f32,
    pub b: f32,
}
pub type cldnn_activation_additional_params = cldnn_activation_additional_params_t;
pub const cldnn_reorder_mean_mode_t_mean_none: cldnn_reorder_mean_mode_t = 0;
pub const cldnn_reorder_mean_mode_t_mean_subtract: cldnn_reorder_mean_mode_t = 1;
pub const cldnn_reorder_mean_mode_t_mean_mul: cldnn_reorder_mean_mode_t = 2;
pub const cldnn_reorder_mean_mode_t_mean_div: cldnn_reorder_mean_mode_t = 3;
pub type cldnn_reorder_mean_mode_t = u32;
pub use self::cldnn_reorder_mean_mode_t as cldnn_reorder_mean_mode;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct cldnn_primitive_desc {
    pub type_: cldnn_primitive_type_id,
    pub id: cldnn_primitive_id,
    pub input: cldnn_primitive_id_arr,
    pub output_padding: cldnn_padding,
}
extern "C" {
    pub fn cldnn_get_version(status: *mut cldnn_status) -> cldnn_version;
}
extern "C" {
    pub fn cldnn_create_topology(status: *mut cldnn_status) -> cldnn_topology;
}
extern "C" {
    pub fn cldnn_add_primitive(
        topology: cldnn_topology,
        dto: *const cldnn_primitive_desc,
        status: *mut cldnn_status,
    );
}
extern "C" {
    pub fn cldnn_change_input_layout(
        topology: cldnn_topology,
        id: cldnn_primitive_id,
        new_layout: cldnn_layout,
        status: *mut cldnn_status,
    );
}
extern "C" {
    pub fn cldnn_get_primitive_ids(
        topology: cldnn_topology,
        ids: *mut ::std::os::raw::c_char,
        size: usize,
        size_ret: *mut usize,
        status: *mut cldnn_status,
    );
}
extern "C" {
    pub fn cldnn_retain_topology(topology: cldnn_topology, status: *mut cldnn_status);
}
extern "C" {
    pub fn cldnn_release_topology(topology: cldnn_topology, status: *mut cldnn_status);
}
extern "C" {
    pub fn cldnn_get_engine_count(type_: i32, status: *mut cldnn_status) -> u32;
}
extern "C" {
    pub fn cldnn_release_pending_memory(engine: cldnn_engine, status: *mut cldnn_status);
}
extern "C" {
    pub fn cldnn_create_engine(
        type_: i32,
        engine_num: u32,
        configuration: *const cldnn_engine_configuration,
        status: *mut cldnn_status,
    ) -> cldnn_engine;
}
extern "C" {
    pub fn cldnn_retain_engine(engine: cldnn_engine, status: *mut cldnn_status);
}
extern "C" {
    pub fn cldnn_release_engine(engine: cldnn_engine, status: *mut cldnn_status);
}
extern "C" {
    pub fn cldnn_get_engine_info(
        engine: cldnn_engine,
        status: *mut cldnn_status,
    ) -> cldnn_engine_info;
}
extern "C" {
    pub fn cldnn_get_engine_type(engine: cldnn_engine, status: *mut cldnn_status) -> i32;
}
extern "C" {
    pub fn cldnn_get_temp_used_device_memory_size(
        engine: cldnn_engine,
        status: *mut cldnn_status,
    ) -> i64;
}
extern "C" {
    pub fn cldnn_get_max_used_device_memory_size(
        engine: cldnn_engine,
        status: *mut cldnn_status,
    ) -> i64;
}
extern "C" {
    pub fn cldnn_create_user_event(engine: cldnn_engine, status: *mut cldnn_status) -> cldnn_event;
}
extern "C" {
    pub fn cldnn_is_user_event(event: cldnn_event, status: *mut cldnn_status) -> i32;
}
extern "C" {
    pub fn cldnn_retain_event(event: cldnn_event, status: *mut cldnn_status);
}
extern "C" {
    pub fn cldnn_release_event(event: cldnn_event, status: *mut cldnn_status);
}
extern "C" {
    pub fn cldnn_wait_for_event(event: cldnn_event, status: *mut cldnn_status);
}
extern "C" {
    pub fn cldnn_set_event(event: cldnn_event, status: *mut cldnn_status);
}
extern "C" {
    pub fn cldnn_add_event_handler(
        event: cldnn_event,
        handler: cldnn_event_handler,
        param: *mut ::std::os::raw::c_void,
        status: *mut cldnn_status,
    );
}
extern "C" {
    pub fn cldnn_get_event_profiling_info(
        event: cldnn_event,
        profiling: *mut cldnn_profiling_interval,
        size: usize,
        size_ret: *mut usize,
        status: *mut cldnn_status,
    );
}
extern "C" {
    pub fn cldnn_build_program(
        engine: cldnn_engine,
        topology: cldnn_topology,
        options: *mut cldnn_build_option,
        options_num: usize,
        status: *mut cldnn_status,
    ) -> cldnn_program;
}
extern "C" {
    pub fn cldnn_retain_program(program: cldnn_program, status: *mut cldnn_status);
}
extern "C" {
    pub fn cldnn_release_program(program: cldnn_program, status: *mut cldnn_status);
}
extern "C" {
    pub fn cldnn_build_network(
        engine: cldnn_engine,
        topology: cldnn_topology,
        options: *mut cldnn_build_option,
        options_num: usize,
        status: *mut cldnn_status,
    ) -> cldnn_network;
}
extern "C" {
    pub fn cldnn_allocate_network(
        program: cldnn_program,
        status: *mut cldnn_status,
    ) -> cldnn_network;
}
extern "C" {
    pub fn cldnn_retain_network(network: cldnn_network, status: *mut cldnn_status);
}
extern "C" {
    pub fn cldnn_release_network(network: cldnn_network, status: *mut cldnn_status);
}
extern "C" {
    pub fn cldnn_set_network_input(
        network: cldnn_network,
        id: cldnn_primitive_id,
        mem: cldnn_memory,
        status: *mut cldnn_status,
    );
}
extern "C" {
    pub fn cldnn_set_learning_rate(network: cldnn_network, lr: f32, status: *mut cldnn_status);
}
extern "C" {
    pub fn cldnn_get_learning_rate(network: cldnn_network, status: *mut cldnn_status) -> f32;
}
extern "C" {
    pub fn cldnn_get_primitive_info(
        network: cldnn_network,
        id: cldnn_primitive_id,
        info: *mut ::std::os::raw::c_char,
        size: usize,
        size_ret: *mut usize,
        status: *mut cldnn_status,
    );
}
extern "C" {
    pub fn cldnn_get_network_engine(
        network: cldnn_network,
        status: *mut cldnn_status,
    ) -> cldnn_engine;
}
extern "C" {
    pub fn cldnn_get_network_program(
        network: cldnn_network,
        status: *mut cldnn_status,
    ) -> cldnn_program;
}
extern "C" {
    pub fn cldnn_get_network_output_names(
        network: cldnn_network,
        names: *mut ::std::os::raw::c_char,
        size: usize,
        size_ret: *mut usize,
        status: *mut cldnn_status,
    );
}
extern "C" {
    pub fn cldnn_get_network_executed_primitive_names(
        network: cldnn_network,
        names: *mut ::std::os::raw::c_char,
        size: usize,
        size_ret: *mut usize,
        status: *mut cldnn_status,
    );
}
extern "C" {
    pub fn cldnn_get_network_all_primitive_names(
        network: cldnn_network,
        names: *mut ::std::os::raw::c_char,
        size: usize,
        size_ret: *mut usize,
        status: *mut cldnn_status,
    );
}
extern "C" {
    pub fn cldnn_get_network_all_primitive_org_names(
        network: cldnn_network,
        names: *mut ::std::os::raw::c_char,
        size: usize,
        size_ret: *mut usize,
        status: *mut cldnn_status,
    );
}
extern "C" {
    pub fn cldnn_execute_network(
        network: cldnn_network,
        dependencies: *mut cldnn_event,
        deps_num: usize,
        status: *mut cldnn_status,
    );
}
extern "C" {
    pub fn cldnn_get_network_output(
        network: cldnn_network,
        name: *const ::std::os::raw::c_char,
        status: *mut cldnn_status,
    ) -> cldnn_network_output;
}
extern "C" {
    pub fn cldnn_get_network_output_memory(
        network: cldnn_network,
        name: *const ::std::os::raw::c_char,
        status: *mut cldnn_status,
    ) -> cldnn_memory;
}
extern "C" {
    pub fn cldnn_get_network_output_event(
        network: cldnn_network,
        name: *const ::std::os::raw::c_char,
        status: *mut cldnn_status,
    ) -> cldnn_event;
}
extern "C" {
    pub fn cldnn_allocate_memory(
        engine: cldnn_engine,
        layout: cldnn_layout,
        status: *mut cldnn_status,
    ) -> cldnn_memory;
}
extern "C" {
    pub fn cldnn_attach_memory(
        layout: cldnn_layout,
        pointer: *mut ::std::os::raw::c_void,
        size: usize,
        status: *mut cldnn_status,
    ) -> cldnn_memory;
}
extern "C" {
    pub fn cldnn_is_the_same_buffer(
        mem1: cldnn_memory,
        mem2: cldnn_memory,
        status: *mut cldnn_status,
    ) -> i32;
}
extern "C" {
    pub fn cldnn_retain_memory(memory: cldnn_memory, status: *mut cldnn_status);
}
extern "C" {
    pub fn cldnn_release_memory(memory: cldnn_memory, status: *mut cldnn_status);
}
extern "C" {
    pub fn cldnn_lock_memory(
        memory: cldnn_memory,
        status: *mut cldnn_status,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn cldnn_unlock_memory(memory: cldnn_memory, status: *mut cldnn_status);
}
extern "C" {
    pub fn cldnn_get_memory_layout(memory: cldnn_memory, status: *mut cldnn_status)
        -> cldnn_layout;
}
extern "C" {
    pub fn cldnn_get_memory_engine(memory: cldnn_memory, status: *mut cldnn_status)
        -> cldnn_engine;
}
extern "C" {
    pub fn cldnn_float_to_half(arg1: f32, arg2: *mut cldnn_status) -> u16;
}
extern "C" {
    pub fn cldnn_half_to_float(arg1: u16, arg2: *mut cldnn_status) -> f32;
}
extern "C" {
    pub fn cldnn_get_last_error_message() -> *const ::std::os::raw::c_char;
}