xref: /dpdk/app/test-mldev/test_model_common.h (revision 24364292061f197a9f608b1020b6886ec7b1216d)
1f6661e6dSSrikanth Yalavarthi /* SPDX-License-Identifier: BSD-3-Clause
2f6661e6dSSrikanth Yalavarthi  * Copyright (c) 2022 Marvell.
3f6661e6dSSrikanth Yalavarthi  */
4f6661e6dSSrikanth Yalavarthi 
5f6661e6dSSrikanth Yalavarthi #ifndef TEST_MODEL_COMMON_H
6f6661e6dSSrikanth Yalavarthi #define TEST_MODEL_COMMON_H
7f6661e6dSSrikanth Yalavarthi 
8f6661e6dSSrikanth Yalavarthi #include <rte_mldev.h>
9f6661e6dSSrikanth Yalavarthi 
10f6661e6dSSrikanth Yalavarthi #include "test_common.h"
11f6661e6dSSrikanth Yalavarthi 
12f6661e6dSSrikanth Yalavarthi enum model_state {
13f6661e6dSSrikanth Yalavarthi 	MODEL_INITIAL,
14f6661e6dSSrikanth Yalavarthi 	MODEL_LOADED,
15f6661e6dSSrikanth Yalavarthi 	MODEL_STARTED,
16f6661e6dSSrikanth Yalavarthi 	MODEL_ERROR,
17f6661e6dSSrikanth Yalavarthi };
18f6661e6dSSrikanth Yalavarthi 
19f6661e6dSSrikanth Yalavarthi struct ml_model {
20f6661e6dSSrikanth Yalavarthi 	uint16_t id;
21f6661e6dSSrikanth Yalavarthi 	struct rte_ml_model_info info;
22f6661e6dSSrikanth Yalavarthi 	enum model_state state;
23bbd272edSSrikanth Yalavarthi 
24bbd272edSSrikanth Yalavarthi 	uint64_t inp_dsize;
25bbd272edSSrikanth Yalavarthi 	uint64_t inp_qsize;
26bbd272edSSrikanth Yalavarthi 	uint64_t out_dsize;
27bbd272edSSrikanth Yalavarthi 	uint64_t out_qsize;
28bbd272edSSrikanth Yalavarthi 
29bbd272edSSrikanth Yalavarthi 	uint8_t *input;
30bbd272edSSrikanth Yalavarthi 	uint8_t *output;
31*da679339SSrikanth Yalavarthi 	uint8_t *reference;
32bbd272edSSrikanth Yalavarthi 
33bbd272edSSrikanth Yalavarthi 	struct rte_mempool *io_pool;
34f6661e6dSSrikanth Yalavarthi };
35f6661e6dSSrikanth Yalavarthi 
36f6661e6dSSrikanth Yalavarthi int ml_model_load(struct ml_test *test, struct ml_options *opt, struct ml_model *model,
37f6661e6dSSrikanth Yalavarthi 		  uint16_t fid);
38f6661e6dSSrikanth Yalavarthi int ml_model_unload(struct ml_test *test, struct ml_options *opt, struct ml_model *model,
39f6661e6dSSrikanth Yalavarthi 		    uint16_t fid);
40f6661e6dSSrikanth Yalavarthi int ml_model_start(struct ml_test *test, struct ml_options *opt, struct ml_model *model,
41f6661e6dSSrikanth Yalavarthi 		   uint16_t fid);
42f6661e6dSSrikanth Yalavarthi int ml_model_stop(struct ml_test *test, struct ml_options *opt, struct ml_model *model,
43f6661e6dSSrikanth Yalavarthi 		  uint16_t fid);
44f6661e6dSSrikanth Yalavarthi 
45f6661e6dSSrikanth Yalavarthi #endif /* TEST_MODEL_COMMON_H */
46