diff options
Diffstat (limited to 'example/sysinfo/odp_sysinfo.c')
-rw-r--r-- | example/sysinfo/odp_sysinfo.c | 50 |
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) { |