[1/1] ml/cnxk: enable data caching for TVM models

Message ID 20240107152004.1658-1-syalavarthi@marvell.com (mailing list archive)
State Accepted, archived
Delegated to: Jerin Jacob
Headers
Series [1/1] ml/cnxk: enable data caching for TVM models |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/github-robot: build success github build: passed
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/intel-Functional success Functional PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-unit-arm64-testing success Testing PASS
ci/iol-compile-amd64-testing success Testing PASS
ci/iol-sample-apps-testing success Testing PASS
ci/iol-unit-amd64-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-compile-arm64-testing success Testing PASS

Commit Message

Srikanth Yalavarthi Jan. 7, 2024, 3:20 p.m. UTC
  Enabled data caching for TVM models with MRVL only layers.

Signed-off-by: Srikanth Yalavarthi <syalavarthi@marvell.com>
---
 drivers/ml/cnxk/cn10k_ml_ops.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
  

Comments

Jerin Jacob Jan. 10, 2024, 5:25 p.m. UTC | #1
On Sun, Jan 7, 2024 at 8:50 PM Srikanth Yalavarthi
<syalavarthi@marvell.com> wrote:
>
> Enabled data caching for TVM models with MRVL only layers.
>
> Signed-off-by: Srikanth Yalavarthi <syalavarthi@marvell.com>
> ---
Applied to dpdk-next-net-mrvl/for-main. Thanks
  

Patch

diff --git a/drivers/ml/cnxk/cn10k_ml_ops.c b/drivers/ml/cnxk/cn10k_ml_ops.c
index 53700387335..834e55e88e9 100644
--- a/drivers/ml/cnxk/cn10k_ml_ops.c
+++ b/drivers/ml/cnxk/cn10k_ml_ops.c
@@ -996,8 +996,13 @@  cn10k_ml_layer_start(void *device, uint16_t model_id, const char *layer_name)
 	if (ret < 0) {
 		cn10k_ml_layer_stop(device, model_id, layer_name);
 	} else {
-		if (cn10k_mldev->cache_model_data && model->type == ML_CNXK_MODEL_TYPE_GLOW)
-			ret = cn10k_ml_cache_model_data(cnxk_mldev, layer);
+		if (cn10k_mldev->cache_model_data) {
+			if ((model->type == ML_CNXK_MODEL_TYPE_GLOW &&
+			     model->subtype == ML_CNXK_MODEL_SUBTYPE_GLOW_MRVL) ||
+			    (model->type == ML_CNXK_MODEL_TYPE_TVM &&
+			     model->subtype == ML_CNXK_MODEL_SUBTYPE_TVM_MRVL))
+				ret = cn10k_ml_cache_model_data(cnxk_mldev, layer);
+		}
 	}
 
 	return ret;