aboutsummaryrefslogtreecommitdiff
path: root/example/sysinfo/odp_sysinfo.c
diff options
context:
space:
mode:
Diffstat (limited to 'example/sysinfo/odp_sysinfo.c')
-rw-r--r--example/sysinfo/odp_sysinfo.c50
1 files changed, 45 insertions, 5 deletions
diff --git a/example/sysinfo/odp_sysinfo.c b/example/sysinfo/odp_sysinfo.c
index 151388263..df33f45cf 100644
--- a/example/sysinfo/odp_sysinfo.c
+++ b/example/sysinfo/odp_sysinfo.c
@@ -1,10 +1,17 @@
-/* Copyright (c) 2018, Linaro Limited
- * Copyright (c) 2022-2023, Nokia
- * All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright (c) 2018 Linaro Limited
+ * Copyright (c) 2022-2023 Nokia
*/
+ /**
+ * @example odp_sysinfo.c
+ *
+ * Example application which queries and prints out various system information
+ * and capabilities which are available through ODP APIs.
+ *
+ * @cond _ODP_HIDE_FROM_DOXYGEN_
+ */
+
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif
@@ -739,6 +746,7 @@ int main(int argc, char **argv)
odp_ipsec_capability_t ipsec_capa;
odp_schedule_capability_t schedule_capa;
odp_stash_capability_t stash_capa;
+ odp_ml_capability_t ml_capa;
appl_args_t appl_args;
uint64_t huge_page[MAX_HUGE_PAGES];
char ava_mask_str[ODP_CPUMASK_STR_SIZE];
@@ -854,6 +862,11 @@ int main(int argc, char **argv)
exit(EXIT_FAILURE);
}
+ if (odp_ml_capability(&ml_capa)) {
+ ODPH_ERR("ml capability failed\n");
+ exit(EXIT_FAILURE);
+ }
+
crypto_ret = odp_crypto_capability(&crypto_capa);
if (crypto_ret < 0)
ODPH_ERR("crypto capability failed\n");
@@ -1066,6 +1079,33 @@ int main(int argc, char **argv)
printf(" max_put_batch: %u\n", stash_capa.max_put_batch);
printf(" stats: 0x%" PRIx64 "\n", stash_capa.stats.all);
+ printf("\n");
+ printf(" ML\n");
+ printf(" max_models: %u\n", ml_capa.max_models);
+ printf(" max_models_loaded: %u\n", ml_capa.max_models_loaded);
+ printf(" max_model_size: %" PRIu64 "B\n", ml_capa.max_model_size);
+ printf(" max_compl_id: %u\n", ml_capa.max_compl_id);
+ printf(" max_inputs: %u\n", ml_capa.max_inputs);
+ printf(" max_outputs: %u\n", ml_capa.max_outputs);
+ printf(" max_segs_per_input: %u\n", ml_capa.max_segs_per_input);
+ printf(" max_segs_per_output: %u\n", ml_capa.max_segs_per_output);
+ printf(" min_input_align: %u\n", ml_capa.min_input_align);
+ printf(" min_output_align: %u\n", ml_capa.min_output_align);
+ printf(" packed_input_data: %u\n", ml_capa.packed_input_data);
+ printf(" packed_output_data: %u\n", ml_capa.packed_output_data);
+ printf(" load.compl_mode_mask: 0x%x\n", ml_capa.load.compl_mode_mask);
+ printf(" load.compl_queue_plain: %i\n", ml_capa.load.compl_queue_plain);
+ printf(" load.compl_queue_sched: %i\n", ml_capa.load.compl_queue_sched);
+ printf(" run.compl_mode_mask: 0x%x\n", ml_capa.run.compl_mode_mask);
+ printf(" run.compl_queue_plain: %i\n", ml_capa.run.compl_queue_plain);
+ printf(" run.compl_queue_sched: %i\n", ml_capa.run.compl_queue_sched);
+ printf(" pool.max_pools: %u\n", ml_capa.pool.max_pools);
+ printf(" pool.max_num: %u\n", ml_capa.pool.max_num);
+ printf(" pool.max_uarea_size: %u B\n", ml_capa.pool.max_uarea_size);
+ printf(" pool.uarea_persistence: %u\n", ml_capa.pool.uarea_persistence);
+ printf(" pool.min_cache_size: %u\n", ml_capa.pool.min_cache_size);
+ printf(" pool.max_cache_size: %u\n", ml_capa.pool.max_cache_size);
+
print_timer_capa(&appl_args);
if (crypto_ret == 0) {