| // Copyright 2020 Google LLC |
| // |
| // This source code is licensed under the BSD-style license found in the |
| // LICENSE file in the root directory of this source tree. |
| |
| #include <math.h> |
| #include <stdlib.h> |
| |
| #include <xnnpack.h> |
| |
| |
| // A dummy program that calls every Subgraph API function in XNNPACK, for size estimation. |
| int main(int argc, char** argv) { |
| int function_idx = 0; |
| if (argc >= 2) { |
| function_idx = atoi(argv[1]); |
| } |
| |
| xnn_initialize(NULL /* allocator */); |
| |
| switch (function_idx) { |
| case 0: |
| xnn_create_subgraph(0, 0, NULL); |
| break; |
| case 1: |
| xnn_delete_subgraph(NULL); |
| break; |
| case 2: |
| xnn_define_tensor_value(NULL, xnn_datatype_invalid, 0, NULL, NULL, 0, 0, NULL); |
| break; |
| case 3: |
| xnn_define_convolution_2d( |
| NULL, |
| 0, 0, 0, 0, |
| 0, 0, |
| 0, 0, |
| 0, 0, |
| 0, 0, 0, |
| 0.0f, 0.0f, |
| 0, 0, 0, 0, 0); |
| break; |
| case 4: |
| xnn_define_depthwise_convolution_2d( |
| NULL, |
| 0, 0, 0, 0, |
| 0, 0, |
| 0, 0, |
| 0, 0, |
| 0, 0, |
| 0.0f, 0.0f, |
| 0, 0, 0, 0, 0); |
| break; |
| case 5: |
| xnn_define_average_pooling_2d( |
| NULL, |
| 0, 0, 0, 0, |
| 0, 0, |
| 0, 0, |
| 0.0f, 0.0f, |
| 0, 0, 0); |
| break; |
| case 6: |
| xnn_define_max_pooling_2d( |
| NULL, |
| 0, 0, 0, 0, |
| 0, 0, |
| 0, 0, |
| 0, 0, |
| 0.0f, 0.0f, |
| 0, 0, 0); |
| break; |
| case 7: |
| xnn_define_add2(NULL, 0.0f, 0.0f, 0, 0, 0, 0); |
| break; |
| case 8: |
| xnn_define_multiply2(NULL, 0.0f, 0.0f, 0, 0, 0, 0); |
| break; |
| case 9: |
| xnn_define_prelu(NULL, 0, 0, 0, 0); |
| break; |
| case 10: |
| xnn_define_clamp(NULL, 0.0f, 0.0f, 0, 0, 0); |
| break; |
| case 11: |
| xnn_define_hardswish(NULL, 0, 0, 0); |
| break; |
| case 12: |
| xnn_define_sigmoid(NULL, 0, 0, 0); |
| break; |
| case 13: |
| xnn_define_softmax(NULL, 0, 0, 0); |
| break; |
| case 14: |
| xnn_create_runtime_v2(NULL, NULL, 0, NULL); |
| break; |
| case 15: |
| xnn_setup_runtime(NULL, 0, NULL); |
| break; |
| case 16: |
| xnn_invoke_runtime(NULL); |
| break; |
| case 17: |
| xnn_delete_runtime(NULL); |
| break; |
| case 18: |
| xnn_define_depth_to_space(NULL, 0, 0, 0, 0); |
| break; |
| } |
| |
| xnn_deinitialize(); |
| } |